summaryrefslogtreecommitdiff
path: root/fw/midi-dials/build
diff options
context:
space:
mode:
Diffstat (limited to 'fw/midi-dials/build')
-rw-r--r--fw/midi-dials/build/curebuffer.d4
-rw-r--r--fw/midi-dials/build/curebuffer.lst1319
-rw-r--r--fw/midi-dials/build/curebuffer.obin0 -> 19948 bytes
-rw-r--r--fw/midi-dials/build/main.d126
-rw-r--r--fw/midi-dials/build/main.lst1163
-rw-r--r--fw/midi-dials/build/main.obin0 -> 28600 bytes
-rwxr-xr-xfw/midi-dials/build/midi-dials.binbin0 -> 17568 bytes
-rwxr-xr-xfw/midi-dials/build/midi-dials.elfbin0 -> 380824 bytes
-rw-r--r--fw/midi-dials/build/midi-dials.hex1104
-rw-r--r--fw/midi-dials/build/midi-dials.map3036
-rw-r--r--fw/midi-dials/build/startup_stm32f072xb.d1
-rw-r--r--fw/midi-dials/build/startup_stm32f072xb.obin0 -> 4464 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal.d86
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal.lst1454
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal.obin0 -> 15900 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc.lst5976
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc.obin0 -> 32192 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc_ex.lst382
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_adc_ex.obin0 -> 7976 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_cortex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_cortex.lst3024
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_cortex.obin0 -> 14324 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_dma.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_dma.lst2507
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_dma.obin0 -> 19044 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_exti.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_exti.lst1373
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_exti.obin0 -> 11736 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash.lst1966
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash.obin0 -> 14876 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash_ex.lst2711
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_flash_ex.obin0 -> 20988 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_gpio.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_gpio.lst1501
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_gpio.obin0 -> 11760 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c.lst20498
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c.obin0 -> 113892 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c_ex.lst862
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_i2c_ex.obin0 -> 12400 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_msp.d88
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_msp.lst567
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_msp.obin0 -> 10396 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd.lst4908
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd.obin0 -> 34832 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd_ex.lst877
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pcd_ex.obin0 -> 12608 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr.lst1014
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr.obin0 -> 9320 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr_ex.lst710
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_pwr_ex.obin0 -> 7504 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc.lst3828
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc.obin0 -> 20036 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc_ex.lst2572
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_rcc_ex.obin0 -> 17928 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim.lst29
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim.obin0 -> 2768 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim_ex.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim_ex.lst29
-rw-r--r--fw/midi-dials/build/stm32f0xx_hal_tim_ex.obin0 -> 2772 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_it.d91
-rw-r--r--fw/midi-dials/build/stm32f0xx_it.lst409
-rw-r--r--fw/midi-dials/build/stm32f0xx_it.obin0 -> 10576 bytes
-rw-r--r--fw/midi-dials/build/stm32f0xx_ll_usb.d87
-rw-r--r--fw/midi-dials/build/stm32f0xx_ll_usb.lst3886
-rw-r--r--fw/midi-dials/build/stm32f0xx_ll_usb.obin0 -> 35952 bytes
-rw-r--r--fw/midi-dials/build/system_stm32f0xx.d86
-rw-r--r--fw/midi-dials/build/system_stm32f0xx.lst539
-rw-r--r--fw/midi-dials/build/system_stm32f0xx.obin0 -> 6032 bytes
-rw-r--r--fw/midi-dials/build/usb_device.d127
-rw-r--r--fw/midi-dials/build/usb_device.lst257
-rw-r--r--fw/midi-dials/build/usb_device.obin0 -> 12540 bytes
-rw-r--r--fw/midi-dials/build/usbd_conf.d107
-rw-r--r--fw/midi-dials/build/usbd_conf.lst2429
-rw-r--r--fw/midi-dials/build/usbd_conf.obin0 -> 41928 bytes
-rw-r--r--fw/midi-dials/build/usbd_core.d107
-rw-r--r--fw/midi-dials/build/usbd_core.lst1784
-rw-r--r--fw/midi-dials/build/usbd_core.obin0 -> 26624 bytes
-rw-r--r--fw/midi-dials/build/usbd_ctlreq.d110
-rw-r--r--fw/midi-dials/build/usbd_ctlreq.lst2650
-rw-r--r--fw/midi-dials/build/usbd_ctlreq.obin0 -> 29648 bytes
-rw-r--r--fw/midi-dials/build/usbd_desc.d109
-rw-r--r--fw/midi-dials/build/usbd_desc.lst850
-rw-r--r--fw/midi-dials/build/usbd_desc.obin0 -> 16292 bytes
-rw-r--r--fw/midi-dials/build/usbd_ioreq.d107
-rw-r--r--fw/midi-dials/build/usbd_ioreq.lst551
-rw-r--r--fw/midi-dials/build/usbd_ioreq.obin0 -> 16080 bytes
-rw-r--r--fw/midi-dials/build/usbd_midi.d115
-rw-r--r--fw/midi-dials/build/usbd_midi.lst946
-rw-r--r--fw/midi-dials/build/usbd_midi.obin0 -> 21324 bytes
-rw-r--r--fw/midi-dials/build/usbd_midi_if.d118
-rw-r--r--fw/midi-dials/build/usbd_midi_if.lst2430
-rw-r--r--fw/midi-dials/build/usbd_midi_if.obin0 -> 27832 bytes
105 files changed, 83176 insertions, 0 deletions
diff --git a/fw/midi-dials/build/curebuffer.d b/fw/midi-dials/build/curebuffer.d
new file mode 100644
index 0000000..6d4eda6
--- /dev/null
+++ b/fw/midi-dials/build/curebuffer.d
@@ -0,0 +1,4 @@
+build/curebuffer.o: Src/curelib_src/curebuffer.c \
+ Inc/curelib_inc/curebuffer.h
+
+Inc/curelib_inc/curebuffer.h:
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
diff --git a/fw/midi-dials/build/curebuffer.o b/fw/midi-dials/build/curebuffer.o
new file mode 100644
index 0000000..5aa0d8d
--- /dev/null
+++ b/fw/midi-dials/build/curebuffer.o
Binary files differ
diff --git a/fw/midi-dials/build/main.d b/fw/midi-dials/build/main.d
new file mode 100644
index 0000000..db09d4d
--- /dev/null
+++ b/fw/midi-dials/build/main.d
@@ -0,0 +1,126 @@
+build/main.o: Src/main.c Inc/main.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h Inc/usb_device.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h Inc/device_conf.h Inc/curelib_inc/curemisc.h \
+ Inc/curelib_inc/curebuffer.h Inc/usbd_midi_if.h \
+ Middlewares/USBMIDI/Inc/usbd_midi.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Inc/usbd_desc.h
+
+Inc/main.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Inc/usb_device.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Inc/device_conf.h:
+
+Inc/curelib_inc/curemisc.h:
+
+Inc/curelib_inc/curebuffer.h:
+
+Inc/usbd_midi_if.h:
+
+Middlewares/USBMIDI/Inc/usbd_midi.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Inc/usbd_desc.h:
diff --git a/fw/midi-dials/build/main.lst b/fw/midi-dials/build/main.lst
new file mode 100644
index 0000000..67ea82a
--- /dev/null
+++ b/fw/midi-dials/build/main.lst
@@ -0,0 +1,1163 @@
+ARM GAS /tmp/cclvWDtP.s page 1
+
+
+ 1 .cpu cortex-m0
+ 2 .eabi_attribute 20, 1
+ 3 .eabi_attribute 21, 1
+ 4 .eabi_attribute 23, 3
+ 5 .eabi_attribute 24, 1
+ 6 .eabi_attribute 25, 1
+ 7 .eabi_attribute 26, 1
+ 8 .eabi_attribute 30, 1
+ 9 .eabi_attribute 34, 0
+ 10 .eabi_attribute 18, 4
+ 11 .file "main.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.MX_GPIO_Init,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 MX_GPIO_Init:
+ 23 .LFB48:
+ 24 .file 1 "Src/main.c"
+ 1:Src/main.c ****
+ 2:Src/main.c **** #include "main.h"
+ 3:Src/main.c **** #include "usb_device.h"
+ 4:Src/main.c ****
+ 5:Src/main.c **** #include "device_conf.h"
+ 6:Src/main.c **** #include "curemisc.h"
+ 7:Src/main.c **** #include "curebuffer.h"
+ 8:Src/main.c **** #include "usbd_midi_if.h"
+ 9:Src/main.c **** #include "usbd_midi.h"
+ 10:Src/main.c ****
+ 11:Src/main.c **** #define HYST 50
+ 12:Src/main.c ****
+ 13:Src/main.c **** ADC_HandleTypeDef hadc;
+ 14:Src/main.c **** DMA_HandleTypeDef hdma_adc;
+ 15:Src/main.c ****
+ 16:Src/main.c **** PCD_HandleTypeDef hpcd_USB_FS;
+ 17:Src/main.c ****
+ 18:Src/main.c **** void SystemClock_Config(void);
+ 19:Src/main.c **** static void MX_GPIO_Init(void);
+ 20:Src/main.c **** static void MX_DMA_Init(void);
+ 21:Src/main.c **** static void MX_ADC_Init(void);
+ 22:Src/main.c **** static void MX_USB_PCD_Init(void);
+ 23:Src/main.c ****
+ 24:Src/main.c **** uint16_t ADC_val[8];
+ 25:Src/main.c **** uint16_t ADC_val_old[8];
+ 26:Src/main.c **** uint8_t dial[8];
+ 27:Src/main.c **** uint8_t dial_mapping[8] = {1, 2, 3, 4, 5, 6, 7, 0};
+ 28:Src/main.c **** uint16_t dial_div[8] = {32, 32, 32, 32, 32, 32, 32, 256};
+ 29:Src/main.c ****
+ 30:Src/main.c **** uint8_t midi_packet[4] = {0x0B, 0xB0, 0x00, 0x00};
+ 31:Src/main.c ****
+ 32:Src/main.c **** int main(void)
+ 33:Src/main.c **** {
+ 34:Src/main.c **** HAL_Init();
+ ARM GAS /tmp/cclvWDtP.s page 2
+
+
+ 35:Src/main.c ****
+ 36:Src/main.c **** SystemClock_Config();
+ 37:Src/main.c ****
+ 38:Src/main.c **** MX_GPIO_Init();
+ 39:Src/main.c **** MX_DMA_Init();
+ 40:Src/main.c **** MX_ADC_Init();
+ 41:Src/main.c **** MX_USB_MIDI_INIT();
+ 42:Src/main.c ****
+ 43:Src/main.c **** HAL_ADC_Start_DMA(&hadc, ADC_val, 8);
+ 44:Src/main.c ****
+ 45:Src/main.c ****
+ 46:Src/main.c **** if(FUNC_ERROR == midiInit() ){
+ 47:Src/main.c **** while(1){
+ 48:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 49:Src/main.c **** HAL_Delay(500);
+ 50:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 51:Src/main.c **** HAL_Delay(500);
+ 52:Src/main.c **** }
+ 53:Src/main.c **** }
+ 54:Src/main.c ****
+ 55:Src/main.c **** //Wait usb configuration.
+ 56:Src/main.c **** while(1){
+ 57:Src/main.c ****
+ 58:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
+ 59:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 60:Src/main.c **** break;
+ 61:Src/main.c **** }else{
+ 62:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 63:Src/main.c **** }
+ 64:Src/main.c **** }
+ 65:Src/main.c ****
+ 66:Src/main.c **** while (1)
+ 67:Src/main.c **** {
+ 68:Src/main.c **** while(1){
+ 69:Src/main.c **** if(USBD_STATE_CONFIGURED == hUsbDeviceFS.dev_state){
+ 70:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 71:Src/main.c **** break;
+ 72:Src/main.c **** }else{
+ 73:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 74:Src/main.c **** HAL_Delay(200);
+ 75:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 76:Src/main.c **** HAL_Delay(200);
+ 77:Src/main.c **** }
+ 78:Src/main.c **** }
+ 79:Src/main.c ****
+ 80:Src/main.c **** midiProcess();
+ 81:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
+ 82:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 83:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 84:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
+ 85:Src/main.c **** midi_packet[3] = dial[i];
+ 86:Src/main.c **** midi_packet[1] = 0xB0 + i;
+ 87:Src/main.c **** sendMidiMessage(midi_packet, 4);
+ 88:Src/main.c **** USBD_MIDI_SendPacket();
+ 89:Src/main.c **** HAL_Delay(2);
+ 90:Src/main.c **** }
+ 91:Src/main.c **** }
+ ARM GAS /tmp/cclvWDtP.s page 3
+
+
+ 92:Src/main.c **** //USBD_MIDI_SendData(&hUsbDeviceFS, midi_packet, 4);
+ 93:Src/main.c ****
+ 94:Src/main.c ****
+ 95:Src/main.c **** }
+ 96:Src/main.c **** }
+ 97:Src/main.c ****
+ 98:Src/main.c **** void SystemClock_Config(void)
+ 99:Src/main.c **** {
+ 100:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 101:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 102:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ 103:Src/main.c ****
+ 104:Src/main.c **** RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI14|RCC_OSCILLATORTYPE_HSI48;
+ 105:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
+ 106:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
+ 107:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
+ 108:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 109:Src/main.c **** HAL_RCC_OscConfig(&RCC_OscInitStruct);
+ 110:Src/main.c ****
+ 111:Src/main.c **** RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ 112:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
+ 113:Src/main.c **** RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI48;
+ 114:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 115:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 116:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
+ 117:Src/main.c ****
+ 118:Src/main.c **** PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USB;
+ 119:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ 120:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
+ 121:Src/main.c ****
+ 122:Src/main.c **** }
+ 123:Src/main.c ****
+ 124:Src/main.c **** static void MX_ADC_Init(void)
+ 125:Src/main.c **** {
+ 126:Src/main.c ****
+ 127:Src/main.c **** ADC_ChannelConfTypeDef sConfig = {0};
+ 128:Src/main.c ****
+ 129:Src/main.c **** hadc.Instance = ADC1;
+ 130:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ 131:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ 132:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ 133:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
+ 134:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ 135:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
+ 136:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
+ 137:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
+ 138:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
+ 139:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ 140:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 141:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
+ 142:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 143:Src/main.c **** HAL_ADC_Init(&hadc);
+ 144:Src/main.c ****
+ 145:Src/main.c **** sConfig.Rank = ADC_RANK_CHANNEL_NUMBER;
+ 146:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
+ 147:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
+ 148:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ ARM GAS /tmp/cclvWDtP.s page 4
+
+
+ 149:Src/main.c ****
+ 150:Src/main.c **** sConfig.Channel = ADC_CHANNEL_2;
+ 151:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 152:Src/main.c ****
+ 153:Src/main.c **** sConfig.Channel = ADC_CHANNEL_3;
+ 154:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 155:Src/main.c ****
+ 156:Src/main.c **** sConfig.Channel = ADC_CHANNEL_4;
+ 157:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 158:Src/main.c ****
+ 159:Src/main.c **** sConfig.Channel = ADC_CHANNEL_5;
+ 160:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 161:Src/main.c ****
+ 162:Src/main.c **** sConfig.Channel = ADC_CHANNEL_6;
+ 163:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 164:Src/main.c ****
+ 165:Src/main.c **** sConfig.Channel = ADC_CHANNEL_7;
+ 166:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 167:Src/main.c ****
+ 168:Src/main.c **** sConfig.Channel = ADC_CHANNEL_8;
+ 169:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 170:Src/main.c **** }
+ 171:Src/main.c ****
+ 172:Src/main.c **** static void MX_USB_PCD_Init(void)
+ 173:Src/main.c **** {
+ 174:Src/main.c ****
+ 175:Src/main.c **** hpcd_USB_FS.Instance = USB;
+ 176:Src/main.c **** hpcd_USB_FS.Init.dev_endpoints = 8;
+ 177:Src/main.c **** hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
+ 178:Src/main.c **** hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
+ 179:Src/main.c **** hpcd_USB_FS.Init.low_power_enable = DISABLE;
+ 180:Src/main.c **** hpcd_USB_FS.Init.lpm_enable = DISABLE;
+ 181:Src/main.c **** hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
+ 182:Src/main.c **** HAL_PCD_Init(&hpcd_USB_FS);
+ 183:Src/main.c **** }
+ 184:Src/main.c ****
+ 185:Src/main.c ****
+ 186:Src/main.c **** static void MX_DMA_Init(void)
+ 187:Src/main.c **** {
+ 188:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
+ 189:Src/main.c ****
+ 190:Src/main.c **** HAL_NVIC_SetPriority(DMA1_Channel1_IRQn, 0, 0);
+ 191:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
+ 192:Src/main.c **** }
+ 193:Src/main.c ****
+ 194:Src/main.c ****
+ 195:Src/main.c **** static void MX_GPIO_Init(void)
+ 196:Src/main.c **** {
+ 25 .loc 1 196 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 32
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 0000 30B5 push {r4, r5, lr}
+ 30 .LCFI0:
+ 31 .cfi_def_cfa_offset 12
+ 32 .cfi_offset 4, -12
+ 33 .cfi_offset 5, -8
+ ARM GAS /tmp/cclvWDtP.s page 5
+
+
+ 34 .cfi_offset 14, -4
+ 35 0002 89B0 sub sp, sp, #36
+ 36 .LCFI1:
+ 37 .cfi_def_cfa_offset 48
+ 197:Src/main.c ****
+ 198:Src/main.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 38 .loc 1 198 0
+ 39 0004 1422 movs r2, #20
+ 40 0006 0021 movs r1, #0
+ 41 0008 03A8 add r0, sp, #12
+ 42 000a FFF7FEFF bl memset
+ 43 .LVL0:
+ 44 .LBB2:
+ 199:Src/main.c ****
+ 200:Src/main.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
+ 45 .loc 1 200 0
+ 46 000e 134B ldr r3, .L2
+ 47 0010 5969 ldr r1, [r3, #20]
+ 48 0012 8020 movs r0, #128
+ 49 0014 C002 lsls r0, r0, #11
+ 50 0016 0143 orrs r1, r0
+ 51 0018 5961 str r1, [r3, #20]
+ 52 001a 5A69 ldr r2, [r3, #20]
+ 53 001c 0240 ands r2, r0
+ 54 001e 0192 str r2, [sp, #4]
+ 55 0020 019A ldr r2, [sp, #4]
+ 56 .LBE2:
+ 57 .LBB3:
+ 201:Src/main.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
+ 58 .loc 1 201 0
+ 59 0022 5A69 ldr r2, [r3, #20]
+ 60 0024 8021 movs r1, #128
+ 61 0026 8902 lsls r1, r1, #10
+ 62 0028 0A43 orrs r2, r1
+ 63 002a 5A61 str r2, [r3, #20]
+ 64 002c 5B69 ldr r3, [r3, #20]
+ 65 002e 0B40 ands r3, r1
+ 66 0030 0293 str r3, [sp, #8]
+ 67 0032 029B ldr r3, [sp, #8]
+ 68 .LBE3:
+ 202:Src/main.c ****
+ 203:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, GPIO_PIN_RESET);
+ 69 .loc 1 203 0
+ 70 0034 8025 movs r5, #128
+ 71 0036 AD01 lsls r5, r5, #6
+ 72 0038 094C ldr r4, .L2+4
+ 73 003a 0022 movs r2, #0
+ 74 003c 2900 movs r1, r5
+ 75 003e 2000 movs r0, r4
+ 76 0040 FFF7FEFF bl HAL_GPIO_WritePin
+ 77 .LVL1:
+ 204:Src/main.c ****
+ 205:Src/main.c **** GPIO_InitStruct.Pin = GPIO_PIN_13;
+ 78 .loc 1 205 0
+ 79 0044 0395 str r5, [sp, #12]
+ 206:Src/main.c **** GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80 .loc 1 206 0
+ ARM GAS /tmp/cclvWDtP.s page 6
+
+
+ 81 0046 0123 movs r3, #1
+ 82 0048 0493 str r3, [sp, #16]
+ 207:Src/main.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 83 .loc 1 207 0
+ 84 004a 0023 movs r3, #0
+ 85 004c 0593 str r3, [sp, #20]
+ 208:Src/main.c **** GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 86 .loc 1 208 0
+ 87 004e 0693 str r3, [sp, #24]
+ 209:Src/main.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 88 .loc 1 209 0
+ 89 0050 03A9 add r1, sp, #12
+ 90 0052 2000 movs r0, r4
+ 91 0054 FFF7FEFF bl HAL_GPIO_Init
+ 92 .LVL2:
+ 210:Src/main.c **** }
+ 93 .loc 1 210 0
+ 94 0058 09B0 add sp, sp, #36
+ 95 @ sp needed
+ 96 005a 30BD pop {r4, r5, pc}
+ 97 .L3:
+ 98 .align 2
+ 99 .L2:
+ 100 005c 00100240 .word 1073876992
+ 101 0060 00040048 .word 1207960576
+ 102 .cfi_endproc
+ 103 .LFE48:
+ 105 .section .text.MX_DMA_Init,"ax",%progbits
+ 106 .align 1
+ 107 .syntax unified
+ 108 .code 16
+ 109 .thumb_func
+ 110 .fpu softvfp
+ 112 MX_DMA_Init:
+ 113 .LFB47:
+ 187:Src/main.c **** __HAL_RCC_DMA1_CLK_ENABLE();
+ 114 .loc 1 187 0
+ 115 .cfi_startproc
+ 116 @ args = 0, pretend = 0, frame = 8
+ 117 @ frame_needed = 0, uses_anonymous_args = 0
+ 118 0000 00B5 push {lr}
+ 119 .LCFI2:
+ 120 .cfi_def_cfa_offset 4
+ 121 .cfi_offset 14, -4
+ 122 0002 83B0 sub sp, sp, #12
+ 123 .LCFI3:
+ 124 .cfi_def_cfa_offset 16
+ 125 .LBB4:
+ 188:Src/main.c ****
+ 126 .loc 1 188 0
+ 127 0004 094A ldr r2, .L5
+ 128 0006 5169 ldr r1, [r2, #20]
+ 129 0008 0123 movs r3, #1
+ 130 000a 1943 orrs r1, r3
+ 131 000c 5161 str r1, [r2, #20]
+ 132 000e 5269 ldr r2, [r2, #20]
+ 133 0010 1340 ands r3, r2
+ ARM GAS /tmp/cclvWDtP.s page 7
+
+
+ 134 0012 0193 str r3, [sp, #4]
+ 135 0014 019B ldr r3, [sp, #4]
+ 136 .LBE4:
+ 190:Src/main.c **** HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
+ 137 .loc 1 190 0
+ 138 0016 0022 movs r2, #0
+ 139 0018 0021 movs r1, #0
+ 140 001a 0920 movs r0, #9
+ 141 001c FFF7FEFF bl HAL_NVIC_SetPriority
+ 142 .LVL3:
+ 191:Src/main.c **** }
+ 143 .loc 1 191 0
+ 144 0020 0920 movs r0, #9
+ 145 0022 FFF7FEFF bl HAL_NVIC_EnableIRQ
+ 146 .LVL4:
+ 192:Src/main.c ****
+ 147 .loc 1 192 0
+ 148 0026 03B0 add sp, sp, #12
+ 149 @ sp needed
+ 150 0028 00BD pop {pc}
+ 151 .L6:
+ 152 002a C046 .align 2
+ 153 .L5:
+ 154 002c 00100240 .word 1073876992
+ 155 .cfi_endproc
+ 156 .LFE47:
+ 158 .section .text.MX_ADC_Init,"ax",%progbits
+ 159 .align 1
+ 160 .syntax unified
+ 161 .code 16
+ 162 .thumb_func
+ 163 .fpu softvfp
+ 165 MX_ADC_Init:
+ 166 .LFB45:
+ 125:Src/main.c ****
+ 167 .loc 1 125 0
+ 168 .cfi_startproc
+ 169 @ args = 0, pretend = 0, frame = 16
+ 170 @ frame_needed = 0, uses_anonymous_args = 0
+ 171 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 172 .LCFI4:
+ 173 .cfi_def_cfa_offset 20
+ 174 .cfi_offset 4, -20
+ 175 .cfi_offset 5, -16
+ 176 .cfi_offset 6, -12
+ 177 .cfi_offset 7, -8
+ 178 .cfi_offset 14, -4
+ 179 0002 85B0 sub sp, sp, #20
+ 180 .LCFI5:
+ 181 .cfi_def_cfa_offset 40
+ 127:Src/main.c ****
+ 182 .loc 1 127 0
+ 183 0004 0C22 movs r2, #12
+ 184 0006 0021 movs r1, #0
+ 185 0008 01A8 add r0, sp, #4
+ 186 000a FFF7FEFF bl memset
+ 187 .LVL5:
+ ARM GAS /tmp/cclvWDtP.s page 8
+
+
+ 129:Src/main.c **** hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ 188 .loc 1 129 0
+ 189 000e 264C ldr r4, .L8
+ 190 0010 264B ldr r3, .L8+4
+ 191 0012 2360 str r3, [r4]
+ 130:Src/main.c **** hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ 192 .loc 1 130 0
+ 193 0014 0023 movs r3, #0
+ 194 0016 6360 str r3, [r4, #4]
+ 131:Src/main.c **** hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ 195 .loc 1 131 0
+ 196 0018 A360 str r3, [r4, #8]
+ 132:Src/main.c **** hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD;
+ 197 .loc 1 132 0
+ 198 001a E360 str r3, [r4, #12]
+ 133:Src/main.c **** hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ 199 .loc 1 133 0
+ 200 001c 0125 movs r5, #1
+ 201 001e 2561 str r5, [r4, #16]
+ 134:Src/main.c **** hadc.Init.LowPowerAutoWait = DISABLE;
+ 202 .loc 1 134 0
+ 203 0020 0826 movs r6, #8
+ 204 0022 6661 str r6, [r4, #20]
+ 135:Src/main.c **** hadc.Init.LowPowerAutoPowerOff = DISABLE;
+ 205 .loc 1 135 0
+ 206 0024 2376 strb r3, [r4, #24]
+ 136:Src/main.c **** hadc.Init.ContinuousConvMode = ENABLE;
+ 207 .loc 1 136 0
+ 208 0026 6376 strb r3, [r4, #25]
+ 137:Src/main.c **** hadc.Init.DiscontinuousConvMode = DISABLE;
+ 209 .loc 1 137 0
+ 210 0028 A576 strb r5, [r4, #26]
+ 138:Src/main.c **** hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ 211 .loc 1 138 0
+ 212 002a E376 strb r3, [r4, #27]
+ 139:Src/main.c **** hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 213 .loc 1 139 0
+ 214 002c C222 movs r2, #194
+ 215 002e FF32 adds r2, r2, #255
+ 216 0030 E261 str r2, [r4, #28]
+ 140:Src/main.c **** hadc.Init.DMAContinuousRequests = ENABLE;
+ 217 .loc 1 140 0
+ 218 0032 2362 str r3, [r4, #32]
+ 141:Src/main.c **** hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ 219 .loc 1 141 0
+ 220 0034 2433 adds r3, r3, #36
+ 221 0036 E554 strb r5, [r4, r3]
+ 142:Src/main.c **** HAL_ADC_Init(&hadc);
+ 222 .loc 1 142 0
+ 223 0038 A562 str r5, [r4, #40]
+ 143:Src/main.c ****
+ 224 .loc 1 143 0
+ 225 003a 2000 movs r0, r4
+ 226 003c FFF7FEFF bl HAL_ADC_Init
+ 227 .LVL6:
+ 145:Src/main.c **** sConfig.SamplingTime = ADC_SAMPLETIME_71CYCLES_5;
+ 228 .loc 1 145 0
+ ARM GAS /tmp/cclvWDtP.s page 9
+
+
+ 229 0040 8023 movs r3, #128
+ 230 0042 5B01 lsls r3, r3, #5
+ 231 0044 0293 str r3, [sp, #8]
+ 146:Src/main.c **** sConfig.Channel = ADC_CHANNEL_1;
+ 232 .loc 1 146 0
+ 233 0046 0627 movs r7, #6
+ 234 0048 0397 str r7, [sp, #12]
+ 147:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 235 .loc 1 147 0
+ 236 004a 0195 str r5, [sp, #4]
+ 148:Src/main.c ****
+ 237 .loc 1 148 0
+ 238 004c 01A9 add r1, sp, #4
+ 239 004e 2000 movs r0, r4
+ 240 0050 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 241 .LVL7:
+ 150:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 242 .loc 1 150 0
+ 243 0054 0223 movs r3, #2
+ 244 0056 0193 str r3, [sp, #4]
+ 151:Src/main.c ****
+ 245 .loc 1 151 0
+ 246 0058 01A9 add r1, sp, #4
+ 247 005a 2000 movs r0, r4
+ 248 005c FFF7FEFF bl HAL_ADC_ConfigChannel
+ 249 .LVL8:
+ 153:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 250 .loc 1 153 0
+ 251 0060 0323 movs r3, #3
+ 252 0062 0193 str r3, [sp, #4]
+ 154:Src/main.c ****
+ 253 .loc 1 154 0
+ 254 0064 01A9 add r1, sp, #4
+ 255 0066 2000 movs r0, r4
+ 256 0068 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 257 .LVL9:
+ 156:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 258 .loc 1 156 0
+ 259 006c 0423 movs r3, #4
+ 260 006e 0193 str r3, [sp, #4]
+ 157:Src/main.c ****
+ 261 .loc 1 157 0
+ 262 0070 01A9 add r1, sp, #4
+ 263 0072 2000 movs r0, r4
+ 264 0074 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 265 .LVL10:
+ 159:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 266 .loc 1 159 0
+ 267 0078 0523 movs r3, #5
+ 268 007a 0193 str r3, [sp, #4]
+ 160:Src/main.c ****
+ 269 .loc 1 160 0
+ 270 007c 01A9 add r1, sp, #4
+ 271 007e 2000 movs r0, r4
+ 272 0080 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 273 .LVL11:
+ 162:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ ARM GAS /tmp/cclvWDtP.s page 10
+
+
+ 274 .loc 1 162 0
+ 275 0084 0197 str r7, [sp, #4]
+ 163:Src/main.c ****
+ 276 .loc 1 163 0
+ 277 0086 01A9 add r1, sp, #4
+ 278 0088 2000 movs r0, r4
+ 279 008a FFF7FEFF bl HAL_ADC_ConfigChannel
+ 280 .LVL12:
+ 165:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 281 .loc 1 165 0
+ 282 008e 0723 movs r3, #7
+ 283 0090 0193 str r3, [sp, #4]
+ 166:Src/main.c ****
+ 284 .loc 1 166 0
+ 285 0092 01A9 add r1, sp, #4
+ 286 0094 2000 movs r0, r4
+ 287 0096 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 288 .LVL13:
+ 168:Src/main.c **** HAL_ADC_ConfigChannel(&hadc, &sConfig);
+ 289 .loc 1 168 0
+ 290 009a 0196 str r6, [sp, #4]
+ 169:Src/main.c **** }
+ 291 .loc 1 169 0
+ 292 009c 01A9 add r1, sp, #4
+ 293 009e 2000 movs r0, r4
+ 294 00a0 FFF7FEFF bl HAL_ADC_ConfigChannel
+ 295 .LVL14:
+ 170:Src/main.c ****
+ 296 .loc 1 170 0
+ 297 00a4 05B0 add sp, sp, #20
+ 298 @ sp needed
+ 299 00a6 F0BD pop {r4, r5, r6, r7, pc}
+ 300 .L9:
+ 301 .align 2
+ 302 .L8:
+ 303 00a8 00000000 .word hadc
+ 304 00ac 00240140 .word 1073816576
+ 305 .cfi_endproc
+ 306 .LFE45:
+ 308 .section .text.SystemClock_Config,"ax",%progbits
+ 309 .align 1
+ 310 .global SystemClock_Config
+ 311 .syntax unified
+ 312 .code 16
+ 313 .thumb_func
+ 314 .fpu softvfp
+ 316 SystemClock_Config:
+ 317 .LFB44:
+ 99:Src/main.c **** RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 318 .loc 1 99 0
+ 319 .cfi_startproc
+ 320 @ args = 0, pretend = 0, frame = 96
+ 321 @ frame_needed = 0, uses_anonymous_args = 0
+ 322 0000 10B5 push {r4, lr}
+ 323 .LCFI6:
+ 324 .cfi_def_cfa_offset 8
+ 325 .cfi_offset 4, -8
+ ARM GAS /tmp/cclvWDtP.s page 11
+
+
+ 326 .cfi_offset 14, -4
+ 327 0002 98B0 sub sp, sp, #96
+ 328 .LCFI7:
+ 329 .cfi_def_cfa_offset 104
+ 100:Src/main.c **** RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 330 .loc 1 100 0
+ 331 0004 3022 movs r2, #48
+ 332 0006 0021 movs r1, #0
+ 333 0008 0CA8 add r0, sp, #48
+ 334 000a FFF7FEFF bl memset
+ 335 .LVL15:
+ 101:Src/main.c **** RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
+ 336 .loc 1 101 0
+ 337 000e 1022 movs r2, #16
+ 338 0010 0021 movs r1, #0
+ 339 0012 07A8 add r0, sp, #28
+ 340 0014 FFF7FEFF bl memset
+ 341 .LVL16:
+ 102:Src/main.c ****
+ 342 .loc 1 102 0
+ 343 0018 1C22 movs r2, #28
+ 344 001a 0021 movs r1, #0
+ 345 001c 6846 mov r0, sp
+ 346 001e FFF7FEFF bl memset
+ 347 .LVL17:
+ 104:Src/main.c **** RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
+ 348 .loc 1 104 0
+ 349 0022 3023 movs r3, #48
+ 350 0024 0B93 str r3, [sp, #44]
+ 105:Src/main.c **** RCC_OscInitStruct.HSI14State = RCC_HSI14_ON;
+ 351 .loc 1 105 0
+ 352 0026 2F3B subs r3, r3, #47
+ 353 0028 1393 str r3, [sp, #76]
+ 106:Src/main.c **** RCC_OscInitStruct.HSI14CalibrationValue = 16;
+ 354 .loc 1 106 0
+ 355 002a 1093 str r3, [sp, #64]
+ 107:Src/main.c **** RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 356 .loc 1 107 0
+ 357 002c 0F33 adds r3, r3, #15
+ 358 002e 1193 str r3, [sp, #68]
+ 109:Src/main.c ****
+ 359 .loc 1 109 0
+ 360 0030 0BA8 add r0, sp, #44
+ 361 0032 FFF7FEFF bl HAL_RCC_OscConfig
+ 362 .LVL18:
+ 111:Src/main.c **** |RCC_CLOCKTYPE_PCLK1;
+ 363 .loc 1 111 0
+ 364 0036 0723 movs r3, #7
+ 365 0038 0793 str r3, [sp, #28]
+ 113:Src/main.c **** RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 366 .loc 1 113 0
+ 367 003a 043B subs r3, r3, #4
+ 368 003c 0893 str r3, [sp, #32]
+ 114:Src/main.c **** RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 369 .loc 1 114 0
+ 370 003e 0024 movs r4, #0
+ 371 0040 0994 str r4, [sp, #36]
+ ARM GAS /tmp/cclvWDtP.s page 12
+
+
+ 115:Src/main.c **** HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1);
+ 372 .loc 1 115 0
+ 373 0042 0A94 str r4, [sp, #40]
+ 116:Src/main.c ****
+ 374 .loc 1 116 0
+ 375 0044 0121 movs r1, #1
+ 376 0046 07A8 add r0, sp, #28
+ 377 0048 FFF7FEFF bl HAL_RCC_ClockConfig
+ 378 .LVL19:
+ 118:Src/main.c **** PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_HSI48;
+ 379 .loc 1 118 0
+ 380 004c 8023 movs r3, #128
+ 381 004e 9B02 lsls r3, r3, #10
+ 382 0050 0093 str r3, [sp]
+ 119:Src/main.c **** HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit);
+ 383 .loc 1 119 0
+ 384 0052 0694 str r4, [sp, #24]
+ 120:Src/main.c ****
+ 385 .loc 1 120 0
+ 386 0054 6846 mov r0, sp
+ 387 0056 FFF7FEFF bl HAL_RCCEx_PeriphCLKConfig
+ 388 .LVL20:
+ 122:Src/main.c ****
+ 389 .loc 1 122 0
+ 390 005a 18B0 add sp, sp, #96
+ 391 @ sp needed
+ 392 005c 10BD pop {r4, pc}
+ 393 .cfi_endproc
+ 394 .LFE44:
+ 396 .global __aeabi_uidiv
+ 397 .section .text.main,"ax",%progbits
+ 398 .align 1
+ 399 .global main
+ 400 .syntax unified
+ 401 .code 16
+ 402 .thumb_func
+ 403 .fpu softvfp
+ 405 main:
+ 406 .LFB43:
+ 33:Src/main.c **** HAL_Init();
+ 407 .loc 1 33 0
+ 408 .cfi_startproc
+ 409 @ args = 0, pretend = 0, frame = 0
+ 410 @ frame_needed = 0, uses_anonymous_args = 0
+ 411 0000 70B5 push {r4, r5, r6, lr}
+ 412 .LCFI8:
+ 413 .cfi_def_cfa_offset 16
+ 414 .cfi_offset 4, -16
+ 415 .cfi_offset 5, -12
+ 416 .cfi_offset 6, -8
+ 417 .cfi_offset 14, -4
+ 34:Src/main.c ****
+ 418 .loc 1 34 0
+ 419 0002 FFF7FEFF bl HAL_Init
+ 420 .LVL21:
+ 36:Src/main.c ****
+ 421 .loc 1 36 0
+ ARM GAS /tmp/cclvWDtP.s page 13
+
+
+ 422 0006 FFF7FEFF bl SystemClock_Config
+ 423 .LVL22:
+ 38:Src/main.c **** MX_DMA_Init();
+ 424 .loc 1 38 0
+ 425 000a FFF7FEFF bl MX_GPIO_Init
+ 426 .LVL23:
+ 39:Src/main.c **** MX_ADC_Init();
+ 427 .loc 1 39 0
+ 428 000e FFF7FEFF bl MX_DMA_Init
+ 429 .LVL24:
+ 40:Src/main.c **** MX_USB_MIDI_INIT();
+ 430 .loc 1 40 0
+ 431 0012 FFF7FEFF bl MX_ADC_Init
+ 432 .LVL25:
+ 41:Src/main.c ****
+ 433 .loc 1 41 0
+ 434 0016 FFF7FEFF bl MX_USB_MIDI_INIT
+ 435 .LVL26:
+ 43:Src/main.c ****
+ 436 .loc 1 43 0
+ 437 001a 0822 movs r2, #8
+ 438 001c 4049 ldr r1, .L23
+ 439 001e 4148 ldr r0, .L23+4
+ 440 0020 FFF7FEFF bl HAL_ADC_Start_DMA
+ 441 .LVL27:
+ 46:Src/main.c **** while(1){
+ 442 .loc 1 46 0
+ 443 0024 FFF7FEFF bl midiInit
+ 444 .LVL28:
+ 445 0028 0028 cmp r0, #0
+ 446 002a 15D1 bne .L12
+ 447 .L13:
+ 48:Src/main.c **** HAL_Delay(500);
+ 448 .loc 1 48 0 discriminator 1
+ 449 002c 8026 movs r6, #128
+ 450 002e B601 lsls r6, r6, #6
+ 451 0030 3D4D ldr r5, .L23+8
+ 452 0032 0122 movs r2, #1
+ 453 0034 3100 movs r1, r6
+ 454 0036 2800 movs r0, r5
+ 455 0038 FFF7FEFF bl HAL_GPIO_WritePin
+ 456 .LVL29:
+ 49:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 457 .loc 1 49 0 discriminator 1
+ 458 003c FA24 movs r4, #250
+ 459 003e 6400 lsls r4, r4, #1
+ 460 0040 2000 movs r0, r4
+ 461 0042 FFF7FEFF bl HAL_Delay
+ 462 .LVL30:
+ 50:Src/main.c **** HAL_Delay(500);
+ 463 .loc 1 50 0 discriminator 1
+ 464 0046 0022 movs r2, #0
+ 465 0048 3100 movs r1, r6
+ 466 004a 2800 movs r0, r5
+ 467 004c FFF7FEFF bl HAL_GPIO_WritePin
+ 468 .LVL31:
+ 51:Src/main.c **** }
+ ARM GAS /tmp/cclvWDtP.s page 14
+
+
+ 469 .loc 1 51 0 discriminator 1
+ 470 0050 2000 movs r0, r4
+ 471 0052 FFF7FEFF bl HAL_Delay
+ 472 .LVL32:
+ 473 0056 E9E7 b .L13
+ 474 .L12:
+ 58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 475 .loc 1 58 0
+ 476 0058 344A ldr r2, .L23+12
+ 477 005a FE23 movs r3, #254
+ 478 005c 5B00 lsls r3, r3, #1
+ 479 005e D35C ldrb r3, [r2, r3]
+ 480 0060 032B cmp r3, #3
+ 481 0062 06D0 beq .L22
+ 62:Src/main.c **** }
+ 482 .loc 1 62 0
+ 483 0064 8021 movs r1, #128
+ 484 0066 0022 movs r2, #0
+ 485 0068 8901 lsls r1, r1, #6
+ 486 006a 2F48 ldr r0, .L23+8
+ 487 006c FFF7FEFF bl HAL_GPIO_WritePin
+ 488 .LVL33:
+ 58:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 489 .loc 1 58 0
+ 490 0070 F2E7 b .L12
+ 491 .L22:
+ 59:Src/main.c **** break;
+ 492 .loc 1 59 0
+ 493 0072 8021 movs r1, #128
+ 494 0074 0122 movs r2, #1
+ 495 0076 8901 lsls r1, r1, #6
+ 496 0078 2B48 ldr r0, .L23+8
+ 497 007a FFF7FEFF bl HAL_GPIO_WritePin
+ 498 .LVL34:
+ 60:Src/main.c **** }else{
+ 499 .loc 1 60 0
+ 500 007e 12E0 b .L15
+ 501 .L16:
+ 73:Src/main.c **** HAL_Delay(200);
+ 502 .loc 1 73 0
+ 503 0080 8025 movs r5, #128
+ 504 0082 AD01 lsls r5, r5, #6
+ 505 0084 284C ldr r4, .L23+8
+ 506 0086 0122 movs r2, #1
+ 507 0088 2900 movs r1, r5
+ 508 008a 2000 movs r0, r4
+ 509 008c FFF7FEFF bl HAL_GPIO_WritePin
+ 510 .LVL35:
+ 74:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, RESET);
+ 511 .loc 1 74 0
+ 512 0090 C820 movs r0, #200
+ 513 0092 FFF7FEFF bl HAL_Delay
+ 514 .LVL36:
+ 75:Src/main.c **** HAL_Delay(200);
+ 515 .loc 1 75 0
+ 516 0096 0022 movs r2, #0
+ 517 0098 2900 movs r1, r5
+ ARM GAS /tmp/cclvWDtP.s page 15
+
+
+ 518 009a 2000 movs r0, r4
+ 519 009c FFF7FEFF bl HAL_GPIO_WritePin
+ 520 .LVL37:
+ 76:Src/main.c **** }
+ 521 .loc 1 76 0
+ 522 00a0 C820 movs r0, #200
+ 523 00a2 FFF7FEFF bl HAL_Delay
+ 524 .LVL38:
+ 525 .L15:
+ 69:Src/main.c **** HAL_GPIO_WritePin(GPIOB, GPIO_PIN_13, SET);
+ 526 .loc 1 69 0
+ 527 00a6 214A ldr r2, .L23+12
+ 528 00a8 FE23 movs r3, #254
+ 529 00aa 5B00 lsls r3, r3, #1
+ 530 00ac D35C ldrb r3, [r2, r3]
+ 531 00ae 032B cmp r3, #3
+ 532 00b0 E6D1 bne .L16
+ 70:Src/main.c **** break;
+ 533 .loc 1 70 0
+ 534 00b2 8021 movs r1, #128
+ 535 00b4 0122 movs r2, #1
+ 536 00b6 8901 lsls r1, r1, #6
+ 537 00b8 1B48 ldr r0, .L23+8
+ 538 00ba FFF7FEFF bl HAL_GPIO_WritePin
+ 539 .LVL39:
+ 80:Src/main.c **** for(uint8_t i = 0; i <= 7; i++){
+ 540 .loc 1 80 0
+ 541 00be FFF7FEFF bl midiProcess
+ 542 .LVL40:
+ 543 .LBB5:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 544 .loc 1 81 0
+ 545 00c2 0024 movs r4, #0
+ 546 00c4 1AE0 b .L17
+ 547 .LVL41:
+ 548 .L19:
+ 83:Src/main.c **** dial[i] = (uint8_t)((ADC_val[dial_mapping[i]]/dial_div[i]) & 0x7F);
+ 549 .loc 1 83 0
+ 550 00c6 5200 lsls r2, r2, #1
+ 551 00c8 194B ldr r3, .L23+16
+ 552 00ca D052 strh r0, [r2, r3]
+ 84:Src/main.c **** midi_packet[3] = dial[i];
+ 553 .loc 1 84 0
+ 554 00cc 6A00 lsls r2, r5, #1
+ 555 00ce 194B ldr r3, .L23+20
+ 556 00d0 D15A ldrh r1, [r2, r3]
+ 557 00d2 FFF7FEFF bl __aeabi_uidiv
+ 558 .LVL42:
+ 559 00d6 7F23 movs r3, #127
+ 560 00d8 0340 ands r3, r0
+ 561 00da 174A ldr r2, .L23+24
+ 562 00dc 5355 strb r3, [r2, r5]
+ 85:Src/main.c **** midi_packet[1] = 0xB0 + i;
+ 563 .loc 1 85 0
+ 564 00de 1748 ldr r0, .L23+28
+ 565 00e0 C370 strb r3, [r0, #3]
+ 86:Src/main.c **** sendMidiMessage(midi_packet, 4);
+ ARM GAS /tmp/cclvWDtP.s page 16
+
+
+ 566 .loc 1 86 0
+ 567 00e2 2300 movs r3, r4
+ 568 00e4 503B subs r3, r3, #80
+ 569 00e6 4370 strb r3, [r0, #1]
+ 87:Src/main.c **** USBD_MIDI_SendPacket();
+ 570 .loc 1 87 0
+ 571 00e8 0421 movs r1, #4
+ 572 00ea FFF7FEFF bl sendMidiMessage
+ 573 .LVL43:
+ 88:Src/main.c **** HAL_Delay(2);
+ 574 .loc 1 88 0
+ 575 00ee FFF7FEFF bl USBD_MIDI_SendPacket
+ 576 .LVL44:
+ 89:Src/main.c **** }
+ 577 .loc 1 89 0
+ 578 00f2 0220 movs r0, #2
+ 579 00f4 FFF7FEFF bl HAL_Delay
+ 580 .LVL45:
+ 581 .L20:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 582 .loc 1 81 0 discriminator 2
+ 583 00f8 0134 adds r4, r4, #1
+ 584 .LVL46:
+ 585 00fa E4B2 uxtb r4, r4
+ 586 .LVL47:
+ 587 .L17:
+ 81:Src/main.c **** if(ADC_val[dial_mapping[i]] >= (ADC_val_old[dial_mapping[i]] + HYST) || ADC_val[dial_mapping[
+ 588 .loc 1 81 0 is_stmt 0 discriminator 1
+ 589 00fc 072C cmp r4, #7
+ 590 00fe D2D8 bhi .L15
+ 82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 591 .loc 1 82 0 is_stmt 1
+ 592 0100 2500 movs r5, r4
+ 593 0102 0F4B ldr r3, .L23+32
+ 594 0104 1A5D ldrb r2, [r3, r4]
+ 595 0106 5300 lsls r3, r2, #1
+ 596 0108 0549 ldr r1, .L23
+ 597 010a 585A ldrh r0, [r3, r1]
+ 598 010c 084E ldr r6, .L23+16
+ 599 010e 9B5B ldrh r3, [r3, r6]
+ 600 0110 1E00 movs r6, r3
+ 601 0112 3236 adds r6, r6, #50
+ 602 0114 B042 cmp r0, r6
+ 603 0116 D6DA bge .L19
+ 82:Src/main.c **** ADC_val_old[dial_mapping[i]] = ADC_val[dial_mapping[i]];
+ 604 .loc 1 82 0 is_stmt 0 discriminator 1
+ 605 0118 323B subs r3, r3, #50
+ 606 011a 9842 cmp r0, r3
+ 607 011c ECDC bgt .L20
+ 608 011e D2E7 b .L19
+ 609 .L24:
+ 610 .align 2
+ 611 .L23:
+ 612 0120 00000000 .word ADC_val
+ 613 0124 00000000 .word hadc
+ 614 0128 00040048 .word 1207960576
+ 615 012c 00000000 .word hUsbDeviceFS
+ ARM GAS /tmp/cclvWDtP.s page 17
+
+
+ 616 0130 00000000 .word ADC_val_old
+ 617 0134 00000000 .word .LANCHOR1
+ 618 0138 00000000 .word dial
+ 619 013c 00000000 .word .LANCHOR2
+ 620 0140 00000000 .word .LANCHOR0
+ 621 .LBE5:
+ 622 .cfi_endproc
+ 623 .LFE43:
+ 625 .section .text.Error_Handler,"ax",%progbits
+ 626 .align 1
+ 627 .global Error_Handler
+ 628 .syntax unified
+ 629 .code 16
+ 630 .thumb_func
+ 631 .fpu softvfp
+ 633 Error_Handler:
+ 634 .LFB49:
+ 211:Src/main.c ****
+ 212:Src/main.c **** void Error_Handler(void)
+ 213:Src/main.c **** {
+ 635 .loc 1 213 0 is_stmt 1
+ 636 .cfi_startproc
+ 637 @ Volatile: function does not return.
+ 638 @ args = 0, pretend = 0, frame = 0
+ 639 @ frame_needed = 0, uses_anonymous_args = 0
+ 640 0000 70B5 push {r4, r5, r6, lr}
+ 641 .LCFI9:
+ 642 .cfi_def_cfa_offset 16
+ 643 .cfi_offset 4, -16
+ 644 .cfi_offset 5, -12
+ 645 .cfi_offset 6, -8
+ 646 .cfi_offset 14, -4
+ 647 .L26:
+ 214:Src/main.c **** while(1){
+ 215:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,1);
+ 648 .loc 1 215 0 discriminator 1
+ 649 0002 8025 movs r5, #128
+ 650 0004 AD01 lsls r5, r5, #6
+ 651 0006 094C ldr r4, .L27
+ 652 0008 0122 movs r2, #1
+ 653 000a 2900 movs r1, r5
+ 654 000c 2000 movs r0, r4
+ 655 000e FFF7FEFF bl HAL_GPIO_WritePin
+ 656 .LVL48:
+ 216:Src/main.c **** HAL_Delay(100);
+ 657 .loc 1 216 0 discriminator 1
+ 658 0012 6420 movs r0, #100
+ 659 0014 FFF7FEFF bl HAL_Delay
+ 660 .LVL49:
+ 217:Src/main.c **** HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,0);
+ 661 .loc 1 217 0 discriminator 1
+ 662 0018 0022 movs r2, #0
+ 663 001a 2900 movs r1, r5
+ 664 001c 2000 movs r0, r4
+ 665 001e FFF7FEFF bl HAL_GPIO_WritePin
+ 666 .LVL50:
+ 218:Src/main.c **** HAL_Delay(100);
+ ARM GAS /tmp/cclvWDtP.s page 18
+
+
+ 667 .loc 1 218 0 discriminator 1
+ 668 0022 6420 movs r0, #100
+ 669 0024 FFF7FEFF bl HAL_Delay
+ 670 .LVL51:
+ 671 0028 EBE7 b .L26
+ 672 .L28:
+ 673 002a C046 .align 2
+ 674 .L27:
+ 675 002c 00040048 .word 1207960576
+ 676 .cfi_endproc
+ 677 .LFE49:
+ 679 .global midi_packet
+ 680 .global dial_div
+ 681 .global dial_mapping
+ 682 .comm dial,8,4
+ 683 .comm ADC_val_old,16,4
+ 684 .comm ADC_val,16,4
+ 685 .comm hpcd_USB_FS,628,4
+ 686 .comm hdma_adc,68,4
+ 687 .comm hadc,64,4
+ 688 .section .data.dial_div,"aw",%progbits
+ 689 .align 2
+ 690 .set .LANCHOR1,. + 0
+ 693 dial_div:
+ 694 0000 2000 .short 32
+ 695 0002 2000 .short 32
+ 696 0004 2000 .short 32
+ 697 0006 2000 .short 32
+ 698 0008 2000 .short 32
+ 699 000a 2000 .short 32
+ 700 000c 2000 .short 32
+ 701 000e 0001 .short 256
+ 702 .section .data.dial_mapping,"aw",%progbits
+ 703 .align 2
+ 704 .set .LANCHOR0,. + 0
+ 707 dial_mapping:
+ 708 0000 01 .byte 1
+ 709 0001 02 .byte 2
+ 710 0002 03 .byte 3
+ 711 0003 04 .byte 4
+ 712 0004 05 .byte 5
+ 713 0005 06 .byte 6
+ 714 0006 07 .byte 7
+ 715 0007 00 .byte 0
+ 716 .section .data.midi_packet,"aw",%progbits
+ 717 .align 2
+ 718 .set .LANCHOR2,. + 0
+ 721 midi_packet:
+ 722 0000 0B .byte 11
+ 723 0001 B0 .byte -80
+ 724 0002 00 .byte 0
+ 725 0003 00 .byte 0
+ 726 .text
+ 727 .Letext0:
+ 728 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 729 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 730 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ ARM GAS /tmp/cclvWDtP.s page 19
+
+
+ 731 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 732 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 733 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 734 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
+ 735 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h"
+ 736 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
+ 737 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 738 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
+ 739 .file 13 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 740 .file 14 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 741 .file 15 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 742 .file 16 "/usr/include/newlib/sys/lock.h"
+ 743 .file 17 "/usr/include/newlib/sys/_types.h"
+ 744 .file 18 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 745 .file 19 "/usr/include/newlib/sys/reent.h"
+ 746 .file 20 "/usr/include/newlib/stdlib.h"
+ 747 .file 21 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 748 .file 22 "Inc/usb_device.h"
+ 749 .file 23 "Inc/curelib_inc/curemisc.h"
+ 750 .file 24 "Middlewares/USBMIDI/Inc/usbd_midi.h"
+ 751 .file 25 "Inc/usbd_desc.h"
+ 752 .file 26 "Inc/usbd_midi_if.h"
+ 753 .file 27 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h"
+ 754 .file 28 "<built-in>"
+ ARM GAS /tmp/cclvWDtP.s page 20
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 main.c
+ /tmp/cclvWDtP.s:16 .text.MX_GPIO_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:22 .text.MX_GPIO_Init:0000000000000000 MX_GPIO_Init
+ /tmp/cclvWDtP.s:100 .text.MX_GPIO_Init:000000000000005c $d
+ /tmp/cclvWDtP.s:106 .text.MX_DMA_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:112 .text.MX_DMA_Init:0000000000000000 MX_DMA_Init
+ /tmp/cclvWDtP.s:154 .text.MX_DMA_Init:000000000000002c $d
+ /tmp/cclvWDtP.s:159 .text.MX_ADC_Init:0000000000000000 $t
+ /tmp/cclvWDtP.s:165 .text.MX_ADC_Init:0000000000000000 MX_ADC_Init
+ /tmp/cclvWDtP.s:303 .text.MX_ADC_Init:00000000000000a8 $d
+ *COM*:0000000000000040 hadc
+ /tmp/cclvWDtP.s:309 .text.SystemClock_Config:0000000000000000 $t
+ /tmp/cclvWDtP.s:316 .text.SystemClock_Config:0000000000000000 SystemClock_Config
+ /tmp/cclvWDtP.s:398 .text.main:0000000000000000 $t
+ /tmp/cclvWDtP.s:405 .text.main:0000000000000000 main
+ /tmp/cclvWDtP.s:612 .text.main:0000000000000120 $d
+ *COM*:0000000000000010 ADC_val
+ *COM*:0000000000000010 ADC_val_old
+ *COM*:0000000000000008 dial
+ /tmp/cclvWDtP.s:626 .text.Error_Handler:0000000000000000 $t
+ /tmp/cclvWDtP.s:633 .text.Error_Handler:0000000000000000 Error_Handler
+ /tmp/cclvWDtP.s:675 .text.Error_Handler:000000000000002c $d
+ /tmp/cclvWDtP.s:721 .data.midi_packet:0000000000000000 midi_packet
+ /tmp/cclvWDtP.s:693 .data.dial_div:0000000000000000 dial_div
+ /tmp/cclvWDtP.s:707 .data.dial_mapping:0000000000000000 dial_mapping
+ *COM*:0000000000000274 hpcd_USB_FS
+ *COM*:0000000000000044 hdma_adc
+ /tmp/cclvWDtP.s:689 .data.dial_div:0000000000000000 $d
+ /tmp/cclvWDtP.s:703 .data.dial_mapping:0000000000000000 $d
+ /tmp/cclvWDtP.s:717 .data.midi_packet:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+memset
+HAL_GPIO_WritePin
+HAL_GPIO_Init
+HAL_NVIC_SetPriority
+HAL_NVIC_EnableIRQ
+HAL_ADC_Init
+HAL_ADC_ConfigChannel
+HAL_RCC_OscConfig
+HAL_RCC_ClockConfig
+HAL_RCCEx_PeriphCLKConfig
+__aeabi_uidiv
+HAL_Init
+MX_USB_MIDI_INIT
+HAL_ADC_Start_DMA
+midiInit
+HAL_Delay
+midiProcess
+sendMidiMessage
+USBD_MIDI_SendPacket
+hUsbDeviceFS
diff --git a/fw/midi-dials/build/main.o b/fw/midi-dials/build/main.o
new file mode 100644
index 0000000..0b7b5ea
--- /dev/null
+++ b/fw/midi-dials/build/main.o
Binary files differ
diff --git a/fw/midi-dials/build/midi-dials.bin b/fw/midi-dials/build/midi-dials.bin
new file mode 100755
index 0000000..3b74a5a
--- /dev/null
+++ b/fw/midi-dials/build/midi-dials.bin
Binary files differ
diff --git a/fw/midi-dials/build/midi-dials.elf b/fw/midi-dials/build/midi-dials.elf
new file mode 100755
index 0000000..c8db902
--- /dev/null
+++ b/fw/midi-dials/build/midi-dials.elf
Binary files differ
diff --git a/fw/midi-dials/build/midi-dials.hex b/fw/midi-dials/build/midi-dials.hex
new file mode 100644
index 0000000..42a4578
--- /dev/null
+++ b/fw/midi-dials/build/midi-dials.hex
@@ -0,0 +1,1104 @@
+:020000040800F2
+:100000000040002049410008550800085708000832
+:1000100000000000000000000000000000000000E0
+:100020000000000000000000000000005908000867
+:1000300000000000000000005B0800085D080008E8
+:100040009941000899410008994100089941000828
+:100050009941000899410008994100089941000818
+:100060009941000865080008994100089941000875
+:1000700099410008994100089941000899410008F8
+:1000800099410008994100089941000899410008E8
+:1000900099410008994100089941000899410008D8
+:1000A00099410008994100089941000899410008C8
+:1000B0009941000899410008994100087508000815
+:1000C0000448054B10B5834203D0044B002B00D0ED
+:1000D000984710BD88010020880100200000000022
+:1000E00006480749091A8910CB0F591810B549104D
+:1000F00003D0044B002B00D0984710BD880100208E
+:10010000880100200000000010B5074C2378002B68
+:1001100009D1FFF7D5FF054B002B02D0044800E0C2
+:1001200000BF0123237010BD8801002000000000E3
+:100130009C410008054B10B5002B03D0044905482D
+:1001400000E000BFFFF7CCFF10BDC046000000007C
+:100150008C0100209C41000870B50D4E0D4DAD1B6B
+:10016000AD1006D00024A300F35801349847A542EF
+:10017000F9D104F013F8084E084DAD1BAD1006D0B0
+:100180000024A300F35801349847A542F9D170BD6B
+:1001900010430008104300081043000814430008EF
+:1001A00010B5034B0100186800F0B2F810BDC0464E
+:1001B0000000002010B5034B0100186800F052F851
+:1001C00010BDC04600000020F0B5830746D0541E85
+:1001D000002A42D0CEB20200032502E01A00013C00
+:1001E0003BD3531C16702B42F8D1032C2DD9FF2280
+:1001F0000A40150215432A0415430F2C16D927006F
+:10020000103F3F093E01B4461E001A0010366644F6
+:10021000156055609560D5601032B242F8D10F225A
+:1002200001373F01DB191440032C0ED9261FB608F5
+:10023000B700BC461A001F1D674420C2BA42FCD159
+:1002400003220136B6009B191440002C05D0C9B218
+:100250001C19197001339C42FBD1F0BD140003003E
+:10026000C3E7C04670B50500002915D00C1F2368F0
+:10027000002B27DB280000F0C3F8244B1A68002A63
+:1002800005D0A2420CD92168601882421CD062605D
+:1002900028001C6000F0B6F870BDA34203D81A0015
+:1002A0005368002BF9D111685018A04219D012D808
+:1002B00021686018834221D063605460280000F0F8
+:1002C000A1F8E9E7E418D5E710685268844661446C
+:1002D00021606260DCE70C2328002B6000F092F8BC
+:1002E000DAE720680918501811608342E6D11868CF
+:1002F0005B688446614411605360DFE718685B689F
+:1003000084466144216063605460D7E7A401002003
+:10031000F8B50323CD1C9D43083506000C2D2AD2C9
+:100320000C25A94229D8300000F06AF82A4F3A6813
+:10033000002A0AD013685B1B04D440E023685B1BCF
+:100340001FD522005468002CF8D17B68002B3DD0CB
+:100350002900300000F042F8431C29D00323C41CBC
+:100360009C43A04205D0211A300000F037F8431C0E
+:100370001ED025600AE0002DD3DA0C230020336064
+:10038000F8BD0B2B0FD92360E4182560300000F076
+:1003900039F8200007220B30231D9043C31AEFD0F9
+:1003A0005A42E250ECE7A2420DD063685360EDE799
+:1003B0000C233000336000F025F80020E0E7140043
+:1003C0000B2BE0D854683C601400DFE700213000BC
+:1003D00000F004F87860BBE7A4010020002370B5AA
+:1003E000064C05000800236000F00EF8431C00D006
+:1003F00070BD2368002BFBD02B60F9E7B40A002006
+:100400007047C0467047C046044A1368002B00D1AD
+:10041000034B1818106018007047C046AC0100204C
+:10042000B80A0020002243088B4274D303098B4290
+:100430005FD3030A8B4244D3030B8B4228D3030CB4
+:100440008B420DD3FF22090212BA030C8B4202D356
+:100450001212090265D0030B8B4219D300E0090A7E
+:10046000C30B8B4201D3CB03C01A5241830B8B4287
+:1004700001D38B03C01A5241430B8B4201D34B0370
+:10048000C01A5241030B8B4201D30B03C01A5241D5
+:10049000C30A8B4201D3CB02C01A5241830A8B425A
+:1004A00001D38B02C01A5241430A8B4201D34B0243
+:1004B000C01A5241030A8B4201D30B02C01A5241A7
+:1004C000CDD2C3098B4201D3CB01C01A524183095B
+:1004D0008B4201D38B01C01A524143098B4201D395
+:1004E0004B01C01A524103098B4201D30B01C01AC0
+:1004F0005241C3088B4201D3CB00C01A524183083A
+:100500008B4201D38B00C01A524143088B4201D366
+:100510004B00C01A5241411A00D2014652411046C6
+:100520007047FFE701B5002000F006F802BDC046A5
+:100530000029F7D076E770477047C04630B589B0DC
+:100540001422002103A8FFF73FFE134B59698020B6
+:10055000C002014359615A6902400192019A5A69E5
+:10056000802189020A435A615B690B400293029B16
+:100570008025AD01094C00222900200001F038FE41
+:1005800003950123049300230593069303A92000F8
+:1005900001F062FD09B030BD0010024000040048C7
+:1005A00000B583B0094A5169012319435161526969
+:1005B00013400193019B00220021092001F000FF5C
+:1005C000092001F02FFF03B000BDC046001002401B
+:1005D000F0B585B00C22002101A8FFF7F5FD264CEF
+:1005E000264B236000236360A360E360012525613F
+:1005F0000826666123766376A576E376C222FF320B
+:10060000E26123622433E554A562200000F08CFEF1
+:1006100080235B01029306270397019501A920001F
+:1006200000F0E2FF0223019301A9200000F0DCFFAB
+:100630000323019301A9200000F0D6FF04230193B6
+:1006400001A9200000F0D0FF0523019301A920009B
+:1006500000F0CAFF019701A9200000F0C5FF0723A1
+:10066000019301A9200000F0BFFF019601A920001D
+:1006700000F0BAFF05B0F0BDA8040020002401403E
+:1006800010B598B0302200210CA8FFF79DFD102274
+:10069000002107A8FFF798FD1C2200216846FFF7FC
+:1006A00093FD30230B932F3B139310930F33119330
+:1006B0000BA801F03FF807230793043B089300249D
+:1006C00009940A94012107A801F01EFB80239B02D4
+:1006D00000930694684601F0B7FB18B010BD000007
+:1006E00070B501F085FCFFF7CBFFFFF727FFFFF7A1
+:1006F00057FFFFF76DFF02F055FB082240494148C4
+:1007000000F0D0FE02F07AFD002815D18026B60157
+:100710003D4D01223100280001F06AFDFA246400F9
+:10072000200001F087FC00223100280001F060FD6C
+:10073000200001F07FFCE9E7344AFE235B00D35C34
+:10074000032B06D08021002289012F4801F050FDA3
+:10075000F2E78021012289012B4801F049FD12E0D6
+:100760008025AD01284C01222900200001F040FD28
+:10077000C82001F05FFC00222900200001F038FDB4
+:10078000C82001F057FC214AFE235B00D35C032BF9
+:10079000E6D18021012289011B4801F029FD02F0E8
+:1007A0006BFF00241AE05200194BD0526A00194B1B
+:1007B000D15AFFF737FE7F230340174A5355174896
+:1007C000C3702300503B4370042102F079FD03F015
+:1007D0000FFC022001F02EFC0134E4B2072CD2D829
+:1007E00025000F4B1A5D53000549585A084E9B5B74
+:1007F0001E003236B042D6DA323B9842ECDCD2E709
+:10080000E0010020A804002000040048EC040020BF
+:10081000C801002064000020D80100207C000020D6
+:100820007400002070B58025AD01094C012229001B
+:10083000200001F0DDFC642001F0FCFB0022290017
+:10084000200001F0D5FC642001F0F4FBEBE7C0468A
+:10085000000400487047FEE77047704710B501F08C
+:10086000D7FB10BD10B5024801F055FD10BDC046C4
+:10087000F001002010B5024802F016F910BDC04684
+:100880003402002082B00A4B996901221143996118
+:1008900099690A400092009ADA69802149050A4361
+:1008A000DA61DB690B400193019B02B07047C046DF
+:1008B0000010024030B589B004001422002103A8C2
+:1008C000FFF782FC274B22689A4201D009B030BD65
+:1008D000254B996980208000014399619A69024003
+:1008E0000092009A596980208002014359615A6937
+:1008F00002400192019A5A698021C9020A435A6151
+:100900005B690B400293029BFF230393032504952D
+:10091000902003A9C00501F09FFB012303930495D8
+:100920000025059503A9114801F096FB1048114BCD
+:100930000360456085608023C3608033036180234A
+:10094000DB0043612023836180235B01C36101F0ED
+:100950007FFC002803D1064B23635C62B6E7FFF7F8
+:1009600061FFF8E700240140001002400004004845
+:10097000F0010020080002404022835A02490B4344
+:100980009BB283520020704780BFFFFF4022835AF2
+:1009900002490B40835200207047C0467F40000050
+:1009A00084B010B503910492059340220123835231
+:1009B00000238352043283520C328352FFF7DCFF50
+:1009C000002010BC08BC04B018470000F0B50D783A
+:1009D000AD0045192B88B14A1340CA78012A54D07A
+:1009E000002A48D0022A03D0032A49D0012400E07B
+:1009F0000024AB4A13439BB22B800B789E008619D0
+:100A000035882DB2A74F3D402B439BB21A4392B27B
+:100A100032800B7B002B00D094E04B78002B44D02D
+:100A20005023C25A82180B78DB009B188022D20018
+:100A300094466344CA88520852001A800B789B007F
+:100A4000C3181A88520606D51A883D001540964AE2
+:100A50002A4392B21A80CB78012B1BD00B789B00D3
+:100A6000C0180388914A134020225A408C4B1343EC
+:100A70009BB2038051E08022920013430024B8E728
+:100A8000C022D20013430024B3E78022D2001343D4
+:100A90000024AEE70B789B00C0180388834A1A40F5
+:100AA0007F4B13439BB2038037E05025425B821893
+:100AB0000B78DB009B187E4A94466344CA88520830
+:100AC00052001A80425B82180B78DB009B18794A2F
+:100AD000944663440A69002A21D11A88764D15404C
+:100AE000764A2A431A800B789B00C3181A8852044E
+:100AF00006D51A886B4D1540714A2A4392B21A8066
+:100B00000B789B00C01802886E4B1A40C0239B01D3
+:100B10005A40634B13439BB203802000F0BD3E2A32
+:100B200006D85508D20700D50135AD021D80DAE799
+:100B30005509D20600D1013DAD02ADB25F4A154361
+:100B40001D80D0E70B789B00C3181A88554D1540BF
+:100B50005D4A2A4392B21A805025425B82180B7874
+:100B6000DB009B188022D200944663440A89520815
+:100B700052001A80425B82180B78DB009B184C4AAB
+:100B8000944663444A89520852001A804B78002BDD
+:100B90003AD10B789B00C3181A88520406D51A88DC
+:100BA000404D1540464A2A4392B21A800B789B006A
+:100BB000C3181A88520606D51A883A4D15403A4A83
+:100BC0002A4392B21A800B789B00C3181A88354DBD
+:100BD0001540354A2A4392B21A800A789200821848
+:100BE0001388384D1D40C0239B016B402C4D2B4377
+:100BF0009BB213800B789B00C01803882B4A1340CC
+:100C00002B439BB2038088E70B789B00C3181A889C
+:100C1000520406D51A88234D1540294A2A4392B218
+:100C20001A800B789B00C3181A88520606D51A88BA
+:100C30001C4D15401C4A2A4392B21A800B789B0027
+:100C4000C3181A88174D15401D4A2A4392B21A80BC
+:100C5000CB78012B16D00B789B00C3181A88134D44
+:100C60002A40202555400E4A2A4392B21A800B781A
+:100C70009B00C3181A8813491140094A0A4392B2CB
+:100C80001A804AE70B789B00C3181A88074D154055
+:100C9000034A2A4392B21A80E9E7C0468F89FFFFD0
+:100CA0008080FFFF8F8FFFFFC080FFFFBF8FFFFFA0
+:100CB0000404000006040000FF83FFFF0080FFFF24
+:100CC00080C0FFFF8FBFFFFF8081FFFF10B50B7B50
+:100CD000002B33D14B78002B18D00B789B00C31816
+:100CE0001A88520606D51A884E4C14404E4A2243A2
+:100CF00092B21A800B789B00C01803884B4A1A40A6
+:100D00004B4B13439BB20380002010BD0B789B001C
+:100D1000C3181A88520406D51A88424C1440454A12
+:100D2000224392B21A800B789B00C0180388424A73
+:100D30001A403F4B13439BB20380E5E74B78002BEF
+:100D400037D10B789B00C3181A88520406D51A882D
+:100D5000344C1440374A224392B21A800B789B00DD
+:100D6000C3181A88520606D51A882E4C14402E4AEB
+:100D7000224392B21A800B789B00C3181A88294C20
+:100D80001440294A224392B21A800C78A400041914
+:100D90002388294A1340264A13439BB223800B78A9
+:100DA0009B00C018038821490B401A4392B202806D
+:100DB000AAE70B789B00C3181A88520406D51A8834
+:100DC000184C14401B4A224392B21A800B789B00A5
+:100DD000C3181A88520606D51A88124C1440124AB3
+:100DE000224392B21A800B789B00C3181A880D4CCC
+:100DF0001440104A224392B21A800C78A4000419BD
+:100E000023880A4A13400A4A13439BB223800B7873
+:100E10009B00C018038808490B401A4392B2028015
+:100E200072E7C0468F8FFFFFC080FFFFBF8FFFFFBD
+:100E30008080FFFF80C0FFFF8FBFFFFF4B78002B3C
+:100E40000ED10B789B00C01802880C4B1A408023EF
+:100E50005B015A400A4B13439BB20380002070474A
+:100E60000B789B00C0180388064A134010225A4092
+:100E7000034B13439BB20380F0E7C0468FBFFFFFD5
+:100E80008080FFFFBF8FFFFF10B50B7B002B39D198
+:100E90004B78002B1CD00B789B00C3181A88520685
+:100EA00006D51A88184C1440184A224392B21A8068
+:100EB000CB78012B26D00B789B00C0180388144AEE
+:100EC000134020225A40134B13439BB2038019E076
+:100ED0000B789B00C3181A88520406D51A880A4C4E
+:100EE00014400D4A224392B21A800B789B00C0181E
+:100EF00002880A4B1A40C0239B015A40054B1343FA
+:100F00009BB20380002010BD8F8FFFFFC080FFFFCA
+:100F1000BF8FFFFF8080FFFF80C0FFFF8FBFFFFFFD
+:100F2000002902D14C238022C252002070470000C9
+:100F30005822835A02490B439BB2835200207047C8
+:100F40000080FFFF4423C05A80B2704700207047E2
+:100F500010B501335B0812188020C000844662443B
+:100F600007E008784C7824020443148002320231EE
+:100F7000013B002BF5D110BD70B505000C00497880
+:100F800001292BD0A26923699A4200D8D8E0D21A4D
+:100F9000A261227B002A00D0E9E05032A95A6918E8
+:100FA0002278D2005218A0498C466244002B00D00F
+:100FB000CAE013889D4919409D4B0B431380237849
+:100FC0009B00ED182A889B4B1A40C0239B015A4076
+:100FD000994B13439BB22B80002070BDA2692369FB
+:100FE0009A421DD9D21AA261227B002A1CD02278F3
+:100FF000900028180088400664D5002939D1503166
+:10100000695A6918D200521887498C466244002BED
+:101010001CD111888548084085490143118031E081
+:101020000023A3611300DFE79EB2E2883300616909
+:101030002800FFF78DFF5023EA5AAA182378DB0017
+:101040009B187E4A944663441E802EE03E2B06D8B1
+:101050005908D80700D501318902118012E05909D9
+:10106000D80600D10139890289B271480143118043
+:1010700008E05021695A6918D20052186A498C4612
+:101080006244138062899BB261692800FFF760FFA8
+:101090006378002B47D123789B00EB181A886849A6
+:1010A0001140684A0A4392B21A8023789B00ED18D7
+:1010B0002B88654A134030225A405F4B13439BB242
+:1010C0002B8089E7002923D15031695A6918D20051
+:1010D00052185A498C466244002B06D11188534855
+:1010E00008405349014311801BE03E2B06D85908A4
+:1010F000D80700D501318902118012E05909D806BC
+:1011000000D10139890289B249480143118008E0C0
+:101110005021695A6918D200521848498C466244D5
+:1011200013802289AFE7012BBFD123789B00EB18F6
+:101130001A8843491140454A0A4392B21A80B4E7DB
+:101140000023A361130024E73E2B06D85908DB07D0
+:1011500000D501318902118031E75909DB0600D140
+:101160000139890289B2324B1943118027E70029DE
+:1011700010D15022A95A69182278D20052182F494A
+:101180008C466244002B1AD111882848084028490F
+:10119000014311806278002A37D15032A95A691868
+:1011A0002278D200521820498C466244002B19D173
+:1011B00013881E4919401E4B0B431380FFE63E2B3C
+:1011C00006D85908D80700D5013189021180E1E716
+:1011D0005909D80600D10139890289B2144801435E
+:1011E0001180D7E73E2B06D85908DB0700D501311F
+:1011F00089021180E3E65909DB0600D10139890231
+:1012000089B20B4B19431180D9E6012A00D0D6E6EA
+:101210004F32A95A69182278D200521802498C46D6
+:1012200062441380CBE6C04606040000FF83FFFF44
+:101230000080FFFF8FBFFFFF8080FFFF02040000E0
+:101240008F8FFFFFC080FFFFBF8FFFFF80C0FFFFBA
+:1012500030B55D0812188020C0008446624407E063
+:101260001488A4B202320C70240A4C700231013D81
+:10127000002DF5D1DB0701D513880B7030BD0000C0
+:1012800030B583B0040000230193036899680322FA
+:101290000A40012A0ED09968204A114212D19A6858
+:1012A00001210A439A601E4B18681E49FFF7BAF8DD
+:1012B000019015E01A68D2072DD4DA681204EAD535
+:1012C000002008E0A36B10221343A363E36B0F3AE3
+:1012D0001343E363012003B030BD019B013B019345
+:1012E000019B002BF9D100F09FFE050023681B68CD
+:1012F000DB070ED400F098FE401B0228F6D9A36B42
+:1013000010221343A363E36B0F3A1343E3630120FB
+:10131000E1E70020DFE70020DDE7C046170000809E
+:101320008401002040420F0070B5041E00D1B1E0DE
+:10133000836B002B7ED0A36BDB0600D5A4E0216875
+:101340008B6804221A4000D09EE0A36B52480340F1
+:101350000630FF300343A363886803230340012B57
+:101360006ED0CB6818208343A0680343CB6021680C
+:101370000B699B009B08606803430B612168CB6885
+:1013800046480340CB60237E9B03617EC9030B4329
+:10139000A17E48030343A06A012858D08020400161
+:1013A0000343E06803432069022852D013432422F8
+:1013B000A25C52001343E27E012A4CD0E269C221B2
+:1013C000FF318A4202D0216A0A4313432168CA6866
+:1013D0001A43CA60E26A802149058A420DD0012A77
+:1013E0000BD0022A09D0032A07D0042A05D0052AE7
+:1013F00003D0062A01D0072A0AD1206841690722B2
+:101400009143416120684169E56A2A400A4342618B
+:101410002268D26822490A409A422BD0A36B12223A
+:101420009343023A1343A363E36B0F3A1343E3631B
+:1014300001202EE0C36334228354FFF73BFA7AE79E
+:101440000B68DB079AD4CB681B0497D489E710009C
+:10145000A6E70422AAE7002903D1802252021343FF
+:10146000ACE7A26B20210A43A263E26B1F390A4357
+:10147000E263A3E70023E363A36B03229343023AEF
+:101480001343A363002004E0A36B10221343A36360
+:10149000012070BD0120FCE7FDFEFFFF1902FEFFE9
+:1014A000E7FF3F83F8B504000E00170003689B6850
+:1014B0005B073ED43423C35C012B3CD03423012290
+:1014C000C254437E012B32D0FFF7DAFE051E2CD129
+:1014D000A36B1A4A1A4080235B001343A3630023C3
+:1014E000E3633422A354236B154A9A62236B154A93
+:1014F000DA62236B144A1A6323681C221A6022687A
+:10150000536810210B4353602268D3680F390B4393
+:10151000D360216840313B003200206B00F0C0FEF8
+:101520002268936804210B4393602800F8BD0025CE
+:10153000CEE70225F9E70225F7E7C046FEF0FFFFF8
+:1015400051150008C3150008CF15000870470000AA
+:1015500010B5436A9A6B5021114203D01B6B1B6B71
+:10156000984710BD996B802292000A439A631A68CB
+:10157000D068C0210901084213D1997E002910D1F9
+:10158000116809070DD5916849070ED451680C20E0
+:10159000814351609A6B09490A400431FF310A4383
+:1015A0009A631800FFF7D2FFDBE79A6B20210A430A
+:1015B0009A63DA6B1F390A43DA63F2E7FEFEFFFF34
+:1015C000704710B5406AFFF7FBFF10BD704710B5BC
+:1015D000406A836B402213438363C36B3C3A1343DB
+:1015E000C363FFF7F3FF10BD30B583B004000023E1
+:1015F00001933433C35C012B00D18AE034230122F0
+:10160000C25403689A68520775D4434A48689042A6
+:1016100056D09A6A01200D68A84002439A62E36A94
+:101620008022520593421ED0012B1CD0022B1AD0CF
+:10163000032B18D0042B16D0052B14D0062B12D058
+:10164000072B10D02268506907230340886898420E
+:1016500009D05069072398435061206842698D681A
+:101660002B40134343610B681A00103A022A4CD8EE
+:101670002A4A1268102B0ED0112B09D080235B044C
+:101680001343264A13600B68102B07D0002037E065
+:101690008023DB03F4E780231B04F1E7204B186869
+:1016A0002049FEF7BFFE830018184300019302E0B3
+:1016B000019B013B0193019B002BF9D100201FE00E
+:1016C0009A6A01200D68A84082439A620B681A004A
+:1016D000103A022A1BD8114A1268102B09D0112B7C
+:1016E00005D0114B13400D4A1360002008E00F4B4A
+:1016F000F8E70F4BF6E7836B202213438363012047
+:1017000034230022E25403B030BD0020F8E700206B
+:10171000F6E70220F7E7C046011000000827014065
+:101720008401002040420F00FFFFFFFEFFFFBFFFCC
+:10173000FFFF7FFF70B582B0041E00D185E2036811
+:10174000DB072BD5B34B5A680C231340042B1DD059
+:10175000B04B5A680C231340082B0ED06368012B42
+:1017600041D0002B56D1AB4B1A68AB490A401A60E6
+:101770001A68AA490A401A603BE0A64B5B68C0227F
+:1017800052021340802252029342E7D1A14B1B68C0
+:101790009B0303D56368002B00D159E223689B07A4
+:1017A00078D59C4B5B680C221A4262D0994B5A68E0
+:1017B0000C231340082B53D0E368002B00D18BE09F
+:1017C000944A136801210B43136000F02DFC0500BF
+:1017D000904B1B689B0776D400F026FC401B022828
+:1017E000F6D9032032E28B4A116880235B020B4357
+:1017F00013606368002B25D000F016FC0500854BB4
+:101800001B689B03CAD400F00FFC401B6428F6D968
+:1018100003201BE2052B09D07E4B1A687E490A4043
+:101820001A601A687D490A401A60E2E7794B196824
+:101830008022D2020A431A601968802252020A43A7
+:101840001A60D6E700F0F0FB0500724B1B689B03A3
+:10185000A4D500F0E9FB401B6428F6D90320F5E18C
+:101860006C4B5B68C02252021340802212029342EA
+:10187000A2D1684B1B689B0704D5E368012B01D0FC
+:101880000120E3E163490B68F82293432269D20007
+:1018900013430B6023681B0744D5E369002B2ED04C
+:1018A0005C4A536A01210B43536200F0BDFB050003
+:1018B000584B5B6A9B0735D400F0B6FB401B0228EF
+:1018C000F6D90320C2E153490B68F82293432269F9
+:1018D000D20013430B60DDE74E4A136801218B43AE
+:1018E000136000F0A1FB05004A4B1B689B07D1D594
+:1018F00000F09AFB401B0228F6D90320A6E1454AD6
+:10190000536A01218B43536200F08EFB0500414B6B
+:101910005B6A9B0706D500F087FB401B0228F6D9BF
+:10192000032093E123685B0700D47FE0394BDB6938
+:10193000DB001DD4374AD169802040050143D161C5
+:10194000D36903400193019B0125354B1B68DB05DF
+:1019500010D5A368012B21D0002B36D12D4B1A6A4C
+:1019600001218A431A621A6A03318A431A621AE011
+:101970000025EAE72A4A116880235B000B431360C5
+:1019800000F052FB0600264B1B68DB05E1D400F09B
+:101990004BFB801B6428F6D9032057E11D4A136ACC
+:1019A00001210B431362A368002B24D000F03CFB01
+:1019B0000600184B1B6A9B0736D400F035FB801BD2
+:1019C000184B9842F5D9032040E1052B09D0114B63
+:1019D0001A6A01218A431A621A6A03318A431A6217
+:1019E000E1E70C4B1A6A04210A431A621A6A0339A6
+:1019F0000A431A62D7E700F017FB0600054B1B6A83
+:101A00009B0711D500F010FB801B064B9842F5D9BF
+:101A100003201BE100100240FFFFFEFFFFFFFBFF62
+:101A20000070004088130000012D3AD02368DB06C7
+:101A300010D56369012B3AD0053358D1884A536BCE
+:101A400004218B435363536BF4318B43A169C90069
+:101A50000B43536323689B0600D482E0804B5A6893
+:101A60000C2313400C2B60D07D4B5A680C23134081
+:101A7000082B53D0236A002B60D0794A516B802306
+:101A80005B020B43536300F0CFFA0500744B5B6BB2
+:101A9000DB0366D400F0C8FA401B0228F6D9032005
+:101AA000D4E06F4AD3696F490B40D361BEE76C4BFA
+:101AB0005A6B04210A435A635A6B03390A435A6327
+:101AC00000F0B2FA0500664B5B6B9B0706D400F092
+:101AD000ABFA401B0228F6D90320B7E060494B6BF4
+:101AE000F8229343A269D20013434B63B2E75C4BE5
+:101AF0005A6B04210A435A635A6B03398A435A6367
+:101B000000F092FA0500564B5B6B9B07A2D500F0E4
+:101B10008BFA401B0228F6D9032097E0504B5B68F4
+:101B2000C022520213409342A4D14D4B5B6BDB03A6
+:101B300017D5236A012B14D0012087E0484A536B44
+:101B400049490B40536300F06FFA0500444B5B6B4F
+:101B5000DB0306D500F068FA401B0228F6D9032003
+:101B600074E0636A002B00D174E03D4A51680C2296
+:101B70000A40082A4DD0022B12D0394A13683B493B
+:101B80000B40136000F050FA0400354B1B689B01BA
+:101B90003DD500F049FA001B0228F6D9032055E094
+:101BA0002F4A136831490B40136000F03DFA0500DD
+:101BB0002B4B1B689B0106D500F036FA401B022810
+:101BC000F6D9032042E0264BDA6A0F218A43216BC3
+:101BD0000A43DA625A6826490A40E16AA06A014368
+:101BE0000A435A601968802252040A431A6000F0BE
+:101BF0001BFA04001A4B1B689B0106D400F014FA70
+:101C0000001B0228F6D9032020E000201EE000205F
+:101C10001CE0012B20D0124B5A68D96AC0235B020A
+:101C20001340A06A834201D001200FE00F230B4034
+:101C3000216B8B4201D0012008E0F0239B031A4066
+:101C4000E36A9A420AD0012000E0012002B070BD90
+:101C50000120FBE70020F9E70120F7E70020F5E786
+:101C600000100240FFFFFFEFFFFFFEFFFFFFFFFE40
+:101C7000FF7FC2FF30B589B004AA1F4B180032C8DD
+:101C800032C2110002680A606A46103313CB13C2D5
+:101C90001B681360194B5A680C231340082B04D09F
+:101CA0000C2B26D0164809B030BD910C0F231940DB
+:101CB00004A8445C1149C96A0B406946C95CC02349
+:101CC0005B021A4080235B029A4208D0C0235B0269
+:101CD0009A4209D00A48FEF7A5FB6043E3E70848AB
+:101CE000FEF7A0FB6043DEE70648FEF79BFB604380
+:101CF000D9E70448D7E7C046B441000800100240C5
+:101D000000127A00006CDC0270B504000D0000289F
+:101D100000D189E0464B1A68012313408B420BD255
+:101D200043490B68012293432B430B600B681A4015
+:101D3000AA4201D0012078E023689A070ED55B07FC
+:101D400005D53C4A5168E023DB000B435360394A18
+:101D50005368F0218B43A1680B4353602368DB0772
+:101D600035D56368012B09D0022B24D0032B28D052
+:101D7000304A1268920705D4012056E02D4A1268B5
+:101D8000920353D52B494A680320824313434B6087
+:101D900000F04AF90600274B5B680C221A40636882
+:101DA0009B009A4213D000F03FF9801B224B9842CF
+:101DB000F1D9032039E01F4A12689201E2D40120D0
+:101DC00033E01C4A526BD203DCD401202DE0184BC7
+:101DD0001A6801231340AB420BD915490B68012245
+:101DE00093432B430B600B681A40AA4201D0012099
+:101DF0001BE023685B0706D50E4A53680F490B406A
+:101E0000E1680B435360FFF735FF0A4B5A6812092C
+:101E10000F2313400A4AD35CD8400A4B18600020B5
+:101E200000F0BEF8002000E0012070BD0120FCE7BA
+:101E3000002002400010024088130000FFF8FFFF5E
+:101E4000004300088401002070B582B004000368DC
+:101E5000DB0335D54B4BDB69DB0066D4494AD169DE
+:101E6000802040050143D161D36903400193019B68
+:101E70000125454B1B68DB0559D5424B1B6AC02227
+:101E80009200134013D061680A409A420FD03D4B34
+:101E9000186A3E4A02401E6A802149023143196293
+:101EA000196A3B4E314019621A62C30753D4354A4E
+:101EB000136A36490B4061680B431362012D59D0F8
+:101EC0002368DB0706D52F4A136B03218B43A168D8
+:101ED0000B43136323689B0706D52A4A136B2D49CE
+:101EE0000B40E1680B43136323689B0606D5254A24
+:101EF000136B10218B4321690B43136323689B03EE
+:101F000006D5204A136B80218B43A1690B431363D1
+:101F100023685B0533D51B4A136B40218B436169F2
+:101F20000B431363002002B070BD0025A1E7164AE1
+:101F3000116880235B000B43136000F075F8060006
+:101F4000114B1B68DB0598D400F06EF8801B6428E9
+:101F5000F6D90320E7E700F067F80600094B1B6A93
+:101F60009B07A4D400F060F8801B0B4B9842F5D976
+:101F70000320D8E7D36909490B40D361A0E70020CB
+:101F8000D1E7C0460010024000700040FFFCFFFF98
+:101F9000FFFFFEFFFFFFFCFF88130000FFFFFFEFC6
+:101FA00010B504000F4B1978FA208000FEF73AFABA
+:101FB00001000D4B1868FEF735FA00F03FFA0028D3
+:101FC0000DD1032C01D901200AE0013000222100AB
+:101FD000404200F0F5F9054B1C60002000E00120B4
+:101FE00010BDC04680000020840100208400002035
+:101FF00010B5064A136810210B4313600020FFF749
+:10200000CFFFFEF73FFC002010BDC046002002407D
+:10201000034A1168034B1B785B1813607047C04676
+:10202000E804002080000020014B18687047C0467B
+:10203000E804002070B50400FFF7F6FF0500631CFC
+:1020400002D0044B1B78E418FFF7EEFF401BA042C0
+:10205000FAD370BD80000020F0B5C64600B582B04E
+:10206000002338E0042600E00026AE4035003D4362
+:102070000234A400574EA551574C25684246D4431C
+:102080002E0026404A68D20302D5424615432E0050
+:10209000514D2E606D682E0026404A68920302D58D
+:1020A000424615432E004C4D6E60AD682E00264012
+:1020B0004A68D20202D5424615432E00464DAE6014
+:1020C000ED682C404A68920202D542462A43140029
+:1020D000414AD46001330A681400DC4076D00125FF
+:1020E0009D402A409046F5D04C68022C01D0122C1D
+:1020F0000ED1DC080834A400275807261E40B6007D
+:102100000F22B24097430A69B24016003E43265060
+:1021100002685F0003242600BE40F6433240944626
+:102120004A681440BC406246144304604C68621E16
+:10213000012A03D9112C01D0122C10D1846834400B
+:10214000A446CC68BC406246144384604468AC43F7
+:102150004A681209012515409D4025434560C46821
+:1021600026408C68BC403443C4604A68D200B1D574
+:102170001A4DAE6901242643AE61AD692C4001942D
+:10218000019C9C08A51CAD00124EAF5903261E40B1
+:10219000B5000F26AE40B7439026F605B04200D1F9
+:1021A00062E70F4EB0420BD00E4EB0420AD00E4E38
+:1021B000B04209D00D4EB04200D153E7052654E796
+:1021C000012652E7022650E703264EE702B004BC80
+:1021D0009046F0BD000001400004014000100240A4
+:1021E0000004004800080048000C004800100048A7
+:1021F000002A01D1816270478161FCE770B5C56B2F
+:102200000124066CB4406C60046863604368102B62
+:1022100004D0036899600368DA6070BD03689A604F
+:102220000368D960F9E7000010B504000368064AA6
+:102230009446634418001421FEF7F4F880002064EB
+:10224000024BE36310BDC046F8FFFDBF0000024033
+:1022500070B5041E20D021250223435501680B6868
+:102260000E4A1A40436880680343E06803432069CC
+:10227000034360690343A0690343E06903431343D5
+:102280000B602000FFF7D0FF0023A36301226255FB
+:102290001F32A354002070BD0120FCE70FC0FFFFD8
+:1022A00070B504002020205C012832D020200125B8
+:1022B00025540130205C012804D020230022E25460
+:1022C000022070BD2030013525540020A063256810
+:1022D00028680126B04328602000FFF78FFFE36ADB
+:1022E000002B0BD0226813680E210B431360226869
+:1022F000136801210B4313600020E2E72268136892
+:102300000A210B4313602268136806398B4313605C
+:10231000EDE70220D5E770B5C36B1A68046825683D
+:10232000016C04238B401A4212D06B0710D523682E
+:102330009B0603D42368042293432360C26B0423C7
+:10234000016C8B405360C36A002B00D0984770BD6E
+:1023500002238B401A4218D0AB0716D523689B0680
+:1023600006D423680A22934323602123093AC254E6
+:10237000C26B0223016C8B40536020230022C254A5
+:10238000836A002BE3D09847E1E708238B401A4289
+:10239000DDD02B07DBD523680E2293432360C26B6D
+:1023A00001231900046CA1405160836321228354EE
+:1023B0001F330022C254036B002BC8D09847C6E7D6
+:1023C00070B5002811DB8308144DC0339B005C59A5
+:1023D00003221040C000FC3216008640B44389013D
+:1023E0000A40824022435A5170BDC0B20F230340BD
+:1023F000083B9B0806339B00094A944663445D688A
+:1024000003242040C000FF2214008440A54389011A
+:102410001140814029435960E6E7C04600E100E0F1
+:1024200000ED00E0002805DB1F2318401E3B834021
+:10243000014A13607047C04600E100E001380A4BD2
+:1024400098420FD8094A50600948036A1B021B0AC8
+:10245000C02109060B430362002393600733136016
+:10246000002070470120FCE7FFFFFF0010E000E0C4
+:1024700000ED00E030B587B0041E61D0314BC35C85
+:10248000002B07D02F4B0322E2542068FEF77EFA80
+:1024900000231AE08A239B000022C25400F09EFC15
+:1024A000F0E75A01A2181100293101200870013902
+:1024B0000B70D38610002B30002101709163D16323
+:1024C0009A1C520111510133DBB260688342E8D398
+:1024D000002215E05301E3181D002A35FF350021C5
+:1024E0002970013D2A70033529700D3529603D336F
+:1024F000FF33196013000A335B0119510132D2B264
+:102500009042E7D86A462300103323CB23C203CB83
+:1025100003C26168A268E3682068FEF741FA2423D9
+:102520000022E254074B0132E254E369012B02D04E
+:10253000002007B030BD200000F01FFC0020F8E7AD
+:102540000120F6E72902000070B504008A239B00F1
+:10255000C35C012B0DD08A25AD00012343550068D3
+:10256000FEF7E6FC2068FEF707FA0023635500201B
+:1025700070BD0220FCE770B504008A239B00C35C99
+:10258000012B0CD08A25AD00012343552333C154C0
+:102590000068FEF7C5FC00236355002070BD0220D3
+:1025A000FCE770B5050048B2002827DB07240C4083
+:1025B000640120002930FF3028182C192A34FF34F8
+:1025C000002626700724214001700261C370427802
+:1025D000002A00D0C181022B1BD08A239B00EB5C18
+:1025E000012B19D08A24A40001232B55010028684F
+:1025F000FEF7ECF900232B55002070BD07240C409A
+:1026000064012000283028182C192934012626704E
+:10261000D8E700230371E0E70220EEE770B504007D
+:102620004BB2002B1FDB07230B405B011A00293242
+:10263000FF328218C3182A33FF3300201870072393
+:10264000194011708A239B00E35C012B16D08A2568
+:10265000AD000123635511002068FEF737FB00230E
+:102660006355002070BD07230B405B011A00283220
+:102670008218C318293301201870E0E70220F1E71F
+:1026800070B507250D406C0121002931FF3141183B
+:10269000041926003D36FF3632602A000A32520104
+:1026A000135082180023536022002A32FF32137025
+:1026B0002934FF342570002D04D00068FEF75CFC3F
+:1026C000002070BD0068FEF757FCF9E770B50725DC
+:1026D0000D406C012100283141180419E263AA1C45
+:1026E0005201135082180023536023002933012222
+:1026F0001A7028342570002D04D00068FEF73CFCC9
+:10270000002070BD0068FEF737FCF9E7F0B5C6465B
+:1027100000B5050028684423C35A1BB2002B00DB18
+:10272000AAE14423C35A9BB20F241C4000D0BCE052
+:10273000DB0651D503889BB21A0500D57FE01BB29A
+:10274000002BE7DA0388CE4A13408022134303802C
+:1027500028685023C35A94225200AA5CD2009B18C6
+:102760001B18C84A944663441B889B059B0D2A008E
+:102770002932FF32D361002B0FD0516900290CD0D0
+:102780001400D288FEF764FD6369E26994466344ED
+:1027900063610021280000F04CFB2B6850229A5AFC
+:1027A0009B18B84A944663442A002932FF321269C2
+:1027B000002A67D11A88B4491140B44A0A431A80E2
+:1027C00029680A88B24B1A40C0239B015A40B14B7A
+:1027D00013439BB20B809DE70388AF4A1A40AB4B73
+:1027E00013439BB2038029685023CB5A2822AA5C4A
+:1027F000D2009B185B18A94A944663441B889B052A
+:102800009B0D6B64EA6B94466344EB6300212800E4
+:1028100000F01CFB2423EB5C002B00D17AE72B6C2F
+:10282000002B00D076E72422AB5C802149420B4389
+:10283000DBB2CC31286843520023AB546AE7502303
+:10284000C35A94225200AA5CD2009B181B188D4ACE
+:10285000944663441B889B059B0D2A002932FF3256
+:10286000D3618C2189006918D288FEF7F1FC2A68AF
+:10287000138883490B4080210B431380280000F00C
+:10288000CDFA47E73E2A06D85108D20700D50131D4
+:102890008902198094E75109D20600D101398902D1
+:1028A00089B27A4A114319808AE7A30098464044C6
+:1028B0000688B6B233B2002B30DB330600D429E7EA
+:1028C0002B6843441A001B88734919406F4B0B4314
+:1028D0009BB2138028685023C35A610169180A000B
+:1028E00028321278D2009B181B186C4A9446634415
+:1028F0001A889205920DA31C5B01E8184260C86B10
+:1029000084466244CA635B59002B00D0ACE00C00E3
+:1029100028342178280000F099FAFBE60388584A09
+:1029200013408022134303806301EB183533FF33D8
+:102930001B78002B1ED128685033C35A6201AA1895
+:102940002932FF321278D2009B181B184D4A944648
+:1029500063441F88BF05BF0D33D06301EB181A0015
+:102960002F32FF3212883D33FF3319683B00FEF7E8
+:102970006FFC26E028686301EB182933FF331B78CE
+:102980009A008218128852044BD55022825ADB00DA
+:10299000D3181B18414A944663441F88BF05BF0DD6
+:1029A00032D16301EB182933FF331A7892002B6878
+:1029B0009C46624413883A4919403A4B0B439BB2F8
+:1029C0001380390020000A3040012A185368DB19AF
+:1029D00053606301EB183D33FF331A689446674434
+:1029E0001F604359002B06D06201AA183932FF320A
+:1029F000126891422ED26301EB182933FF33197804
+:102A0000280000F016FA58E76301EB181A0031327B
+:102A1000FF3212883D33FF3319683B00FEF718FC84
+:102A2000BFE75022825ADB00D3181B18154A944680
+:102A300063441F88BF05BF0DB3D06301EB181A00B4
+:102A40003332FF3212883D33FF3319683B00FEF703
+:102A5000FFFBA6E76201AA182932FF3211783A007B
+:102A60002800FFF70DFE28E764012C19283421788F
+:102A70002800FFF72BFE4DE6002004BC9046F0BD79
+:102A80008F0F000006040000FF83FFFF0080FFFFA0
+:102A90008FBFFFFF8080FFFF0F8FFFFF020400004A
+:102AA0008F8FFFFFC080FFFF70B504000068FEF746
+:102AB00049FA030400D57BE02068FEF743FA43059A
+:102AC00000D579E02068FEF73DFA430405D521687A
+:102AD00044228B5A584803408B522068FEF732FA42
+:102AE000830405D5216844228B5A544803408B52F5
+:102AF0002068FEF727FAC30418D521684023CA5A74
+:102B000004208243CA522168CA5A04308243CA52FE
+:102B100098239B00E35C012B5CD0200000F0C6F9F9
+:102B2000216844228B5A464803408B522068FEF7A6
+:102B300009FA030557D42068FEF704FA030626D5E0
+:102B4000216844228B5A802083438B5298239B0018
+:102B5000E35C002B62D121684033CA5A042002434F
+:102B6000CA522168CA5A08200243CA5298239B00BD
+:102B70000122E25454232268D25A9208183B13408F
+:102B800099229200A3500121200000F009F9206849
+:102B9000FEF7D8F9830545D42068FEF7D3F9C305BD
+:102BA00005D5216844228B5A264803408B5270BDBC
+:102BB0002000FFF7ABFD7FE7216844228B5A2248B3
+:102BC00003408B52200000F053F900212000FFF752
+:102BD000D2FC77E798239B000022E25400212000DA
+:102BE00000F0DEF899E721684023CA5A0820024322
+:102BF000CA5220684421425A144D2A404252216848
+:102C0000CA5A04200243CA522068FEF79BF9C30443
+:102C100000D590E7200000F037F98CE7200000F0A5
+:102C200033F9B4E7216844228B5A094803408B5298
+:102C3000200000F016F9AFE7FFBFFFFFFFDFFFFF47
+:102C4000FFEFFFFFFFFEFFFFFFFBFFFFFFF7FFFFB1
+:102C5000FFFDFFFF70B5050007240C4043689C4250
+:102C600033D84BB2002B20DB4B0119002931FF3147
+:102C70004118C3182A33FF3300221A7001238B70C6
+:102C80000C708A239B00EB5C012B20D08A239B00D5
+:102C90000122EA542868FEF7D1F8002C0ED08A23CE
+:102CA0009B000022EA54002010E063011900283143
+:102CB0004118C318293301221A70DFE78C239B00C7
+:102CC000E9182868FEF742F9E9E7012070BD022003
+:102CD000FCE770B504000F230B40426893422FD8E5
+:102CE0004BB2002B21DB07230B405B011A0029327A
+:102CF000FF328218C3182A33FF33002018700023D4
+:102D000093700733194011708A239B00E35C012BF9
+:102D100018D08A25AD000123635511002068FEF705
+:102D2000B3F80023635500200BE007230B405B0141
+:102D30001A0028328218C318293301201870DEE7E0
+:102D4000012070BD0220FCE710B50C060DD507244C
+:102D50002140490128314018002A0BD0012202737A
+:102D600003811B0C4381002010BD49012931FF3133
+:102D70004018F1E70273C380F5E702689A239B00CD
+:102D80000121C150083B0021C1545423D15A0120D4
+:102D90000143D152D15A02200143D1520020704741
+:102DA0007047000010B5094C00220949200000F0CE
+:102DB00079FC0849200000F091FC0749200001F04F
+:102DC00067F9200000F093FC10BDC046EC04002021
+:102DD00088000020C4000020BC00002000B583B0A3
+:102DE00002680C4B9A4201D003B000BD0A4AD16977
+:102DF000802000040143D161D36903400193019B0A
+:102E0000002201211F20FFF7DBFA1F20FFF70AFB3A
+:102E1000EAE7C046005C00400010024010B5010027
+:102E20009C239B00C058403B9C46614400F07CFCC6
+:102E300010BD10B503009C22920080584A019B18D7
+:102E40003D33FF331A6800F0A3FC10BD10B503003A
+:102E50009C22920080584A019B18DA6B00F0D4FC47
+:102E600010BD10B59C239B00C05800F066FD10BD3E
+:102E700070B505009C24A4000121005900F048FD14
+:102E8000285900F022FD70BD10B504009C239B0062
+:102E9000C05800F040FDA369002B04D0024A13691A
+:102EA00006210B43136110BD00ED00E010B59C231B
+:102EB0009B00C05800F03AFD10BD000070B5040042
+:102EC0001B489C239B00C4508825AD006051194BC2
+:102ED000036008234360022282600023C360026112
+:102EE0008361C3610362FFF7C5FA18230022002142
+:102EF0006059FFF729FF5823002280216059FFF70E
+:102F000023FFC023002281216059FFF71DFF882382
+:102F10005B00002201216059FFF716FF60598023F2
+:102F20005B0000228221FFF70FFF002070BDC0462A
+:102F300034020020005C004010B588239B00C0587C
+:102F4000FFF702FB002803D0022803D0022010BDA7
+:102F50000020FCE70120FAE710B514001A008823CE
+:102F60009B00C0582300FFF71CFB002803D0022859
+:102F700003D0022010BD0020FCE70120FAE710B5C5
+:102F800088239B00C058FFF749FB002803D0022884
+:102F900003D0022010BD0020FCE70120FAE710B5A5
+:102FA00088239B00C058FFF755FE002803D0022855
+:102FB00003D0022010BD0020FCE70120FAE710B585
+:102FC00088239B00C058FFF784FE002803D0022806
+:102FD00003D0022010BD0020FCE70120FAE70A0020
+:102FE00088239B00C35849B2002907DB7F21114089
+:102FF00049015B182B33FF33187870477F2111404C
+:1030000049015B182A331878F7E710B588239B002D
+:10301000C058FFF7B0FA002803D0022803D00220DE
+:1030200010BD0020FCE70120FAE710B58824A400B9
+:103030000059FFF74BFB002803D0022803D00220E1
+:1030400010BD0020FCE70120FAE710B58824A40099
+:103050000059FFF715FB002803D0022803D00220F7
+:1030600010BD0020FCE70120FAE7000012230B80CE
+:1030700000487047A400002004230B8000487047DC
+:10308000B800002010B50A00002805D00549064800
+:1030900000F001FF034810BD0249034800F0FBFEA9
+:1030A000F8E7C046100700200442000810B50A00E7
+:1030B000034C2100034800F0EEFE200010BDC04686
+:1030C00010070020F041000810B50A00002805D0C4
+:1030D0000549064800F0DFFE034810BD02490348D9
+:1030E00000F0D9FEF8E7C0461007002010420008A3
+:1030F00010B50A00002805D00549064800F0CBFEAF
+:10310000034810BD0249034800F0C5FEF8E7C04679
+:1031100010070020D441000810B50A00002805D08F
+:103120000549064800F0B7FE034810BD02490348B0
+:1031300000F0B1FEF8E7C04610070020E0410008AB
+:1031400070B5002291420FD9084C2368865C084D67
+:10315000EE5401332360013280246400A342F1D194
+:10316000024B00241C60EDE7002070BDB801002078
+:10317000B4090020F0B5DE46474680B585B00600AC
+:103180008B089B4603270F40019727D0002005B0EE
+:103190000CBC90469B46F0BD00230093019C18E0B8
+:1031A00002230093FAE703230093F7E70123009338
+:1031B000F4E74346E3180133F35C02AAD11D0B7018
+:1031C0006B005B1998000B4BC01800F091FF0134A5
+:1031D000A4B26B461B88A342EBD80137BB45D5D9B7
+:1031E000BB009846F25C15090F2313409B00024A6E
+:1031F000D3589F46640900202042000810B50024DF
+:10320000002C07D00024002C11D0002000281BD057
+:10321000012010BD802163001B199800194BC018B4
+:10322000890000F04BFF012827D10134E8E7802115
+:1032300063001B199800144BC018890000F03EFF72
+:1032400001281CD10134DEE70022104B1A54810002
+:103250000F4B5B18DA7083011B180E495A54020099
+:1032600007E0810109180B4B5B189B18002159706E
+:1032700001323F2AF5D90130C8E70020C9E7002014
+:10328000C7E7C04664090020100900201C0900207F
+:10329000700900202009002010B50749411843009B
+:1032A000181883000548181800F03AFF012801D0CB
+:1032B000002010BD0120FCE71C090020100900209F
+:1032C00010B5042900D010BDFFF73AFFFBE700005E
+:1032D000F0B58F4B1A5C0F23110099430B0049B2D4
+:1032E000002924DB83008B495B5C022B00D1DCE0EE
+:1032F00000D8B7E0032B00D1EEE0042B60D18101B0
+:103300000918854B5B189A708200824B9B185B787A
+:10331000042B00D1F5E0032B52D183011B187E4A08
+:103320000221995483007B4A0231995448E0B02B22
+:1033300000D188E010D9D02B21D01ED9E02B00D1AC
+:1033400081E0F02B11D113001033D9B20F2932D8FC
+:103350008B007249CB589F46902B00D173E0A02B75
+:1033600000D170E0802B00D16DE06A4984000A1919
+:10337000002353706354937022E0C02BF5D1810178
+:103380000918654B5B185A70624A81005318032470
+:103390005C70023C8C5400229A7011E05D4C8500F8
+:1033A00066190127F770810109185B4B5B185A7089
+:1033B000777003232B558200564B9B1801229A707D
+:1033C0008000544BC35C042B00D19FE00020F0BD73
+:1033D000504D8600AB19D9788C460131C9B2D970ED
+:1033E0004D4F83011B18FC1864446270D9550423A7
+:1033F0007355E0E781010918474B5B185A70454B3C
+:103400008200991804244C700121D154D3E7810122
+:103410000918414B5B185A703E4B820099180324DF
+:103420004C700121D154C6E73B4983011B18CC18CD
+:10343000627001225A54374B8200991802244C7052
+:103440000421D154B7E781010918334B5B185A7036
+:10345000304A8100531804245C70033C8C540022D1
+:103460009A70ADE7012BABD1810109182A4B5B188B
+:103470009A708200274B9B185B78042B06D0032B95
+:1034800009D08300234A0021995499E71300214A67
+:103490000221995494E783011B181F4A0221995471
+:1034A00083001C4A023199548AE78100194B5B184A
+:1034B0005B78042B04D08300164A002199547FE7DF
+:1034C000154983011B18CC18E27003225A5483005B
+:1034D000104A0421995473E783000E4CE418E578F0
+:1034E000691CC9B2E170840124180B4B1B195B19CC
+:1034F0005A703F2900D863E78300064A0421995493
+:103500005EE71300034A0221995459E701205EE760
+:103510001C090020700900202009002060420008DA
+:10352000F0B583B007000023019304008200504BE4
+:103530009B185B78022B18D004D8012B23D10026CE
+:1035400000257CE0042B1ED88200494B9B189B78F9
+:10355000002B1CD00301DBB282011718454ABA5C6C
+:103560009B1801AA1370002127E00301DBB282013E
+:103570001218404FBF187A7812099B1801A80370DF
+:103580000421FFF79DFE00F033FD03B0F0BD030101
+:10359000DBB282011218374FBF187A7812099B18D4
+:1035A00001AA1370DFE7481CA2011219314B9B18C6
+:1035B0005B185A7801AB1A540100A20112192D4B65
+:1035C000D35C8B42EFD8042101A8FFF779FEDAE73C
+:1035D00001A8C3703B01DBB2043303700421FFF781
+:1035E0006FFE3FE0012D1CD0002D0CD0022D39D1F3
+:1035F0003B01DBB2073301A80370F723C37004213A
+:10360000FFF75EFE2EE03B01DBB2053301A803703D
+:10361000F72343700023C37083700421FFF750FE2B
+:1036200020E03B01DBB2063301A80370F72383706F
+:103630000023C3700421FFF743FE13E00136A3010A
+:103640001B190C4A9B5CB3429DD9A2011219094B6C
+:103650009B189B195B78F72BC4D0022DB8D06A1C3D
+:1036600001A98B540135022DE8D90025E6E7C046B3
+:10367000700900202009002070B50025002D00D021
+:1036800070BDECB22000FFF707FE012808D1200032
+:10369000FFF71EFE0028F4D02000FFF741FFF0E7FF
+:1036A0000135EBE710B5002816D085239B00C358E1
+:1036B000002B03D085239B000024C450002902D096
+:1036C00084239B00C150FE235B000121C154027082
+:1036D000FFF7F4FB002010BD0220FCE7002904D016
+:1036E00085239B00C150002070470220FCE710B5E5
+:1036F000FFF722FC002010BD10B585239B00C358A6
+:10370000002B07D01B689847002801D1002010BD6E
+:103710000220FCE70220FAE710B585239B00C3587E
+:103720005B689847002010BD70B5040082239B00A1
+:10373000C518280000F02CF9FA235B000122E250A2
+:10374000124BE25A163BE2501033E15CEA3BFF3B7E
+:103750000B40012B0FD0002B07D0022B10D07F2362
+:1037600099432000FFF71BFC03E02900200000F034
+:10377000B3FA002070BD2900200000F0D1FAF8E76C
+:103780002900200000F0EBFAF3E7C0460E0200002B
+:1037900010B504001300002929D1FA2252008258E2
+:1037A000032A01D0002010BD421DFF329168D2686B
+:1037B00091420FD885239B00C3581B69002B05D06D
+:1037C000FE225200825C032A00D19847200000F0BC
+:1037D0009EFBE7E7891A0530FF3081608A4200D9F5
+:1037E0000A0092B21900200000F089FBDAE7852375
+:1037F0009B00C3589B69002BD4D0FE225200825CF0
+:10380000032ACFD19847CDE770B5040013000029F3
+:103810004ED1FA2252008258022A06D080239B0001
+:10382000E35C012B3FD0002070BDC269056AAA424B
+:103830001ED8866929003000FCF77AFE002906D1DF
+:10384000B54204D8FC235B00E3589E421DD3852378
+:103850009B00E358DB68002B06D0FE225200A25CDE
+:10386000032A01D120009847200000F05CFBD5E737
+:10387000521BC26192B2190000F039FB00230022F2
+:1038800000212000FFF7E1FBC8E70022200000F044
+:103890002EFBFC235B000022E250002300212000CD
+:1038A000FFF7D3FBBAE780239B000022E254BAE77C
+:1038B00085239B00C3585B69002BB4D0FE225200C5
+:1038C000825C032AAFD19847ADE770B5040040236E
+:1038D00000220021FFF740FB402588235B00E550D4
+:1038E000D03B002280212000FFF736FB2562FE231B
+:1038F0005B000122E2541C33E358002B06D08523E1
+:103900009B00E3585B68217920009847002070BD38
+:10391000017400207047FE235B00C15CFE22FF3271
+:103920008154FA3AFF3AC25400207047FE23FF3315
+:10393000C25C013BC2540020704710B5FE235B00FF
+:10394000C35C032B01D0002010BD85239B00C3580E
+:10395000DB69002BF7D09847F5E70300002002E071
+:103960000130C0B201331A78002AF9D1704710B57E
+:1039700004004B88012B0AD181239B000122C250F5
+:103980001033C3589B689847200000F0C0FA10BD60
+:103990000B7803704B7843708B78CA7812029B18AF
+:1039A00043800B794A7912029B1883808B79CA79FC
+:1039B00012029B18C380704710B504008021FFF7E6
+:1039C000EEFA00212000FFF7EAFA10BD30B583B00F
+:1039D00004000D004A88130A072B00D98EE09B00D3
+:1039E0004F49CB589F4684239B00C3581B68007CDB
+:1039F0006A46911D98476B4606331B88002B03D0FF
+:103A0000EA88002A00D07EE003B030BD037C002BA2
+:103A100009D185239B00C3589B6A6A46901D98472D
+:103A200002234370E7E785239B00C358DB6A6A469D
+:103A3000901D984702234370DDE7D2B2052A39D89A
+:103A40009200384B9B589F4684239B00C3585B6869
+:103A5000007C6A46911D9847CDE784239B00C3589C
+:103A60009B68007C6A46911D9847C4E784239B00AD
+:103A7000C358DB68007C6A46911D9847BBE78423E6
+:103A80009B00C3581B69007C6A46911D9847B2E7AA
+:103A900084239B00C3585B69007C6A46911D98474C
+:103AA000A9E784239B00C3589B69007C6A46911D4B
+:103AB0009847A0E72900FFF77FFFA5E7037C002BCD
+:103AC00007D185239B00C3585B6B6A46901D9847BE
+:103AD00091E72900FFF770FF96E7037C002B09D1DF
+:103AE00085239B00C3581B6B6A46901D984707238C
+:103AF000437080E72900FFF75FFF85E7290020007A
+:103B0000FFF75AFF80E7191C934200D9111C8AB2B3
+:103B10006B46D9800100200000F0DBF974E7C04655
+:103B2000A0420008C042000870B504008B88002B3A
+:103B300022D1CB88002B1FD18B787F251D40FE23FF
+:103B40005B00C35C032B0FD0FF235B00C55429002F
+:103B5000FFF75BFA200000F0DAF9002D07D0FE2312
+:103B60005B000222E2540AE0FFF726FF07E0FE2393
+:103B70005B000122E25402E02000FFF71DFF70BD50
+:103B800070B504000D008978284B197001290AD8F6
+:103B9000FE235B00C35C022B09D0032B1ED029003F
+:103BA000FFF70AFF02E02900FFF706FF70BD0029BA
+:103BB00011D04160FE235B000322C254FFF79CFD3D
+:103BC000022803D0200000F0A2F9EFE7290020002E
+:103BD000FFF7F2FEEAE700F09AF9E7E7002911D0D3
+:103BE000436899421ED0D9B2FFF796FD0F4B197862
+:103BF00061602000FFF780FD02280ED0200000F059
+:103C000086F9D3E7FE235B000222C2544160FFF72E
+:103C100083FD200000F07BF9C8E729002000FFF7B2
+:103C2000CBFEC3E700F073F9C0E7C046B001002047
+:103C300010B5CB88012B09D1FE235B00C35C022B9E
+:103C400007D0032B0DD0FFF7B7FE01E0FFF7B4FE5E
+:103C500010BD0023836001000831012200F039F912
+:103C6000F6E7011D012200F034F9F1E710B5FE235B
+:103C70005B00C35C023BDBB2012B0ED80123C360A7
+:103C800081239B00C358002B01D00323C360010094
+:103C90000C31022200F01DF910BDFFF78DFEFBE78D
+:103CA00010B50400FE235B00C35C023BDBB2012BBA
+:103CB0000ED84B88012B0AD181239B000022C250D1
+:103CC0001033C3589B689847200000F020F910BDBE
+:103CD000FFF772FEFBE7000010B54B78092B19D8EF
+:103CE0009B000E4AD3589F46FFF770FE002010BD80
+:103CF000FFF71AFFFAE7FFF743FFF7E7FFF798FF31
+:103D0000F4E7FFF7B3FFF1E7FFF731FEEEE7FFF768
+:103D1000C7FFEBE7FFF750FEE8E7C046D8420008D0
+:103D200070B504000D00FE235B00C35C032B13D1B0
+:103D30000B79012B0DD885239B00C3589B689847AE
+:103D4000EB88002B01D0002070BD200000F0DFF8D0
+:103D5000F9E7FFF731FEF6E7FFF72EFEF3E770B560
+:103D600005000C008A88D1B2207860230340202B04
+:103D700008D1F533FF33EB589B68210028009847A2
+:103D8000002070BD6378012B2CD0002B52D0032B68
+:103D9000F6D1FA33FF33EB5C022B06D0032B0CD0A9
+:103DA00021002800FFF708FEEAE70029E8D0802973
+:103DB000E6D02800FFF7F3F8E2E76388002B06D18E
+:103DC000002904D0802902D02800FFF7E8F88523D5
+:103DD0009B00EB589B68210028009847280000F0C2
+:103DE00096F8CDE7FE235B00EB5C022B06D0032B9D
+:103DF0000CD021002800FFF7DFFDC1E70029BFD06C
+:103E00008029BDD02800FFF7CAF8B9E76388002BE6
+:103E1000B6D14B0603D1280000F079F8B0E72800AE
+:103E2000FFF7CDF885239B00EB589B682100280005
+:103E30009847F0E7FE235B00EB5C022B06D0032BD8
+:103E40000AD021002800FFF7B7FD99E74B0697D06D
+:103E50002800FFF7A4F893E7130612D47F240C4040
+:103E6000103424012C1904342800FFF7B8F8002876
+:103E70000ED00123236002222100280000F029F83F
+:103E80007EE77F240C40013424012C190434EBE735
+:103E900000232360EFE770B504000D001600002832
+:103EA00016D0FFF75AFD0130400080B230802870F4
+:103EB00003236B70013B08E001345A1CD2B2E95471
+:103EC0000233DBB2AA180021117021780029F3D146
+:103ED00070BD10B51300FA22520002248450836191
+:103EE000C3610A000021FFF7A0F8002010BD10B543
+:103EF00013000A000021FFF798F8002010BD10B54C
+:103F000013000A000021FFF7A0F8002010BD10B533
+:103F1000FA235B000422C250002300220021FFF795
+:103F200084F8002010BD10B5FA235B000522C250B2
+:103F3000002300220021FFF788F8002010BD0000B8
+:103F4000044B1B78012B01D000207047014B00224D
+:103F50001A70F9E7C00100208523038000487047EC
+:103F6000FC00002070B5040087239B00C258043376
+:103F7000C3580A314901591889881368054D28002A
+:103F8000984740232A0001212000FFF75EF8002017
+:103F900070BDC0467409002010B50400054B002216
+:103FA0001A608121FEF7EBFF01212000FEF7E7FFF9
+:103FB000002010BDC401002010B504000A4B186099
+:103FC000402302228121FEF7C7FF40230222012164
+:103FD0002000FEF7C1FF4023044A01212000FFF723
+:103FE00034F8002010BDC046C40100207409002030
+:103FF00010B5214B1B78012B28D0204B1A68802349
+:104000005B009A4223D01D4B19681D4B1B689942D7
+:1040100021D024D980235B005B1A1A4A1360194B04
+:10402000186840281FD98AB20B00403313490B602F
+:104030004038144B186040230F4901200870124982
+:104040005218124908688121FEF7EFFF10BD0B4B93
+:1040500000221A60D7E7084B00221A70F6E75B1AB5
+:10406000084A1360DBE78AB283B20918034801608B
+:10407000044900200860DFE7C0010020BC010020E7
+:10408000B8010020B4010020B4090020C4010020C0
+:10409000002904D087239B00C150002070470220D4
+:1040A000FCE710B504008068002801D0FCF782F816
+:1040B000002363802380A380012010BD70B505001C
+:1040C0000C00FFF7EEFF26002000FCF769F8A8605F
+:1040D00000280BD0002304E0AA68D2180021117038
+:1040E00001339E42F8D8AC80012070BD0020FCE76F
+:1040F00010B50288541C8388013B23404488A342A6
+:104100000CD00B7881688B54038801339BB2828872
+:10411000013A12B213400380012010BD0020FCE7D9
+:10412000028843889A420CD08268D35C0B70438823
+:1041300001339BB28288013A12B2134043800120BE
+:1041400070470020FCE770470D4885460D480E4932
+:104150000E4A002302E0D458C4500433C4188C42E1
+:10416000F9D30B4A0B4C002301E013600432A24246
+:10417000FBD3FFF7E8FFFBF7EFFFFCF7B1FAFEE731
+:1041800000400020000000208801002018430008A3
+:1041900088010020B80A0020FEE70000F8B5C046FC
+:1041A000F8BC08BC9E467047F8B5C046F8BC08BCD1
+:0441B0009E46704770
+:1041B40002030405060708090A0B0C0D0E0F101064
+:1041C4000102030405060708090A0B0C0D0E0F1063
+:1041D4004D49444920436F6E666967004D4944491F
+:1041E40020496E7465726661636500004F7474657E
+:1041F4007220536369656E74696669630000000028
+:104204004D494449204469616C73000030303030BA
+:104214003030303030303141000000009831000837
+:1042240098310008A0310008A6310008A631000822
+:10423400AC310008A0310008A6310008A6310008FE
+:10424400A6310008A6310008A6310008A0310008F4
+:10425400A0310008A6310008AC3100089C330008E6
+:104264000E340008F43300080E3400082834000823
+:104274002834000828340008D03300082834000803
+:10428400283400082834000828340008283400089A
+:10429400283400082834000828340008FC3A0008B0
+:1042A400E63900080C3A00083A3A0008FC3A0008DB
+:1042B400FC3A0008BC3A0008DA3A0008483A000818
+:1042C4005A3A00086C3A00087E3A0008903A00080E
+:1042D400A23A0008023D00080E3D0008143D000803
+:1042E400083D0008143D0008F03C0008E83C0008C4
+:1042F400143D0008FC3C0008F63C000800000000E7
+:0C43040000000000010203040607080985
+:04431000350100086B
+:044314000901000893
+:104318000400002000000000000000000000000071
+:104328000000000000000000000000000000000085
+:104338000000000000000000000000000000000075
+:104348000000000000000000000000000000000065
+:104358000000000000000000000000000000000055
+:104368000000000000000000000000000000000045
+:104378000000000020002000200020002000200075
+:104388002000000101020304050607000BB000002D
+:1043980001000000040000006D30000879300008BA
+:1043A800AD30000885300008C9300008F130000839
+:1043B800193100081201000202020040091201002E
+:1043C8000002010203010000040311047531000812
+:1043D80041310008B93F0008993F0008000000007B
+:1043E8000000000000000000413F0008653F000891
+:1043F80000000000000000000000000000000000B5
+:10440800593F000800000000000000000902850074
+:10441800020100800A0904000000010100000924CB
+:104428000100010900010109040100020103000063
+:1044380007240100014300062402010100062402AA
+:1044480002020006240201110006240202120009D9
+:1044580024030103010201000924030204010101EC
+:1044680000092403011301120100092403021401A5
+:1044780011010009050102400000000006250102A3
+:104488000111090581024000000000062501020310
+:084498001300000000127A007D
+:040000050800414965
+:00000001FF
diff --git a/fw/midi-dials/build/midi-dials.map b/fw/midi-dials/build/midi-dials.map
new file mode 100644
index 0000000..e9a9dc1
--- /dev/null
+++ b/fw/midi-dials/build/midi-dials.map
@@ -0,0 +1,3036 @@
+Archive member included to satisfy reference by file (symbol)
+
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (atexit)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (exit)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_fini_array)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) (_global_impure_ptr)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (__libc_init_array)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ build/curebuffer.o (malloc)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o (memset)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o) (_free_r)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o) (_malloc_r)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o) (_sbrk_r)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o) (__register_exitproc)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o) (__call_exitprocs)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o) (__malloc_lock)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o) (errno)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o) (_sbrk)
+/usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o) (_exit)
+/usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ build/main.o (__aeabi_uidiv)
+/usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o) (__aeabi_idiv0)
+
+Allocating common symbols
+Common symbol size file
+
+rbuf_jack_rx 0xc build/usbd_midi_if.o
+hUsbDeviceFS 0x224 build/usb_device.o
+ADC_val_old 0x10 build/main.o
+errno 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+rx_midi_msg 0x1 build/usbd_midi_if.o
+uwTick 0x4 build/stm32f0xx_hal.o
+pFlash 0x20 build/stm32f0xx_hal_flash.o
+midi_event 0x41 build/usbd_midi_if.o
+USB_Rx_Buffer 0x40 build/usbd_midi.o
+rbuf_usb_rx 0xc build/usbd_midi_if.o
+dial 0x8 build/main.o
+ADC_val 0x10 build/main.o
+APP_Rx_Buffer 0x100 build/usbd_midi.o
+hdma_adc 0x44 build/main.o
+hpcd_USB_FS 0x274 build/main.o
+hadc 0x40 build/main.o
+USBD_StrDesc 0x200 build/usbd_desc.o
+analyzed_status 0x4 build/usbd_midi_if.o
+
+Discarded input sections
+
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ .data 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ .text 0x0000000000000000 0x6c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .ARM.extab 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .ARM.exidx 0x0000000000000000 0x8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .debug_line 0x0000000000000000 0x86 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .debug_info 0x0000000000000000 0x26 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .debug_abbrev 0x0000000000000000 0x14 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .debug_str 0x0000000000000000 0x97 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .ARM.attributes
+ 0x0000000000000000 0x1b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+ .text 0x0000000000000000 0x0 build/main.o
+ .data 0x0000000000000000 0x0 build/main.o
+ .bss 0x0000000000000000 0x0 build/main.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_it.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_it.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_it.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_msp.o
+ .text.HAL_ADC_MspDeInit
+ 0x0000000000000000 0x44 build/stm32f0xx_hal_msp.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_ll_usb.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_ll_usb.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_ll_usb.o
+ .text.USB_CoreInit
+ 0x0000000000000000 0xe build/stm32f0xx_ll_usb.o
+ .text.USB_SetCurrentMode
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_SetDevSpeed
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_FlushTxFifo
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_FlushRxFifo
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_WritePacket
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_ReadPacket
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_StopDevice
+ 0x0000000000000000 0x14 build/stm32f0xx_ll_usb.o
+ .text.USB_DevDisconnect
+ 0x0000000000000000 0xe build/stm32f0xx_ll_usb.o
+ .text.USB_ReadDevAllOutEpInterrupt
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_ReadDevAllInEpInterrupt
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_ReadDevOutEPInterrupt
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_ReadDevInEPInterrupt
+ 0x0000000000000000 0x4 build/stm32f0xx_ll_usb.o
+ .text.USB_ClearInterrupts
+ 0x0000000000000000 0x2 build/stm32f0xx_ll_usb.o
+ .text.USB_ActivateRemoteWakeup
+ 0x0000000000000000 0xe build/stm32f0xx_ll_usb.o
+ .text.USB_DeActivateRemoteWakeup
+ 0x0000000000000000 0xe build/stm32f0xx_ll_usb.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_adc.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_adc.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_adc.o
+ .text.ADC_ConversionStop
+ 0x0000000000000000 0x54 build/stm32f0xx_hal_adc.o
+ .text.ADC_Disable
+ 0x0000000000000000 0x80 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_MspInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_MspDeInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_DeInit
+ 0x0000000000000000 0xa4 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Start
+ 0x0000000000000000 0x60 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Stop
+ 0x0000000000000000 0x44 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_PollForConversion
+ 0x0000000000000000 0xc4 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_PollForEvent
+ 0x0000000000000000 0x74 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Start_IT
+ 0x0000000000000000 0x88 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Stop_IT
+ 0x0000000000000000 0x50 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Stop_DMA
+ 0x0000000000000000 0x7c build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_GetValue
+ 0x0000000000000000 0x6 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_LevelOutOfWindowCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_IRQHandler
+ 0x0000000000000000 0xdc build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_AnalogWDGConfig
+ 0x0000000000000000 0xac build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_GetState
+ 0x0000000000000000 0x4 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_GetError
+ 0x0000000000000000 0x4 build/stm32f0xx_hal_adc.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_adc_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_adc_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_adc_ex.o
+ .text.HAL_ADCEx_Calibration_Start
+ 0x0000000000000000 0xb0 build/stm32f0xx_hal_adc_ex.o
+ .debug_info 0x0000000000000000 0x6ae build/stm32f0xx_hal_adc_ex.o
+ .debug_abbrev 0x0000000000000000 0x187 build/stm32f0xx_hal_adc_ex.o
+ .debug_loc 0x0000000000000000 0x11d build/stm32f0xx_hal_adc_ex.o
+ .debug_aranges
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_adc_ex.o
+ .debug_ranges 0x0000000000000000 0x10 build/stm32f0xx_hal_adc_ex.o
+ .debug_line 0x0000000000000000 0x1cb build/stm32f0xx_hal_adc_ex.o
+ .debug_str 0x0000000000000000 0x667 build/stm32f0xx_hal_adc_ex.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_adc_ex.o
+ .debug_frame 0x0000000000000000 0x30 build/stm32f0xx_hal_adc_ex.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_adc_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_DeInit
+ 0x0000000000000000 0xcc build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_MCOConfig
+ 0x0000000000000000 0x54 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_EnableCSS
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_DisableCSS
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_GetHCLKFreq
+ 0x0000000000000000 0xc build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_GetPCLK1Freq
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_GetOscConfig
+ 0x0000000000000000 0xd4 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_GetClockConfig
+ 0x0000000000000000 0x38 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_CSSCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc.o
+ .text.HAL_RCC_NMI_IRQHandler
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_rcc.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_GetPeriphCLKConfig
+ 0x0000000000000000 0x5c build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_GetPeriphCLKFreq
+ 0x0000000000000000 0x1f4 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSConfig
+ 0x0000000000000000 0x54 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSGetSynchronizationInfo
+ 0x0000000000000000 0x2c build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRSWaitSynchronization
+ 0x0000000000000000 0x9c build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_SyncOkCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_SyncWarnCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_ExpectedSyncCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_ErrorCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_rcc_ex.o
+ .text.HAL_RCCEx_CRS_IRQHandler
+ 0x0000000000000000 0x78 build/stm32f0xx_hal_rcc_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal.o
+ .text.HAL_MspInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal.o
+ .text.HAL_MspDeInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal.o
+ .text.HAL_DeInit
+ 0x0000000000000000 0x24 build/stm32f0xx_hal.o
+ .text.HAL_GetTickPrio
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_SetTickFreq
+ 0x0000000000000000 0x2c build/stm32f0xx_hal.o
+ .text.HAL_GetTickFreq
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_SuspendTick
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_ResumeTick
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_GetHalVersion
+ 0x0000000000000000 0x8 build/stm32f0xx_hal.o
+ .text.HAL_GetREVID
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_GetDEVID
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_GetUIDw0
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_GetUIDw1
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_GetUIDw2
+ 0x0000000000000000 0xc build/stm32f0xx_hal.o
+ .text.HAL_DBGMCU_EnableDBGStopMode
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_DBGMCU_DisableDBGStopMode
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_DBGMCU_EnableDBGStandbyMode
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text.HAL_DBGMCU_DisableDBGStandbyMode
+ 0x0000000000000000 0x10 build/stm32f0xx_hal.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c.o
+ .text.I2C_Flush_TXDR
+ 0x0000000000000000 0x1e build/stm32f0xx_hal_i2c.o
+ .text.I2C_TransferConfig
+ 0x0000000000000000 0x2c build/stm32f0xx_hal_i2c.o
+ .text.I2C_Enable_IRQ
+ 0x0000000000000000 0x7c build/stm32f0xx_hal_i2c.o
+ .text.I2C_Disable_IRQ
+ 0x0000000000000000 0x70 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ConvertOtherXferOptions
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_i2c.o
+ .text.I2C_IsAcknowledgeFailed
+ 0x0000000000000000 0x80 build/stm32f0xx_hal_i2c.o
+ .text.I2C_WaitOnTXISFlagUntilTimeout
+ 0x0000000000000000 0x52 build/stm32f0xx_hal_i2c.o
+ .text.I2C_WaitOnFlagUntilTimeout
+ 0x0000000000000000 0x4c build/stm32f0xx_hal_i2c.o
+ .text.I2C_RequestMemoryWrite
+ 0x0000000000000000 0x74 build/stm32f0xx_hal_i2c.o
+ .text.I2C_RequestMemoryRead
+ 0x0000000000000000 0x70 build/stm32f0xx_hal_i2c.o
+ .text.I2C_WaitOnSTOPFlagUntilTimeout
+ 0x0000000000000000 0x4e build/stm32f0xx_hal_i2c.o
+ .text.I2C_WaitOnRXNEFlagUntilTimeout
+ 0x0000000000000000 0x84 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MspInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Init
+ 0x0000000000000000 0xcc build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MspDeInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_DeInit
+ 0x0000000000000000 0x32 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit
+ 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive
+ 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit
+ 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive
+ 0x0000000000000000 0x17c build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit_IT
+ 0x0000000000000000 0x94 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive_IT
+ 0x0000000000000000 0x94 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit_IT
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive_IT
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Transmit_DMA
+ 0x0000000000000000 0x154 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Receive_DMA
+ 0x0000000000000000 0x154 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Transmit_DMA
+ 0x0000000000000000 0xf4 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Receive_DMA
+ 0x0000000000000000 0xf8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write
+ 0x0000000000000000 0x1a0 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read
+ 0x0000000000000000 0x1a8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write_IT
+ 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read_IT
+ 0x0000000000000000 0xd8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Write_DMA
+ 0x0000000000000000 0x168 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Mem_Read_DMA
+ 0x0000000000000000 0x16c build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_IsDeviceReady
+ 0x0000000000000000 0x180 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Transmit_IT
+ 0x0000000000000000 0xb8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Transmit_DMA
+ 0x0000000000000000 0x170 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Receive_IT
+ 0x0000000000000000 0xb8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Seq_Receive_DMA
+ 0x0000000000000000 0x170 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Transmit_IT
+ 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Transmit_DMA
+ 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Receive_IT
+ 0x0000000000000000 0xd8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Slave_Seq_Receive_DMA
+ 0x0000000000000000 0x198 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_EnableListen_IT
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_DisableListen_IT
+ 0x0000000000000000 0x32 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_Master_Abort_IT
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_EV_IRQHandler
+ 0x0000000000000000 0x12 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MasterTxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MasterRxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITMasterSeqCplt
+ 0x0000000000000000 0x52 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_SlaveTxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_SlaveRxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITSlaveSeqCplt
+ 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMASlaveTransmitCplt
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMASlaveReceiveCplt
+ 0x0000000000000000 0x30 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_AddrCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITAddrCplt
+ 0x0000000000000000 0xa2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_ListenCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITListenCplt
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MemTxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_MemRxCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_ErrorCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_AbortCpltCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITError
+ 0x0000000000000000 0xf8 build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITSlaveCplt
+ 0x0000000000000000 0x118 build/stm32f0xx_hal_i2c.o
+ .text.I2C_Slave_ISR_IT
+ 0x0000000000000000 0x14c build/stm32f0xx_hal_i2c.o
+ .text.I2C_ITMasterCplt
+ 0x0000000000000000 0xd4 build/stm32f0xx_hal_i2c.o
+ .text.I2C_Master_ISR_IT
+ 0x0000000000000000 0x178 build/stm32f0xx_hal_i2c.o
+ .text.I2C_Slave_ISR_DMA
+ 0x0000000000000000 0x108 build/stm32f0xx_hal_i2c.o
+ .text.I2C_Master_ISR_DMA
+ 0x0000000000000000 0x13c build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMAError
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMAMasterTransmitCplt
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMAMasterReceiveCplt
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_ER_IRQHandler
+ 0x0000000000000000 0x5e build/stm32f0xx_hal_i2c.o
+ .text.I2C_DMAAbort
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_GetState
+ 0x0000000000000000 0x8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_GetMode
+ 0x0000000000000000 0x8 build/stm32f0xx_hal_i2c.o
+ .text.HAL_I2C_GetError
+ 0x0000000000000000 0x4 build/stm32f0xx_hal_i2c.o
+ .debug_info 0x0000000000000000 0x3b14 build/stm32f0xx_hal_i2c.o
+ .debug_abbrev 0x0000000000000000 0x2ab build/stm32f0xx_hal_i2c.o
+ .debug_loc 0x0000000000000000 0x49a3 build/stm32f0xx_hal_i2c.o
+ .debug_aranges
+ 0x0000000000000000 0x288 build/stm32f0xx_hal_i2c.o
+ .debug_ranges 0x0000000000000000 0x278 build/stm32f0xx_hal_i2c.o
+ .debug_line 0x0000000000000000 0x1593 build/stm32f0xx_hal_i2c.o
+ .debug_str 0x0000000000000000 0xfcb build/stm32f0xx_hal_i2c.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c.o
+ .debug_frame 0x0000000000000000 0x960 build/stm32f0xx_hal_i2c.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_i2c.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_ConfigAnalogFilter
+ 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_ConfigDigitalFilter
+ 0x0000000000000000 0x54 build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_EnableWakeUp
+ 0x0000000000000000 0x4e build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_DisableWakeUp
+ 0x0000000000000000 0x50 build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_EnableFastModePlus
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c_ex.o
+ .text.HAL_I2CEx_DisableFastModePlus
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_i2c_ex.o
+ .debug_info 0x0000000000000000 0x996 build/stm32f0xx_hal_i2c_ex.o
+ .debug_abbrev 0x0000000000000000 0x1c7 build/stm32f0xx_hal_i2c_ex.o
+ .debug_loc 0x0000000000000000 0x2e1 build/stm32f0xx_hal_i2c_ex.o
+ .debug_aranges
+ 0x0000000000000000 0x48 build/stm32f0xx_hal_i2c_ex.o
+ .debug_ranges 0x0000000000000000 0x38 build/stm32f0xx_hal_i2c_ex.o
+ .debug_line 0x0000000000000000 0x2b5 build/stm32f0xx_hal_i2c_ex.o
+ .debug_str 0x0000000000000000 0x871 build/stm32f0xx_hal_i2c_ex.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_i2c_ex.o
+ .debug_frame 0x0000000000000000 0xc0 build/stm32f0xx_hal_i2c_ex.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_i2c_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_DeInit
+ 0x0000000000000000 0x104 build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_ReadPin
+ 0x0000000000000000 0xe build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_TogglePin
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_LockPin
+ 0x0000000000000000 0x2c build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_EXTI_Callback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_gpio.o
+ .text.HAL_GPIO_EXTI_IRQHandler
+ 0x0000000000000000 0x1c build/stm32f0xx_hal_gpio.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_DeInit
+ 0x0000000000000000 0x48 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_Start
+ 0x0000000000000000 0x4e build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_Abort
+ 0x0000000000000000 0x44 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_Abort_IT
+ 0x0000000000000000 0x4a build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_PollForTransfer
+ 0x0000000000000000 0xc4 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_RegisterCallback
+ 0x0000000000000000 0x54 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_UnRegisterCallback
+ 0x0000000000000000 0x60 build/stm32f0xx_hal_dma.o
+ .rodata.HAL_DMA_UnRegisterCallback
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_GetState
+ 0x0000000000000000 0x8 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_GetError
+ 0x0000000000000000 0x4 build/stm32f0xx_hal_dma.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_DisableIRQ
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_SystemReset
+ 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_GetPriority
+ 0x0000000000000000 0x4c build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_SetPendingIRQ
+ 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_GetPendingIRQ
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o
+ .text.HAL_NVIC_ClearPendingIRQ
+ 0x0000000000000000 0x1c build/stm32f0xx_hal_cortex.o
+ .text.HAL_SYSTICK_CLKSourceConfig
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_cortex.o
+ .text.HAL_SYSTICK_Callback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_cortex.o
+ .text.HAL_SYSTICK_IRQHandler
+ 0x0000000000000000 0x8 build/stm32f0xx_hal_cortex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_DeInit
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnableBkUpAccess
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_DisableBkUpAccess
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnableWakeUpPin
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_DisableWakeUpPin
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnterSLEEPMode
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnterSTOPMode
+ 0x0000000000000000 0x3c build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnterSTANDBYMode
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnableSleepOnExit
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_DisableSleepOnExit
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_EnableSEVOnPend
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .text.HAL_PWR_DisableSEVOnPend
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr.o
+ .debug_info 0x0000000000000000 0x4ac build/stm32f0xx_hal_pwr.o
+ .debug_abbrev 0x0000000000000000 0x196 build/stm32f0xx_hal_pwr.o
+ .debug_loc 0x0000000000000000 0xe8 build/stm32f0xx_hal_pwr.o
+ .debug_aranges
+ 0x0000000000000000 0x78 build/stm32f0xx_hal_pwr.o
+ .debug_ranges 0x0000000000000000 0x68 build/stm32f0xx_hal_pwr.o
+ .debug_line 0x0000000000000000 0x241 build/stm32f0xx_hal_pwr.o
+ .debug_str 0x0000000000000000 0x43c build/stm32f0xx_hal_pwr.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_pwr.o
+ .debug_frame 0x0000000000000000 0xdc build/stm32f0xx_hal_pwr.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_pwr.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWR_ConfigPVD
+ 0x0000000000000000 0x80 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWR_EnablePVD
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWR_DisablePVD
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWR_PVDCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWR_PVD_IRQHandler
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWREx_EnableVddio2Monitor
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWREx_DisableVddio2Monitor
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWREx_Vddio2MonitorCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pwr_ex.o
+ .text.HAL_PWREx_Vddio2Monitor_IRQHandler
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pwr_ex.o
+ .debug_info 0x0000000000000000 0x338 build/stm32f0xx_hal_pwr_ex.o
+ .debug_abbrev 0x0000000000000000 0x161 build/stm32f0xx_hal_pwr_ex.o
+ .debug_loc 0x0000000000000000 0x40 build/stm32f0xx_hal_pwr_ex.o
+ .debug_aranges
+ 0x0000000000000000 0x60 build/stm32f0xx_hal_pwr_ex.o
+ .debug_ranges 0x0000000000000000 0x50 build/stm32f0xx_hal_pwr_ex.o
+ .debug_line 0x0000000000000000 0x20e build/stm32f0xx_hal_pwr_ex.o
+ .debug_str 0x0000000000000000 0x395 build/stm32f0xx_hal_pwr_ex.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_pwr_ex.o
+ .debug_frame 0x0000000000000000 0xb8 build/stm32f0xx_hal_pwr_ex.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_pwr_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_flash.o
+ .text.FLASH_Program_HalfWord
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o
+ .text.FLASH_SetErrorCode
+ 0x0000000000000000 0x3c build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_Program_IT
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_EndOfOperationCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_OperationErrorCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_IRQHandler
+ 0x0000000000000000 0x154 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_Unlock
+ 0x0000000000000000 0x30 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_Lock
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_OB_Unlock
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_OB_Lock
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_GetError
+ 0x0000000000000000 0xc build/stm32f0xx_hal_flash.o
+ .text.FLASH_WaitForLastOperation
+ 0x0000000000000000 0x5c build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_Program
+ 0x0000000000000000 0xa0 build/stm32f0xx_hal_flash.o
+ .text.HAL_FLASH_OB_Launch
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o
+ .debug_info 0x0000000000000000 0x707 build/stm32f0xx_hal_flash.o
+ .debug_abbrev 0x0000000000000000 0x282 build/stm32f0xx_hal_flash.o
+ .debug_loc 0x0000000000000000 0x420 build/stm32f0xx_hal_flash.o
+ .debug_aranges
+ 0x0000000000000000 0x88 build/stm32f0xx_hal_flash.o
+ .debug_ranges 0x0000000000000000 0x78 build/stm32f0xx_hal_flash.o
+ .debug_line 0x0000000000000000 0x33c build/stm32f0xx_hal_flash.o
+ .debug_str 0x0000000000000000 0x5aa build/stm32f0xx_hal_flash.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_flash.o
+ .debug_frame 0x0000000000000000 0x160 build/stm32f0xx_hal_flash.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_flash.o
+ COMMON 0x0000000000000000 0x20 build/stm32f0xx_hal_flash.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_MassErase
+ 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_GetWRP
+ 0x0000000000000000 0xc build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_GetRDP
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_GetUser
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_RDP_LevelConfig
+ 0x0000000000000000 0x64 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_UserConfig
+ 0x0000000000000000 0x48 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_ProgramData
+ 0x0000000000000000 0x40 build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBErase
+ 0x0000000000000000 0x50 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_EnableWRP
+ 0x0000000000000000 0xbc build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_OB_DisableWRP
+ 0x0000000000000000 0xb8 build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBProgram
+ 0x0000000000000000 0x94 build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBGetConfig
+ 0x0000000000000000 0x1c build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_OBGetUserData
+ 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o
+ .text.FLASH_PageErase
+ 0x0000000000000000 0x24 build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Erase
+ 0x0000000000000000 0xa4 build/stm32f0xx_hal_flash_ex.o
+ .text.HAL_FLASHEx_Erase_IT
+ 0x0000000000000000 0x60 build/stm32f0xx_hal_flash_ex.o
+ .debug_info 0x0000000000000000 0xb00 build/stm32f0xx_hal_flash_ex.o
+ .debug_abbrev 0x0000000000000000 0x277 build/stm32f0xx_hal_flash_ex.o
+ .debug_loc 0x0000000000000000 0x915 build/stm32f0xx_hal_flash_ex.o
+ .debug_aranges
+ 0x0000000000000000 0x98 build/stm32f0xx_hal_flash_ex.o
+ .debug_ranges 0x0000000000000000 0x88 build/stm32f0xx_hal_flash_ex.o
+ .debug_line 0x0000000000000000 0x3f4 build/stm32f0xx_hal_flash_ex.o
+ .debug_str 0x0000000000000000 0x6c4 build/stm32f0xx_hal_flash_ex.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_flash_ex.o
+ .debug_frame 0x0000000000000000 0x1bc build/stm32f0xx_hal_flash_ex.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_flash_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_SetConfigLine
+ 0x0000000000000000 0xc0 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_GetConfigLine
+ 0x0000000000000000 0xa4 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_ClearConfigLine
+ 0x0000000000000000 0x70 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_RegisterCallback
+ 0x0000000000000000 0xe build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_GetHandle
+ 0x0000000000000000 0xe build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_IRQHandler
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_GetPending
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_ClearPending
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_exti.o
+ .text.HAL_EXTI_GenerateSWI
+ 0x0000000000000000 0x14 build/stm32f0xx_hal_exti.o
+ .debug_info 0x0000000000000000 0x606 build/stm32f0xx_hal_exti.o
+ .debug_abbrev 0x0000000000000000 0x204 build/stm32f0xx_hal_exti.o
+ .debug_loc 0x0000000000000000 0x485 build/stm32f0xx_hal_exti.o
+ .debug_aranges
+ 0x0000000000000000 0x60 build/stm32f0xx_hal_exti.o
+ .debug_ranges 0x0000000000000000 0x50 build/stm32f0xx_hal_exti.o
+ .debug_line 0x0000000000000000 0x299 build/stm32f0xx_hal_exti.o
+ .debug_str 0x0000000000000000 0x475 build/stm32f0xx_hal_exti.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_exti.o
+ .debug_frame 0x0000000000000000 0xd4 build/stm32f0xx_hal_exti.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_exti.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_tim.o
+ .debug_info 0x0000000000000000 0x14d build/stm32f0xx_hal_tim.o
+ .debug_abbrev 0x0000000000000000 0x8f build/stm32f0xx_hal_tim.o
+ .debug_aranges
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_tim.o
+ .debug_line 0x0000000000000000 0xe6 build/stm32f0xx_hal_tim.o
+ .debug_str 0x0000000000000000 0x259 build/stm32f0xx_hal_tim.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_tim.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_tim.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_tim_ex.o
+ .debug_info 0x0000000000000000 0x14d build/stm32f0xx_hal_tim_ex.o
+ .debug_abbrev 0x0000000000000000 0x8f build/stm32f0xx_hal_tim_ex.o
+ .debug_aranges
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_tim_ex.o
+ .debug_line 0x0000000000000000 0xe6 build/stm32f0xx_hal_tim_ex.o
+ .debug_str 0x0000000000000000 0x25c build/stm32f0xx_hal_tim_ex.o
+ .comment 0x0000000000000000 0x58 build/stm32f0xx_hal_tim_ex.o
+ .ARM.attributes
+ 0x0000000000000000 0x31 build/stm32f0xx_hal_tim_ex.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_MspInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_MspDeInit
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_Stop
+ 0x0000000000000000 0x2e build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DeInit
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DataOutStageCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DataInStageCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_SetupStageCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_SOFCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ResetCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_SuspendCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ResumeCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ISOOUTIncompleteCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ISOINIncompleteCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ConnectCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DisconnectCallback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DevConnect
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DevDisconnect
+ 0x0000000000000000 0x28 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_EP_GetRxCount
+ 0x0000000000000000 0x10 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_EP_Flush
+ 0x0000000000000000 0x4 build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_ActivateRemoteWakeup
+ 0x0000000000000000 0xa build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_DeActivateRemoteWakeup
+ 0x0000000000000000 0xa build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_GetState
+ 0x0000000000000000 0xc build/stm32f0xx_hal_pcd.o
+ .text 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd_ex.o
+ .data 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd_ex.o
+ .bss 0x0000000000000000 0x0 build/stm32f0xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_ActivateBCD
+ 0x0000000000000000 0x30 build/stm32f0xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_DeActivateBCD
+ 0x0000000000000000 0x18 build/stm32f0xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_DeActivateLPM
+ 0x0000000000000000 0x20 build/stm32f0xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_BCD_Callback
+ 0x0000000000000000 0x2 build/stm32f0xx_hal_pcd_ex.o
+ .text.HAL_PCDEx_BCD_VBUSDetect
+ 0x0000000000000000 0xb6 build/stm32f0xx_hal_pcd_ex.o
+ .text 0x0000000000000000 0x0 build/usb_device.o
+ .data 0x0000000000000000 0x0 build/usb_device.o
+ .bss 0x0000000000000000 0x0 build/usb_device.o
+ .text.MX_USB_DEVICE_Init
+ 0x0000000000000000 0x2 build/usb_device.o
+ .text 0x0000000000000000 0x0 build/usbd_conf.o
+ .data 0x0000000000000000 0x0 build/usbd_conf.o
+ .bss 0x0000000000000000 0x0 build/usbd_conf.o
+ .text.HAL_PCD_MspDeInit
+ 0x0000000000000000 0x2c build/usbd_conf.o
+ .text.HAL_PCD_ISOOUTIncompleteCallback
+ 0x0000000000000000 0xe build/usbd_conf.o
+ .text.HAL_PCD_ISOINIncompleteCallback
+ 0x0000000000000000 0xe build/usbd_conf.o
+ .text.HAL_PCD_ConnectCallback
+ 0x0000000000000000 0xe build/usbd_conf.o
+ .text.HAL_PCD_DisconnectCallback
+ 0x0000000000000000 0xe build/usbd_conf.o
+ .text.USBD_LL_DeInit
+ 0x0000000000000000 0x20 build/usbd_conf.o
+ .text.USBD_LL_Stop
+ 0x0000000000000000 0x20 build/usbd_conf.o
+ .text.USBD_LL_FlushEP
+ 0x0000000000000000 0x20 build/usbd_conf.o
+ .text.USBD_LL_GetRxDataSize
+ 0x0000000000000000 0xe build/usbd_conf.o
+ .text.USBD_LL_Delay
+ 0x0000000000000000 0x8 build/usbd_conf.o
+ .text.USBD_static_free
+ 0x0000000000000000 0x2 build/usbd_conf.o
+ .text.HAL_PCDEx_SetConnectionState
+ 0x0000000000000000 0x2 build/usbd_conf.o
+ .text 0x0000000000000000 0x0 build/usbd_desc.o
+ .data 0x0000000000000000 0x0 build/usbd_desc.o
+ .bss 0x0000000000000000 0x0 build/usbd_desc.o
+ .text 0x0000000000000000 0x0 build/usbd_midi_if.o
+ .data 0x0000000000000000 0x0 build/usbd_midi_if.o
+ .bss 0x0000000000000000 0x0 build/usbd_midi_if.o
+ .text.midiGetFromUsbRx
+ 0x0000000000000000 0x20 build/usbd_midi_if.o
+ .text.midiSetFromJackRx
+ 0x0000000000000000 0x20 build/usbd_midi_if.o
+ .text.isUsbRxBufEmpty
+ 0x0000000000000000 0x20 build/usbd_midi_if.o
+ .text.isJackRxBufEmpty
+ 0x0000000000000000 0x20 build/usbd_midi_if.o
+ .text.isRxBufEmpty
+ 0x0000000000000000 0x50 build/usbd_midi_if.o
+ .text 0x0000000000000000 0x0 build/usbd_core.o
+ .data 0x0000000000000000 0x0 build/usbd_core.o
+ .bss 0x0000000000000000 0x0 build/usbd_core.o
+ .text.USBD_DeInit
+ 0x0000000000000000 0x26 build/usbd_core.o
+ .text.USBD_Stop
+ 0x0000000000000000 0x1a build/usbd_core.o
+ .text.USBD_RunTestMode
+ 0x0000000000000000 0x4 build/usbd_core.o
+ .text.USBD_LL_IsoINIncomplete
+ 0x0000000000000000 0x4 build/usbd_core.o
+ .text.USBD_LL_IsoOUTIncomplete
+ 0x0000000000000000 0x4 build/usbd_core.o
+ .text.USBD_LL_DevConnected
+ 0x0000000000000000 0x4 build/usbd_core.o
+ .text.USBD_LL_DevDisconnected
+ 0x0000000000000000 0x18 build/usbd_core.o
+ .text 0x0000000000000000 0x0 build/usbd_ctlreq.o
+ .data 0x0000000000000000 0x0 build/usbd_ctlreq.o
+ .bss 0x0000000000000000 0x0 build/usbd_ctlreq.o
+ .text 0x0000000000000000 0x0 build/usbd_ioreq.o
+ .data 0x0000000000000000 0x0 build/usbd_ioreq.o
+ .bss 0x0000000000000000 0x0 build/usbd_ioreq.o
+ .text.USBD_CtlPrepareRx
+ 0x0000000000000000 0x20 build/usbd_ioreq.o
+ .text.USBD_GetRxCount
+ 0x0000000000000000 0xa build/usbd_ioreq.o
+ .text 0x0000000000000000 0x0 build/usbd_midi.o
+ .data 0x0000000000000000 0x0 build/usbd_midi.o
+ .bss 0x0000000000000000 0x0 build/usbd_midi.o
+ .text 0x0000000000000000 0x0 build/curebuffer.o
+ .data 0x0000000000000000 0x0 build/curebuffer.o
+ .bss 0x0000000000000000 0x0 build/curebuffer.o
+ .text._cureRingBufferU8GetUsedSize
+ 0x0000000000000000 0x1a build/curebuffer.o
+ .text.cureRingBuffer16Free
+ 0x0000000000000000 0x1a build/curebuffer.o
+ .text.cureRingBuffer16Init
+ 0x0000000000000000 0x38 build/curebuffer.o
+ .text.cureRingBuffer16Enqueue
+ 0x0000000000000000 0x34 build/curebuffer.o
+ .text.cureRingBuffer16EnqueueIgnoreErr
+ 0x0000000000000000 0x20 build/curebuffer.o
+ .text.cureRingBuffer16Dequeue
+ 0x0000000000000000 0x28 build/curebuffer.o
+ .text.cureRingBuffer16GetElement
+ 0x0000000000000000 0x24 build/curebuffer.o
+ .text.cureRingBufferU32Free
+ 0x0000000000000000 0x1a build/curebuffer.o
+ .text.cureRingBufferU32Init
+ 0x0000000000000000 0x38 build/curebuffer.o
+ .text.cureRingBufferU32Enqueue
+ 0x0000000000000000 0x32 build/curebuffer.o
+ .text.cureRingBufferU32EnqueueIgnoreErr
+ 0x0000000000000000 0x1e build/curebuffer.o
+ .text.cureRingBufferU32Dequeue
+ 0x0000000000000000 0x28 build/curebuffer.o
+ .text.cureRingBufferU32GetElement
+ 0x0000000000000000 0x22 build/curebuffer.o
+ .text 0x0000000000000000 0x0 build/system_stm32f0xx.o
+ .data 0x0000000000000000 0x0 build/system_stm32f0xx.o
+ .bss 0x0000000000000000 0x0 build/system_stm32f0xx.o
+ .text.SystemCoreClockUpdate
+ 0x0000000000000000 0xac build/system_stm32f0xx.o
+ .rodata.APBPrescTable
+ 0x0000000000000000 0x8 build/system_stm32f0xx.o
+ .text 0x0000000000000000 0x14 build/startup_stm32f072xb.o
+ .data 0x0000000000000000 0x0 build/startup_stm32f072xb.o
+ .bss 0x0000000000000000 0x0 build/startup_stm32f072xb.o
+ .text 0x0000000000000000 0x10 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_info 0x0000000000000000 0x907 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_abbrev 0x0000000000000000 0x1c8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_loc 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_line 0x0000000000000000 0x153 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_str 0x0000000000000000 0x626 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ .text 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_info 0x0000000000000000 0x952 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_abbrev 0x0000000000000000 0x1cd /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_loc 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_line 0x0000000000000000 0x156 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_str 0x0000000000000000 0x627 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .debug_frame 0x0000000000000000 0x28 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ .text 0x0000000000000000 0x34 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_info 0x0000000000000000 0xf3 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_abbrev 0x0000000000000000 0xba /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_loc 0x0000000000000000 0x3e /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_line 0x0000000000000000 0x9f /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_str 0x0000000000000000 0x1f8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .debug_frame 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .rodata 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .text 0x0000000000000000 0xdc /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .data 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .bss 0x0000000000000000 0x8c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_info 0x0000000000000000 0x991 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_abbrev 0x0000000000000000 0x225 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_loc 0x0000000000000000 0x192 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_line 0x0000000000000000 0x184 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_str 0x0000000000000000 0x679 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ .text 0x0000000000000000 0xd4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .bss 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_info 0x0000000000000000 0x95e /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_abbrev 0x0000000000000000 0x1fd /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_loc 0x0000000000000000 0x1c3 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_ranges 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_line 0x0000000000000000 0x1a2 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_str 0x0000000000000000 0x624 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .debug_frame 0x0000000000000000 0x3c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .text 0x0000000000000000 0xf4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .text 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_info 0x0000000000000000 0x9a /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_abbrev 0x0000000000000000 0x61 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_aranges
+ 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_line 0x0000000000000000 0x5b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_str 0x0000000000000000 0x191 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .comment 0x0000000000000000 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .debug_frame 0x0000000000000000 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .ARM.attributes
+ 0x0000000000000000 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ .eh_frame 0x0000000000000000 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ .text 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+ .data 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+ .bss 0x0000000000000000 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+
+Memory Configuration
+
+Name Origin Length Attributes
+RAM 0x0000000020000000 0x0000000000004000 xrw
+FLASH 0x0000000008000000 0x0000000000020000 xr
+*default* 0x0000000000000000 0xffffffffffffffff
+
+Linker script and memory map
+
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+LOAD build/main.o
+LOAD build/stm32f0xx_it.o
+LOAD build/stm32f0xx_hal_msp.o
+LOAD build/stm32f0xx_ll_usb.o
+LOAD build/stm32f0xx_hal_adc.o
+LOAD build/stm32f0xx_hal_adc_ex.o
+LOAD build/stm32f0xx_hal_rcc.o
+LOAD build/stm32f0xx_hal_rcc_ex.o
+LOAD build/stm32f0xx_hal.o
+LOAD build/stm32f0xx_hal_i2c.o
+LOAD build/stm32f0xx_hal_i2c_ex.o
+LOAD build/stm32f0xx_hal_gpio.o
+LOAD build/stm32f0xx_hal_dma.o
+LOAD build/stm32f0xx_hal_cortex.o
+LOAD build/stm32f0xx_hal_pwr.o
+LOAD build/stm32f0xx_hal_pwr_ex.o
+LOAD build/stm32f0xx_hal_flash.o
+LOAD build/stm32f0xx_hal_flash_ex.o
+LOAD build/stm32f0xx_hal_exti.o
+LOAD build/stm32f0xx_hal_tim.o
+LOAD build/stm32f0xx_hal_tim_ex.o
+LOAD build/stm32f0xx_hal_pcd.o
+LOAD build/stm32f0xx_hal_pcd_ex.o
+LOAD build/usb_device.o
+LOAD build/usbd_conf.o
+LOAD build/usbd_desc.o
+LOAD build/usbd_midi_if.o
+LOAD build/usbd_core.o
+LOAD build/usbd_ctlreq.o
+LOAD build/usbd_ioreq.o
+LOAD build/usbd_midi.o
+LOAD build/curebuffer.o
+LOAD build/system_stm32f0xx.o
+LOAD build/startup_stm32f072xb.o
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libm.a
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a
+START GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a
+END GROUP
+START GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a
+END GROUP
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+LOAD /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+ 0x0000000020004000 _estack = 0x20004000
+ 0x0000000000000200 _Min_Heap_Size = 0x200
+ 0x0000000000000400 _Min_Stack_Size = 0x400
+
+.isr_vector 0x0000000008000000 0xc0
+ 0x0000000008000000 . = ALIGN (0x4)
+ *(.isr_vector)
+ .isr_vector 0x0000000008000000 0xc0 build/startup_stm32f072xb.o
+ 0x0000000008000000 g_pfnVectors
+ 0x00000000080000c0 . = ALIGN (0x4)
+
+.text 0x00000000080000c0 0x40f4
+ 0x00000000080000c0 . = ALIGN (0x4)
+ *(.text)
+ .text 0x00000000080000c0 0x98 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ .text 0x0000000008000158 0x48 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ 0x0000000008000158 __libc_init_array
+ .text 0x00000000080001a0 0x28 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ 0x00000000080001a0 malloc
+ 0x00000000080001b4 free
+ .text 0x00000000080001c8 0x9c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ 0x00000000080001c8 memset
+ .text 0x0000000008000264 0xac /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ 0x0000000008000264 _free_r
+ .text 0x0000000008000310 0xcc /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ 0x0000000008000310 _malloc_r
+ .text 0x00000000080003dc 0x24 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ 0x00000000080003dc _sbrk_r
+ .text 0x0000000008000400 0x8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ 0x0000000008000400 __malloc_lock
+ 0x0000000008000404 __malloc_unlock
+ .text 0x0000000008000408 0x1c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ 0x0000000008000408 _sbrk
+ .text 0x0000000008000424 0x114 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ 0x0000000008000424 __udivsi3
+ 0x0000000008000424 __aeabi_uidiv
+ 0x0000000008000530 __aeabi_uidivmod
+ .text 0x0000000008000538 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ 0x0000000008000538 __aeabi_ldiv0
+ 0x0000000008000538 __aeabi_idiv0
+ *(.text*)
+ .text.MX_GPIO_Init
+ 0x000000000800053c 0x64 build/main.o
+ .text.MX_DMA_Init
+ 0x00000000080005a0 0x30 build/main.o
+ .text.MX_ADC_Init
+ 0x00000000080005d0 0xb0 build/main.o
+ .text.SystemClock_Config
+ 0x0000000008000680 0x5e build/main.o
+ 0x0000000008000680 SystemClock_Config
+ *fill* 0x00000000080006de 0x2
+ .text.main 0x00000000080006e0 0x144 build/main.o
+ 0x00000000080006e0 main
+ .text.Error_Handler
+ 0x0000000008000824 0x30 build/main.o
+ 0x0000000008000824 Error_Handler
+ .text.NMI_Handler
+ 0x0000000008000854 0x2 build/stm32f0xx_it.o
+ 0x0000000008000854 NMI_Handler
+ .text.HardFault_Handler
+ 0x0000000008000856 0x2 build/stm32f0xx_it.o
+ 0x0000000008000856 HardFault_Handler
+ .text.SVC_Handler
+ 0x0000000008000858 0x2 build/stm32f0xx_it.o
+ 0x0000000008000858 SVC_Handler
+ .text.PendSV_Handler
+ 0x000000000800085a 0x2 build/stm32f0xx_it.o
+ 0x000000000800085a PendSV_Handler
+ .text.SysTick_Handler
+ 0x000000000800085c 0x8 build/stm32f0xx_it.o
+ 0x000000000800085c SysTick_Handler
+ .text.DMA1_Channel1_IRQHandler
+ 0x0000000008000864 0x10 build/stm32f0xx_it.o
+ 0x0000000008000864 DMA1_Channel1_IRQHandler
+ .text.USB_IRQHandler
+ 0x0000000008000874 0x10 build/stm32f0xx_it.o
+ 0x0000000008000874 USB_IRQHandler
+ .text.HAL_MspInit
+ 0x0000000008000884 0x30 build/stm32f0xx_hal_msp.o
+ 0x0000000008000884 HAL_MspInit
+ .text.HAL_ADC_MspInit
+ 0x00000000080008b4 0xc4 build/stm32f0xx_hal_msp.o
+ 0x00000000080008b4 HAL_ADC_MspInit
+ .text.USB_EnableGlobalInt
+ 0x0000000008000978 0x14 build/stm32f0xx_ll_usb.o
+ 0x0000000008000978 USB_EnableGlobalInt
+ .text.USB_DisableGlobalInt
+ 0x000000000800098c 0x14 build/stm32f0xx_ll_usb.o
+ 0x000000000800098c USB_DisableGlobalInt
+ .text.USB_DevInit
+ 0x00000000080009a0 0x2a build/stm32f0xx_ll_usb.o
+ 0x00000000080009a0 USB_DevInit
+ *fill* 0x00000000080009ca 0x2
+ .text.USB_ActivateEndpoint
+ 0x00000000080009cc 0x300 build/stm32f0xx_ll_usb.o
+ 0x00000000080009cc USB_ActivateEndpoint
+ .text.USB_DeactivateEndpoint
+ 0x0000000008000ccc 0x170 build/stm32f0xx_ll_usb.o
+ 0x0000000008000ccc USB_DeactivateEndpoint
+ .text.USB_EPSetStall
+ 0x0000000008000e3c 0x4c build/stm32f0xx_ll_usb.o
+ 0x0000000008000e3c USB_EPSetStall
+ .text.USB_EPClearStall
+ 0x0000000008000e88 0x98 build/stm32f0xx_ll_usb.o
+ 0x0000000008000e88 USB_EPClearStall
+ .text.USB_SetDevAddress
+ 0x0000000008000f20 0xe build/stm32f0xx_ll_usb.o
+ 0x0000000008000f20 USB_SetDevAddress
+ *fill* 0x0000000008000f2e 0x2
+ .text.USB_DevConnect
+ 0x0000000008000f30 0x14 build/stm32f0xx_ll_usb.o
+ 0x0000000008000f30 USB_DevConnect
+ .text.USB_ReadInterrupts
+ 0x0000000008000f44 0x8 build/stm32f0xx_ll_usb.o
+ 0x0000000008000f44 USB_ReadInterrupts
+ .text.USB_EP0_OutStart
+ 0x0000000008000f4c 0x4 build/stm32f0xx_ll_usb.o
+ 0x0000000008000f4c USB_EP0_OutStart
+ .text.USB_WritePMA
+ 0x0000000008000f50 0x28 build/stm32f0xx_ll_usb.o
+ 0x0000000008000f50 USB_WritePMA
+ .text.USB_EPStartXfer
+ 0x0000000008000f78 0x2d8 build/stm32f0xx_ll_usb.o
+ 0x0000000008000f78 USB_EPStartXfer
+ .text.USB_ReadPMA
+ 0x0000000008001250 0x2e build/stm32f0xx_ll_usb.o
+ 0x0000000008001250 USB_ReadPMA
+ *fill* 0x000000000800127e 0x2
+ .text.ADC_Enable
+ 0x0000000008001280 0xa8 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_Init
+ 0x0000000008001328 0x17c build/stm32f0xx_hal_adc.o
+ 0x0000000008001328 HAL_ADC_Init
+ .text.HAL_ADC_Start_DMA
+ 0x00000000080014a4 0xa8 build/stm32f0xx_hal_adc.o
+ 0x00000000080014a4 HAL_ADC_Start_DMA
+ .text.HAL_ADC_ConvCpltCallback
+ 0x000000000800154c 0x2 build/stm32f0xx_hal_adc.o
+ 0x000000000800154c HAL_ADC_ConvCpltCallback
+ *fill* 0x000000000800154e 0x2
+ .text.ADC_DMAConvCplt
+ 0x0000000008001550 0x70 build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_ConvHalfCpltCallback
+ 0x00000000080015c0 0x2 build/stm32f0xx_hal_adc.o
+ 0x00000000080015c0 HAL_ADC_ConvHalfCpltCallback
+ .text.ADC_DMAHalfConvCplt
+ 0x00000000080015c2 0xa build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_ErrorCallback
+ 0x00000000080015cc 0x2 build/stm32f0xx_hal_adc.o
+ 0x00000000080015cc HAL_ADC_ErrorCallback
+ .text.ADC_DMAError
+ 0x00000000080015ce 0x1a build/stm32f0xx_hal_adc.o
+ .text.HAL_ADC_ConfigChannel
+ 0x00000000080015e8 0x14c build/stm32f0xx_hal_adc.o
+ 0x00000000080015e8 HAL_ADC_ConfigChannel
+ .text.HAL_RCC_OscConfig
+ 0x0000000008001734 0x540 build/stm32f0xx_hal_rcc.o
+ 0x0000000008001734 HAL_RCC_OscConfig
+ .text.HAL_RCC_GetSysClockFreq
+ 0x0000000008001c74 0x94 build/stm32f0xx_hal_rcc.o
+ 0x0000000008001c74 HAL_RCC_GetSysClockFreq
+ .text.HAL_RCC_ClockConfig
+ 0x0000000008001d08 0x140 build/stm32f0xx_hal_rcc.o
+ 0x0000000008001d08 HAL_RCC_ClockConfig
+ .text.HAL_RCCEx_PeriphCLKConfig
+ 0x0000000008001e48 0x158 build/stm32f0xx_hal_rcc_ex.o
+ 0x0000000008001e48 HAL_RCCEx_PeriphCLKConfig
+ .text.HAL_InitTick
+ 0x0000000008001fa0 0x50 build/stm32f0xx_hal.o
+ 0x0000000008001fa0 HAL_InitTick
+ .text.HAL_Init
+ 0x0000000008001ff0 0x20 build/stm32f0xx_hal.o
+ 0x0000000008001ff0 HAL_Init
+ .text.HAL_IncTick
+ 0x0000000008002010 0x18 build/stm32f0xx_hal.o
+ 0x0000000008002010 HAL_IncTick
+ .text.HAL_GetTick
+ 0x0000000008002028 0xc build/stm32f0xx_hal.o
+ 0x0000000008002028 HAL_GetTick
+ .text.HAL_Delay
+ 0x0000000008002034 0x24 build/stm32f0xx_hal.o
+ 0x0000000008002034 HAL_Delay
+ .text.HAL_GPIO_Init
+ 0x0000000008002058 0x198 build/stm32f0xx_hal_gpio.o
+ 0x0000000008002058 HAL_GPIO_Init
+ .text.HAL_GPIO_WritePin
+ 0x00000000080021f0 0xc build/stm32f0xx_hal_gpio.o
+ 0x00000000080021f0 HAL_GPIO_WritePin
+ .text.DMA_SetConfig
+ 0x00000000080021fc 0x2a build/stm32f0xx_hal_dma.o
+ *fill* 0x0000000008002226 0x2
+ .text.DMA_CalcBaseAndBitshift
+ 0x0000000008002228 0x28 build/stm32f0xx_hal_dma.o
+ .text.HAL_DMA_Init
+ 0x0000000008002250 0x50 build/stm32f0xx_hal_dma.o
+ 0x0000000008002250 HAL_DMA_Init
+ .text.HAL_DMA_Start_IT
+ 0x00000000080022a0 0x76 build/stm32f0xx_hal_dma.o
+ 0x00000000080022a0 HAL_DMA_Start_IT
+ .text.HAL_DMA_IRQHandler
+ 0x0000000008002316 0xaa build/stm32f0xx_hal_dma.o
+ 0x0000000008002316 HAL_DMA_IRQHandler
+ .text.HAL_NVIC_SetPriority
+ 0x00000000080023c0 0x64 build/stm32f0xx_hal_cortex.o
+ 0x00000000080023c0 HAL_NVIC_SetPriority
+ .text.HAL_NVIC_EnableIRQ
+ 0x0000000008002424 0x18 build/stm32f0xx_hal_cortex.o
+ 0x0000000008002424 HAL_NVIC_EnableIRQ
+ .text.HAL_SYSTICK_Config
+ 0x000000000800243c 0x38 build/stm32f0xx_hal_cortex.o
+ 0x000000000800243c HAL_SYSTICK_Config
+ .text.HAL_PCD_Init
+ 0x0000000008002474 0xd4 build/stm32f0xx_hal_pcd.o
+ 0x0000000008002474 HAL_PCD_Init
+ .text.HAL_PCD_Start
+ 0x0000000008002548 0x2e build/stm32f0xx_hal_pcd.o
+ 0x0000000008002548 HAL_PCD_Start
+ .text.HAL_PCD_SetAddress
+ 0x0000000008002576 0x2c build/stm32f0xx_hal_pcd.o
+ 0x0000000008002576 HAL_PCD_SetAddress
+ .text.HAL_PCD_EP_Open
+ 0x00000000080025a2 0x7a build/stm32f0xx_hal_pcd.o
+ 0x00000000080025a2 HAL_PCD_EP_Open
+ .text.HAL_PCD_EP_Close
+ 0x000000000800261c 0x64 build/stm32f0xx_hal_pcd.o
+ 0x000000000800261c HAL_PCD_EP_Close
+ .text.HAL_PCD_EP_Receive
+ 0x0000000008002680 0x4c build/stm32f0xx_hal_pcd.o
+ 0x0000000008002680 HAL_PCD_EP_Receive
+ .text.HAL_PCD_EP_Transmit
+ 0x00000000080026cc 0x40 build/stm32f0xx_hal_pcd.o
+ 0x00000000080026cc HAL_PCD_EP_Transmit
+ .text.PCD_EP_ISR_Handler
+ 0x000000000800270c 0x39c build/stm32f0xx_hal_pcd.o
+ .text.HAL_PCD_IRQHandler
+ 0x0000000008002aa8 0x1ac build/stm32f0xx_hal_pcd.o
+ 0x0000000008002aa8 HAL_PCD_IRQHandler
+ .text.HAL_PCD_EP_SetStall
+ 0x0000000008002c54 0x7e build/stm32f0xx_hal_pcd.o
+ 0x0000000008002c54 HAL_PCD_EP_SetStall
+ .text.HAL_PCD_EP_ClrStall
+ 0x0000000008002cd2 0x76 build/stm32f0xx_hal_pcd.o
+ 0x0000000008002cd2 HAL_PCD_EP_ClrStall
+ .text.HAL_PCDEx_PMAConfig
+ 0x0000000008002d48 0x32 build/stm32f0xx_hal_pcd_ex.o
+ 0x0000000008002d48 HAL_PCDEx_PMAConfig
+ .text.HAL_PCDEx_ActivateLPM
+ 0x0000000008002d7a 0x26 build/stm32f0xx_hal_pcd_ex.o
+ 0x0000000008002d7a HAL_PCDEx_ActivateLPM
+ .text.HAL_PCDEx_LPM_Callback
+ 0x0000000008002da0 0x2 build/stm32f0xx_hal_pcd_ex.o
+ 0x0000000008002da0 HAL_PCDEx_LPM_Callback
+ *fill* 0x0000000008002da2 0x2
+ .text.MX_USB_MIDI_INIT
+ 0x0000000008002da4 0x38 build/usb_device.o
+ 0x0000000008002da4 MX_USB_MIDI_INIT
+ .text.HAL_PCD_MspInit
+ 0x0000000008002ddc 0x40 build/usbd_conf.o
+ 0x0000000008002ddc HAL_PCD_MspInit
+ .text.HAL_PCD_SetupStageCallback
+ 0x0000000008002e1c 0x16 build/usbd_conf.o
+ 0x0000000008002e1c HAL_PCD_SetupStageCallback
+ .text.HAL_PCD_DataOutStageCallback
+ 0x0000000008002e32 0x1a build/usbd_conf.o
+ 0x0000000008002e32 HAL_PCD_DataOutStageCallback
+ .text.HAL_PCD_DataInStageCallback
+ 0x0000000008002e4c 0x16 build/usbd_conf.o
+ 0x0000000008002e4c HAL_PCD_DataInStageCallback
+ .text.HAL_PCD_SOFCallback
+ 0x0000000008002e62 0xe build/usbd_conf.o
+ 0x0000000008002e62 HAL_PCD_SOFCallback
+ .text.HAL_PCD_ResetCallback
+ 0x0000000008002e70 0x18 build/usbd_conf.o
+ 0x0000000008002e70 HAL_PCD_ResetCallback
+ .text.HAL_PCD_SuspendCallback
+ 0x0000000008002e88 0x24 build/usbd_conf.o
+ 0x0000000008002e88 HAL_PCD_SuspendCallback
+ .text.HAL_PCD_ResumeCallback
+ 0x0000000008002eac 0xe build/usbd_conf.o
+ 0x0000000008002eac HAL_PCD_ResumeCallback
+ *fill* 0x0000000008002eba 0x2
+ .text.USBD_LL_Init
+ 0x0000000008002ebc 0x7c build/usbd_conf.o
+ 0x0000000008002ebc USBD_LL_Init
+ .text.USBD_LL_Start
+ 0x0000000008002f38 0x20 build/usbd_conf.o
+ 0x0000000008002f38 USBD_LL_Start
+ .text.USBD_LL_OpenEP
+ 0x0000000008002f58 0x26 build/usbd_conf.o
+ 0x0000000008002f58 USBD_LL_OpenEP
+ .text.USBD_LL_CloseEP
+ 0x0000000008002f7e 0x20 build/usbd_conf.o
+ 0x0000000008002f7e USBD_LL_CloseEP
+ .text.USBD_LL_StallEP
+ 0x0000000008002f9e 0x20 build/usbd_conf.o
+ 0x0000000008002f9e USBD_LL_StallEP
+ .text.USBD_LL_ClearStallEP
+ 0x0000000008002fbe 0x20 build/usbd_conf.o
+ 0x0000000008002fbe USBD_LL_ClearStallEP
+ .text.USBD_LL_IsStallEP
+ 0x0000000008002fde 0x2c build/usbd_conf.o
+ 0x0000000008002fde USBD_LL_IsStallEP
+ .text.USBD_LL_SetUSBAddress
+ 0x000000000800300a 0x20 build/usbd_conf.o
+ 0x000000000800300a USBD_LL_SetUSBAddress
+ .text.USBD_LL_Transmit
+ 0x000000000800302a 0x20 build/usbd_conf.o
+ 0x000000000800302a USBD_LL_Transmit
+ .text.USBD_LL_PrepareReceive
+ 0x000000000800304a 0x20 build/usbd_conf.o
+ 0x000000000800304a USBD_LL_PrepareReceive
+ *fill* 0x000000000800306a 0x2
+ .text.USBD_FS_DeviceDescriptor
+ 0x000000000800306c 0xc build/usbd_desc.o
+ 0x000000000800306c USBD_FS_DeviceDescriptor
+ .text.USBD_FS_LangIDStrDescriptor
+ 0x0000000008003078 0xc build/usbd_desc.o
+ 0x0000000008003078 USBD_FS_LangIDStrDescriptor
+ .text.USBD_FS_ProductStrDescriptor
+ 0x0000000008003084 0x28 build/usbd_desc.o
+ 0x0000000008003084 USBD_FS_ProductStrDescriptor
+ .text.USBD_FS_ManufacturerStrDescriptor
+ 0x00000000080030ac 0x1c build/usbd_desc.o
+ 0x00000000080030ac USBD_FS_ManufacturerStrDescriptor
+ .text.USBD_FS_SerialStrDescriptor
+ 0x00000000080030c8 0x28 build/usbd_desc.o
+ 0x00000000080030c8 USBD_FS_SerialStrDescriptor
+ .text.USBD_FS_ConfigStrDescriptor
+ 0x00000000080030f0 0x28 build/usbd_desc.o
+ 0x00000000080030f0 USBD_FS_ConfigStrDescriptor
+ .text.USBD_FS_InterfaceStrDescriptor
+ 0x0000000008003118 0x28 build/usbd_desc.o
+ 0x0000000008003118 USBD_FS_InterfaceStrDescriptor
+ .text.MIDI_DataTx
+ 0x0000000008003140 0x34 build/usbd_midi_if.o
+ .text.MIDI_DataRx
+ 0x0000000008003174 0x88 build/usbd_midi_if.o
+ .text.midiInit
+ 0x00000000080031fc 0x9c build/usbd_midi_if.o
+ 0x00000000080031fc midiInit
+ .text.midiGetFromJackRx
+ 0x0000000008003298 0x28 build/usbd_midi_if.o
+ 0x0000000008003298 midiGetFromJackRx
+ .text.sendMidiMessage
+ 0x00000000080032c0 0xe build/usbd_midi_if.o
+ 0x00000000080032c0 sendMidiMessage
+ *fill* 0x00000000080032ce 0x2
+ .text.midiEventIsGenerated
+ 0x00000000080032d0 0x250 build/usbd_midi_if.o
+ 0x00000000080032d0 midiEventIsGenerated
+ .text.midiGenerateUsbPacket
+ 0x0000000008003520 0x158 build/usbd_midi_if.o
+ 0x0000000008003520 midiGenerateUsbPacket
+ .text.midiProcess
+ 0x0000000008003678 0x2c build/usbd_midi_if.o
+ 0x0000000008003678 midiProcess
+ .text.USBD_Init
+ 0x00000000080036a4 0x38 build/usbd_core.o
+ 0x00000000080036a4 USBD_Init
+ .text.USBD_RegisterClass
+ 0x00000000080036dc 0x12 build/usbd_core.o
+ 0x00000000080036dc USBD_RegisterClass
+ .text.USBD_Start
+ 0x00000000080036ee 0xa build/usbd_core.o
+ 0x00000000080036ee USBD_Start
+ .text.USBD_SetClassConfig
+ 0x00000000080036f8 0x20 build/usbd_core.o
+ 0x00000000080036f8 USBD_SetClassConfig
+ .text.USBD_ClrClassConfig
+ 0x0000000008003718 0x10 build/usbd_core.o
+ 0x0000000008003718 USBD_ClrClassConfig
+ .text.USBD_LL_SetupStage
+ 0x0000000008003728 0x68 build/usbd_core.o
+ 0x0000000008003728 USBD_LL_SetupStage
+ .text.USBD_LL_DataOutStage
+ 0x0000000008003790 0x78 build/usbd_core.o
+ 0x0000000008003790 USBD_LL_DataOutStage
+ .text.USBD_LL_DataInStage
+ 0x0000000008003808 0xc2 build/usbd_core.o
+ 0x0000000008003808 USBD_LL_DataInStage
+ .text.USBD_LL_Reset
+ 0x00000000080038ca 0x46 build/usbd_core.o
+ 0x00000000080038ca USBD_LL_Reset
+ .text.USBD_LL_SetSpeed
+ 0x0000000008003910 0x6 build/usbd_core.o
+ 0x0000000008003910 USBD_LL_SetSpeed
+ .text.USBD_LL_Suspend
+ 0x0000000008003916 0x16 build/usbd_core.o
+ 0x0000000008003916 USBD_LL_Suspend
+ .text.USBD_LL_Resume
+ 0x000000000800392c 0xe build/usbd_core.o
+ 0x000000000800392c USBD_LL_Resume
+ .text.USBD_LL_SOF
+ 0x000000000800393a 0x20 build/usbd_core.o
+ 0x000000000800393a USBD_LL_SOF
+ .text.USBD_GetLen
+ 0x000000000800395a 0x14 build/usbd_ctlreq.o
+ .text.USBD_SetFeature
+ 0x000000000800396e 0x22 build/usbd_ctlreq.o
+ .text.USBD_ParseSetupRequest
+ 0x0000000008003990 0x28 build/usbd_ctlreq.o
+ 0x0000000008003990 USBD_ParseSetupRequest
+ .text.USBD_CtlError
+ 0x00000000080039b8 0x14 build/usbd_ctlreq.o
+ 0x00000000080039b8 USBD_CtlError
+ .text.USBD_GetDescriptor
+ 0x00000000080039cc 0x15c build/usbd_ctlreq.o
+ .text.USBD_SetAddress
+ 0x0000000008003b28 0x58 build/usbd_ctlreq.o
+ .text.USBD_SetConfig
+ 0x0000000008003b80 0xb0 build/usbd_ctlreq.o
+ .text.USBD_GetConfig
+ 0x0000000008003c30 0x3c build/usbd_ctlreq.o
+ .text.USBD_GetStatus
+ 0x0000000008003c6c 0x34 build/usbd_ctlreq.o
+ .text.USBD_ClrFeature
+ 0x0000000008003ca0 0x36 build/usbd_ctlreq.o
+ *fill* 0x0000000008003cd6 0x2
+ .text.USBD_StdDevReq
+ 0x0000000008003cd8 0x48 build/usbd_ctlreq.o
+ 0x0000000008003cd8 USBD_StdDevReq
+ .text.USBD_StdItfReq
+ 0x0000000008003d20 0x3e build/usbd_ctlreq.o
+ 0x0000000008003d20 USBD_StdItfReq
+ .text.USBD_StdEPReq
+ 0x0000000008003d5e 0x138 build/usbd_ctlreq.o
+ 0x0000000008003d5e USBD_StdEPReq
+ .text.USBD_GetString
+ 0x0000000008003e96 0x3c build/usbd_ctlreq.o
+ 0x0000000008003e96 USBD_GetString
+ .text.USBD_CtlSendData
+ 0x0000000008003ed2 0x1c build/usbd_ioreq.o
+ 0x0000000008003ed2 USBD_CtlSendData
+ .text.USBD_CtlContinueSendData
+ 0x0000000008003eee 0x10 build/usbd_ioreq.o
+ 0x0000000008003eee USBD_CtlContinueSendData
+ .text.USBD_CtlContinueRx
+ 0x0000000008003efe 0x10 build/usbd_ioreq.o
+ 0x0000000008003efe USBD_CtlContinueRx
+ .text.USBD_CtlSendStatus
+ 0x0000000008003f0e 0x18 build/usbd_ioreq.o
+ 0x0000000008003f0e USBD_CtlSendStatus
+ .text.USBD_CtlReceiveStatus
+ 0x0000000008003f26 0x18 build/usbd_ioreq.o
+ 0x0000000008003f26 USBD_CtlReceiveStatus
+ *fill* 0x0000000008003f3e 0x2
+ .text.USBD_MIDI_DataIn
+ 0x0000000008003f40 0x18 build/usbd_midi.o
+ .text.USBD_MIDI_GetCfgDesc
+ 0x0000000008003f58 0xc build/usbd_midi.o
+ .text.USBD_MIDI_DataOut
+ 0x0000000008003f64 0x34 build/usbd_midi.o
+ .text.USBD_MIDI_DeInit
+ 0x0000000008003f98 0x20 build/usbd_midi.o
+ .text.USBD_MIDI_Init
+ 0x0000000008003fb8 0x38 build/usbd_midi.o
+ .text.USBD_MIDI_SendPacket
+ 0x0000000008003ff0 0xa0 build/usbd_midi.o
+ 0x0000000008003ff0 USBD_MIDI_SendPacket
+ .text.USBD_MIDI_RegisterInterface
+ 0x0000000008004090 0x12 build/usbd_midi.o
+ 0x0000000008004090 USBD_MIDI_RegisterInterface
+ .text.cureRingBufferU8Free
+ 0x00000000080040a2 0x1a build/curebuffer.o
+ 0x00000000080040a2 cureRingBufferU8Free
+ .text.cureRingBufferU8Init
+ 0x00000000080040bc 0x34 build/curebuffer.o
+ 0x00000000080040bc cureRingBufferU8Init
+ .text.cureRingBufferU8Enqueue
+ 0x00000000080040f0 0x30 build/curebuffer.o
+ 0x00000000080040f0 cureRingBufferU8Enqueue
+ .text.cureRingBufferU8Dequeue
+ 0x0000000008004120 0x26 build/curebuffer.o
+ 0x0000000008004120 cureRingBufferU8Dequeue
+ .text.SystemInit
+ 0x0000000008004146 0x2 build/system_stm32f0xx.o
+ 0x0000000008004146 SystemInit
+ .text.Reset_Handler
+ 0x0000000008004148 0x50 build/startup_stm32f072xb.o
+ 0x0000000008004148 Reset_Handler
+ .text.Default_Handler
+ 0x0000000008004198 0x2 build/startup_stm32f072xb.o
+ 0x0000000008004198 TIM1_CC_IRQHandler
+ 0x0000000008004198 TSC_IRQHandler
+ 0x0000000008004198 ADC1_COMP_IRQHandler
+ 0x0000000008004198 I2C1_IRQHandler
+ 0x0000000008004198 RCC_CRS_IRQHandler
+ 0x0000000008004198 SPI1_IRQHandler
+ 0x0000000008004198 TIM6_DAC_IRQHandler
+ 0x0000000008004198 USART3_4_IRQHandler
+ 0x0000000008004198 EXTI2_3_IRQHandler
+ 0x0000000008004198 I2C2_IRQHandler
+ 0x0000000008004198 TIM17_IRQHandler
+ 0x0000000008004198 CEC_CAN_IRQHandler
+ 0x0000000008004198 RTC_IRQHandler
+ 0x0000000008004198 PVD_VDDIO2_IRQHandler
+ 0x0000000008004198 DMA1_Channel4_5_6_7_IRQHandler
+ 0x0000000008004198 TIM16_IRQHandler
+ 0x0000000008004198 TIM3_IRQHandler
+ 0x0000000008004198 EXTI4_15_IRQHandler
+ 0x0000000008004198 Default_Handler
+ 0x0000000008004198 TIM14_IRQHandler
+ 0x0000000008004198 TIM7_IRQHandler
+ 0x0000000008004198 TIM15_IRQHandler
+ 0x0000000008004198 EXTI0_1_IRQHandler
+ 0x0000000008004198 SPI2_IRQHandler
+ 0x0000000008004198 WWDG_IRQHandler
+ 0x0000000008004198 TIM2_IRQHandler
+ 0x0000000008004198 DMA1_Channel2_3_IRQHandler
+ 0x0000000008004198 USART2_IRQHandler
+ 0x0000000008004198 FLASH_IRQHandler
+ 0x0000000008004198 USART1_IRQHandler
+ 0x0000000008004198 TIM1_BRK_UP_TRG_COM_IRQHandler
+ *(.glue_7)
+ .glue_7 0x000000000800419a 0x0 linker stubs
+ *(.glue_7t)
+ .glue_7t 0x000000000800419a 0x0 linker stubs
+ *(.eh_frame)
+ *fill* 0x000000000800419a 0x2
+ .eh_frame 0x000000000800419c 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ *(.init)
+ .init 0x000000000800419c 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ 0x000000000800419c _init
+ .init 0x00000000080041a0 0x8 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+ *(.fini)
+ .fini 0x00000000080041a8 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ 0x00000000080041a8 _fini
+ .fini 0x00000000080041ac 0x8 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+ 0x00000000080041b4 . = ALIGN (0x4)
+ 0x00000000080041b4 _etext = .
+
+.vfp11_veneer 0x00000000080041b4 0x0
+ .vfp11_veneer 0x00000000080041b4 0x0 linker stubs
+
+.v4_bx 0x00000000080041b4 0x0
+ .v4_bx 0x00000000080041b4 0x0 linker stubs
+
+.iplt 0x00000000080041b4 0x0
+ .iplt 0x00000000080041b4 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+
+.rodata 0x00000000080041b4 0x15c
+ 0x00000000080041b4 . = ALIGN (0x4)
+ *(.rodata)
+ .rodata 0x00000000080041b4 0x20 build/stm32f0xx_hal_rcc.o
+ *(.rodata*)
+ .rodata.USBD_FS_ConfigStrDescriptor.str1.4
+ 0x00000000080041d4 0xc build/usbd_desc.o
+ .rodata.USBD_FS_InterfaceStrDescriptor.str1.4
+ 0x00000000080041e0 0xf build/usbd_desc.o
+ *fill* 0x00000000080041ef 0x1
+ .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4
+ 0x00000000080041f0 0x11 build/usbd_desc.o
+ *fill* 0x0000000008004201 0x3
+ .rodata.USBD_FS_ProductStrDescriptor.str1.4
+ 0x0000000008004204 0xb build/usbd_desc.o
+ *fill* 0x000000000800420f 0x1
+ .rodata.USBD_FS_SerialStrDescriptor.str1.4
+ 0x0000000008004210 0x10 build/usbd_desc.o
+ 0xd (size before relaxing)
+ .rodata.MIDI_DataRx
+ 0x0000000008004220 0x40 build/usbd_midi_if.o
+ .rodata.midiEventIsGenerated
+ 0x0000000008004260 0x40 build/usbd_midi_if.o
+ .rodata.USBD_GetDescriptor
+ 0x00000000080042a0 0x38 build/usbd_ctlreq.o
+ .rodata.USBD_StdDevReq
+ 0x00000000080042d8 0x28 build/usbd_ctlreq.o
+ .rodata.AHBPrescTable
+ 0x0000000008004300 0x10 build/system_stm32f0xx.o
+ 0x0000000008004300 AHBPrescTable
+ 0x0000000008004310 . = ALIGN (0x4)
+
+.rel.dyn 0x0000000008004310 0x0
+ .rel.iplt 0x0000000008004310 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+
+.ARM.extab
+ *(.ARM.extab* .gnu.linkonce.armextab.*)
+
+.ARM 0x0000000008004310 0x0
+ 0x0000000008004310 __exidx_start = .
+ *(.ARM.exidx*)
+ 0x0000000008004310 __exidx_end = .
+
+.preinit_array 0x0000000008004310 0x0
+ 0x0000000008004310 PROVIDE (__preinit_array_start = .)
+ *(.preinit_array*)
+ 0x0000000008004310 PROVIDE (__preinit_array_end = .)
+
+.init_array 0x0000000008004310 0x4
+ 0x0000000008004310 PROVIDE (__init_array_start = .)
+ *(SORT_BY_NAME(.init_array.*))
+ *(.init_array*)
+ .init_array 0x0000000008004310 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ 0x0000000008004314 PROVIDE (__init_array_end = .)
+
+.fini_array 0x0000000008004314 0x4
+ 0x0000000008004314 PROVIDE (__fini_array_start = .)
+ *(SORT_BY_NAME(.fini_array.*))
+ *(.fini_array*)
+ .fini_array 0x0000000008004314 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ 0x0000000008004318 PROVIDE (__fini_array_end = .)
+ 0x0000000008004318 _sidata = LOADADDR (.data)
+
+.data 0x0000000020000000 0x188 load address 0x0000000008004318
+ 0x0000000020000000 . = ALIGN (0x4)
+ 0x0000000020000000 _sdata = .
+ *(.data)
+ .data 0x0000000020000000 0x64 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ 0x0000000020000000 _impure_ptr
+ *(.data*)
+ .data.dial_div
+ 0x0000000020000064 0x10 build/main.o
+ 0x0000000020000064 dial_div
+ .data.dial_mapping
+ 0x0000000020000074 0x8 build/main.o
+ 0x0000000020000074 dial_mapping
+ .data.midi_packet
+ 0x000000002000007c 0x4 build/main.o
+ 0x000000002000007c midi_packet
+ .data.uwTickFreq
+ 0x0000000020000080 0x1 build/stm32f0xx_hal.o
+ 0x0000000020000080 uwTickFreq
+ *fill* 0x0000000020000081 0x3
+ .data.uwTickPrio
+ 0x0000000020000084 0x4 build/stm32f0xx_hal.o
+ 0x0000000020000084 uwTickPrio
+ .data.FS_Desc 0x0000000020000088 0x1c build/usbd_desc.o
+ 0x0000000020000088 FS_Desc
+ .data.USBD_FS_DeviceDesc
+ 0x00000000200000a4 0x12 build/usbd_desc.o
+ 0x00000000200000a4 USBD_FS_DeviceDesc
+ *fill* 0x00000000200000b6 0x2
+ .data.USBD_LangIDDesc
+ 0x00000000200000b8 0x4 build/usbd_desc.o
+ 0x00000000200000b8 USBD_LangIDDesc
+ .data.USBD_Interface_fops_FS
+ 0x00000000200000bc 0x8 build/usbd_midi_if.o
+ 0x00000000200000bc USBD_Interface_fops_FS
+ .data.USBD_MIDI
+ 0x00000000200000c4 0x38 build/usbd_midi.o
+ 0x00000000200000c4 USBD_MIDI
+ .data.USBD_MIDI_CfgDesc
+ 0x00000000200000fc 0x85 build/usbd_midi.o
+ 0x00000000200000fc USBD_MIDI_CfgDesc
+ *fill* 0x0000000020000181 0x3
+ .data.SystemCoreClock
+ 0x0000000020000184 0x4 build/system_stm32f0xx.o
+ 0x0000000020000184 SystemCoreClock
+ 0x0000000020000188 . = ALIGN (0x4)
+ 0x0000000020000188 _edata = .
+
+.tm_clone_table
+ 0x0000000020000188 0x0 load address 0x00000000080044a0
+ .tm_clone_table
+ 0x0000000020000188 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ .tm_clone_table
+ 0x0000000020000188 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+
+.igot.plt 0x0000000020000188 0x0 load address 0x00000000080044a0
+ .igot.plt 0x0000000020000188 0x0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ 0x0000000020000188 . = ALIGN (0x4)
+
+.bss 0x0000000020000188 0x930 load address 0x00000000080044a0
+ 0x0000000020000188 _sbss = .
+ 0x0000000020000188 __bss_start__ = _sbss
+ *(.bss)
+ .bss 0x0000000020000188 0x1c /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ .bss 0x00000000200001a4 0x8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ 0x00000000200001a4 __malloc_free_list
+ 0x00000000200001a8 __malloc_sbrk_start
+ .bss 0x00000000200001ac 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ *(.bss*)
+ .bss.cfgidx.7827
+ 0x00000000200001b0 0x1 build/usbd_ctlreq.o
+ *fill* 0x00000000200001b1 0x3
+ .bss.APP_Rx_length
+ 0x00000000200001b4 0x4 build/usbd_midi.o
+ 0x00000000200001b4 APP_Rx_length
+ .bss.APP_Rx_ptr_in
+ 0x00000000200001b8 0x4 build/usbd_midi.o
+ 0x00000000200001b8 APP_Rx_ptr_in
+ .bss.APP_Rx_ptr_out
+ 0x00000000200001bc 0x4 build/usbd_midi.o
+ 0x00000000200001bc APP_Rx_ptr_out
+ .bss.USB_Tx_State
+ 0x00000000200001c0 0x1 build/usbd_midi.o
+ 0x00000000200001c0 USB_Tx_State
+ *fill* 0x00000000200001c1 0x3
+ .bss.pInstance
+ 0x00000000200001c4 0x4 build/usbd_midi.o
+ 0x00000000200001c4 pInstance
+ *(COMMON)
+ COMMON 0x00000000200001c8 0x320 build/main.o
+ 0x00000000200001c8 ADC_val_old
+ 0x00000000200001d8 dial
+ 0x00000000200001e0 ADC_val
+ 0x00000000200001f0 hdma_adc
+ 0x0000000020000234 hpcd_USB_FS
+ 0x00000000200004a8 hadc
+ COMMON 0x00000000200004e8 0x4 build/stm32f0xx_hal.o
+ 0x00000000200004e8 uwTick
+ COMMON 0x00000000200004ec 0x224 build/usb_device.o
+ 0x00000000200004ec hUsbDeviceFS
+ COMMON 0x0000000020000710 0x200 build/usbd_desc.o
+ 0x0000000020000710 USBD_StrDesc
+ COMMON 0x0000000020000910 0x64 build/usbd_midi_if.o
+ 0x0000000020000910 rbuf_jack_rx
+ 0x000000002000091c rx_midi_msg
+ 0x0000000020000920 midi_event
+ 0x0000000020000964 rbuf_usb_rx
+ 0x0000000020000970 analyzed_status
+ COMMON 0x0000000020000974 0x140 build/usbd_midi.o
+ 0x0000000020000974 USB_Rx_Buffer
+ 0x00000000200009b4 APP_Rx_Buffer
+ COMMON 0x0000000020000ab4 0x4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ 0x0000000020000ab4 errno
+ 0x0000000020000ab8 . = ALIGN (0x4)
+ 0x0000000020000ab8 _ebss = .
+ 0x0000000020000ab8 __bss_end__ = _ebss
+
+._user_heap_stack
+ 0x0000000020000ab8 0x600 load address 0x00000000080044a0
+ 0x0000000020000ab8 . = ALIGN (0x8)
+ 0x0000000020000ab8 PROVIDE (end = .)
+ [!provide] PROVIDE (_end = .)
+ 0x0000000020000cb8 . = (. + _Min_Heap_Size)
+ *fill* 0x0000000020000ab8 0x200
+ 0x00000000200010b8 . = (. + _Min_Stack_Size)
+ *fill* 0x0000000020000cb8 0x400
+ 0x00000000200010b8 . = ALIGN (0x8)
+
+/DISCARD/
+ libc.a(*)
+ libm.a(*)
+ libgcc.a(*)
+
+.ARM.attributes
+ 0x0000000000000000 0x28
+ *(.ARM.attributes)
+ .ARM.attributes
+ 0x0000000000000000 0x1e /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ .ARM.attributes
+ 0x000000000000001e 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ .ARM.attributes
+ 0x000000000000004a 0x31 build/main.o
+ .ARM.attributes
+ 0x000000000000007b 0x31 build/stm32f0xx_it.o
+ .ARM.attributes
+ 0x00000000000000ac 0x31 build/stm32f0xx_hal_msp.o
+ .ARM.attributes
+ 0x00000000000000dd 0x31 build/stm32f0xx_ll_usb.o
+ .ARM.attributes
+ 0x000000000000010e 0x31 build/stm32f0xx_hal_adc.o
+ .ARM.attributes
+ 0x000000000000013f 0x31 build/stm32f0xx_hal_rcc.o
+ .ARM.attributes
+ 0x0000000000000170 0x31 build/stm32f0xx_hal_rcc_ex.o
+ .ARM.attributes
+ 0x00000000000001a1 0x31 build/stm32f0xx_hal.o
+ .ARM.attributes
+ 0x00000000000001d2 0x31 build/stm32f0xx_hal_gpio.o
+ .ARM.attributes
+ 0x0000000000000203 0x31 build/stm32f0xx_hal_dma.o
+ .ARM.attributes
+ 0x0000000000000234 0x31 build/stm32f0xx_hal_cortex.o
+ .ARM.attributes
+ 0x0000000000000265 0x31 build/stm32f0xx_hal_pcd.o
+ .ARM.attributes
+ 0x0000000000000296 0x31 build/stm32f0xx_hal_pcd_ex.o
+ .ARM.attributes
+ 0x00000000000002c7 0x31 build/usb_device.o
+ .ARM.attributes
+ 0x00000000000002f8 0x31 build/usbd_conf.o
+ .ARM.attributes
+ 0x0000000000000329 0x31 build/usbd_desc.o
+ .ARM.attributes
+ 0x000000000000035a 0x31 build/usbd_midi_if.o
+ .ARM.attributes
+ 0x000000000000038b 0x31 build/usbd_core.o
+ .ARM.attributes
+ 0x00000000000003bc 0x31 build/usbd_ctlreq.o
+ .ARM.attributes
+ 0x00000000000003ed 0x31 build/usbd_ioreq.o
+ .ARM.attributes
+ 0x000000000000041e 0x31 build/usbd_midi.o
+ .ARM.attributes
+ 0x000000000000044f 0x31 build/curebuffer.o
+ .ARM.attributes
+ 0x0000000000000480 0x31 build/system_stm32f0xx.o
+ .ARM.attributes
+ 0x00000000000004b1 0x21 build/startup_stm32f072xb.o
+ .ARM.attributes
+ 0x00000000000004d2 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .ARM.attributes
+ 0x00000000000004fe 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .ARM.attributes
+ 0x000000000000052a 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .ARM.attributes
+ 0x0000000000000556 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .ARM.attributes
+ 0x0000000000000582 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .ARM.attributes
+ 0x00000000000005ae 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .ARM.attributes
+ 0x00000000000005da 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .ARM.attributes
+ 0x0000000000000606 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .ARM.attributes
+ 0x0000000000000632 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .ARM.attributes
+ 0x000000000000065e 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .ARM.attributes
+ 0x000000000000068a 0x1e /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .ARM.attributes
+ 0x00000000000006a8 0x1e /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ .ARM.attributes
+ 0x00000000000006c6 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ .ARM.attributes
+ 0x00000000000006f2 0x1e /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtn.o
+OUTPUT(build/midi-dials.elf elf32-littlearm)
+
+.comment 0x0000000000000000 0xae
+ .comment 0x0000000000000000 0x57 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+ 0x58 (size before relaxing)
+ .comment 0x0000000000000057 0x58 build/main.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_it.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_msp.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_ll_usb.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_adc.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_rcc.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_rcc_ex.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_gpio.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_dma.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_cortex.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_pcd.o
+ .comment 0x0000000000000057 0x58 build/stm32f0xx_hal_pcd_ex.o
+ .comment 0x0000000000000057 0x58 build/usb_device.o
+ .comment 0x0000000000000057 0x58 build/usbd_conf.o
+ .comment 0x0000000000000057 0x58 build/usbd_desc.o
+ .comment 0x0000000000000057 0x58 build/usbd_midi_if.o
+ .comment 0x0000000000000057 0x58 build/usbd_core.o
+ .comment 0x0000000000000057 0x58 build/usbd_ctlreq.o
+ .comment 0x0000000000000057 0x58 build/usbd_ioreq.o
+ .comment 0x0000000000000057 0x58 build/usbd_midi.o
+ .comment 0x0000000000000057 0x58 build/curebuffer.o
+ .comment 0x0000000000000057 0x58 build/system_stm32f0xx.o
+ .comment 0x0000000000000057 0x57 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ 0x58 (size before relaxing)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .comment 0x00000000000000ae 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+
+.debug_info 0x0000000000000000 0x1ca1a
+ .debug_info 0x0000000000000000 0x258a build/main.o
+ .debug_info 0x000000000000258a 0x9a0 build/stm32f0xx_it.o
+ .debug_info 0x0000000000002f2a 0xa35 build/stm32f0xx_hal_msp.o
+ .debug_info 0x000000000000395f 0x16b5 build/stm32f0xx_ll_usb.o
+ .debug_info 0x0000000000005014 0xfdf build/stm32f0xx_hal_adc.o
+ .debug_info 0x0000000000005ff3 0xade build/stm32f0xx_hal_rcc.o
+ .debug_info 0x0000000000006ad1 0x7c3 build/stm32f0xx_hal_rcc_ex.o
+ .debug_info 0x0000000000007294 0x7f4 build/stm32f0xx_hal.o
+ .debug_info 0x0000000000007a88 0x703 build/stm32f0xx_hal_gpio.o
+ .debug_info 0x000000000000818b 0x8ea build/stm32f0xx_hal_dma.o
+ .debug_info 0x0000000000008a75 0x8b7 build/stm32f0xx_hal_cortex.o
+ .debug_info 0x000000000000932c 0x13e4 build/stm32f0xx_hal_pcd.o
+ .debug_info 0x000000000000a710 0xa73 build/stm32f0xx_hal_pcd_ex.o
+ .debug_info 0x000000000000b183 0x1034 build/usb_device.o
+ .debug_info 0x000000000000c1b7 0x2276 build/usbd_conf.o
+ .debug_info 0x000000000000e42d 0xeae build/usbd_desc.o
+ .debug_info 0x000000000000f2db 0x1749 build/usbd_midi_if.o
+ .debug_info 0x0000000000010a24 0x16a6 build/usbd_core.o
+ .debug_info 0x00000000000120ca 0x1873 build/usbd_ctlreq.o
+ .debug_info 0x000000000001393d 0x117d build/usbd_ioreq.o
+ .debug_info 0x0000000000014aba 0x17fb build/usbd_midi.o
+ .debug_info 0x00000000000162b5 0xfd5 build/curebuffer.o
+ .debug_info 0x000000000001728a 0x2d3 build/system_stm32f0xx.o
+ .debug_info 0x000000000001755d 0x22 build/startup_stm32f072xb.o
+ .debug_info 0x000000000001757f 0x8a4 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .debug_info 0x0000000000017e23 0x109 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_info 0x0000000000017f2c 0x921 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_info 0x000000000001884d 0xe1d /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_info 0x000000000001966a 0xaba /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_info 0x000000000001a124 0xb74 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_info 0x000000000001ac98 0x95a /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_info 0x000000000001b5f2 0x8d7 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .debug_info 0x000000000001bec9 0xa75 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_info 0x000000000001c93e 0x90 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .debug_info 0x000000000001c9ce 0x26 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .debug_info 0x000000000001c9f4 0x26 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+
+.debug_abbrev 0x0000000000000000 0x47d8
+ .debug_abbrev 0x0000000000000000 0x2b2 build/main.o
+ .debug_abbrev 0x00000000000002b2 0x183 build/stm32f0xx_it.o
+ .debug_abbrev 0x0000000000000435 0x1d0 build/stm32f0xx_hal_msp.o
+ .debug_abbrev 0x0000000000000605 0x303 build/stm32f0xx_ll_usb.o
+ .debug_abbrev 0x0000000000000908 0x28c build/stm32f0xx_hal_adc.o
+ .debug_abbrev 0x0000000000000b94 0x269 build/stm32f0xx_hal_rcc.o
+ .debug_abbrev 0x0000000000000dfd 0x208 build/stm32f0xx_hal_rcc_ex.o
+ .debug_abbrev 0x0000000000001005 0x209 build/stm32f0xx_hal.o
+ .debug_abbrev 0x000000000000120e 0x213 build/stm32f0xx_hal_gpio.o
+ .debug_abbrev 0x0000000000001421 0x252 build/stm32f0xx_hal_dma.o
+ .debug_abbrev 0x0000000000001673 0x279 build/stm32f0xx_hal_cortex.o
+ .debug_abbrev 0x00000000000018ec 0x2c8 build/stm32f0xx_hal_pcd.o
+ .debug_abbrev 0x0000000000001bb4 0x256 build/stm32f0xx_hal_pcd_ex.o
+ .debug_abbrev 0x0000000000001e0a 0x209 build/usb_device.o
+ .debug_abbrev 0x0000000000002013 0x317 build/usbd_conf.o
+ .debug_abbrev 0x000000000000232a 0x284 build/usbd_desc.o
+ .debug_abbrev 0x00000000000025ae 0x337 build/usbd_midi_if.o
+ .debug_abbrev 0x00000000000028e5 0x2e2 build/usbd_core.o
+ .debug_abbrev 0x0000000000002bc7 0x325 build/usbd_ctlreq.o
+ .debug_abbrev 0x0000000000002eec 0x1f7 build/usbd_ioreq.o
+ .debug_abbrev 0x00000000000030e3 0x2c7 build/usbd_midi.o
+ .debug_abbrev 0x00000000000033aa 0x242 build/curebuffer.o
+ .debug_abbrev 0x00000000000035ec 0x12a build/system_stm32f0xx.o
+ .debug_abbrev 0x0000000000003716 0x12 build/startup_stm32f072xb.o
+ .debug_abbrev 0x0000000000003728 0x15c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .debug_abbrev 0x0000000000003884 0xba /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_abbrev 0x000000000000393e 0x1c6 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_abbrev 0x0000000000003b04 0x1a8 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_abbrev 0x0000000000003cac 0x22f /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_abbrev 0x0000000000003edb 0x295 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_abbrev 0x0000000000004170 0x1df /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_abbrev 0x000000000000434f 0x1a1 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .debug_abbrev 0x00000000000044f0 0x22e /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_abbrev 0x000000000000471e 0x92 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .debug_abbrev 0x00000000000047b0 0x14 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .debug_abbrev 0x00000000000047c4 0x14 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+
+.debug_loc 0x0000000000000000 0x9a1e
+ .debug_loc 0x0000000000000000 0x11b build/main.o
+ .debug_loc 0x000000000000011b 0x60 build/stm32f0xx_it.o
+ .debug_loc 0x000000000000017b 0xe5 build/stm32f0xx_hal_msp.o
+ .debug_loc 0x0000000000000260 0x1233 build/stm32f0xx_ll_usb.o
+ .debug_loc 0x0000000000001493 0xec0 build/stm32f0xx_hal_adc.o
+ .debug_loc 0x0000000000002353 0x61b build/stm32f0xx_hal_rcc.o
+ .debug_loc 0x000000000000296e 0x857 build/stm32f0xx_hal_rcc_ex.o
+ .debug_loc 0x00000000000031c5 0x1bb build/stm32f0xx_hal.o
+ .debug_loc 0x0000000000003380 0x3e1 build/stm32f0xx_hal_gpio.o
+ .debug_loc 0x0000000000003761 0x973 build/stm32f0xx_hal_dma.o
+ .debug_loc 0x00000000000040d4 0x3f7 build/stm32f0xx_hal_cortex.o
+ .debug_loc 0x00000000000044cb 0xd92 build/stm32f0xx_hal_pcd.o
+ .debug_loc 0x000000000000525d 0x20b build/stm32f0xx_hal_pcd_ex.o
+ .debug_loc 0x0000000000005468 0x20 build/usb_device.o
+ .debug_loc 0x0000000000005488 0xf25 build/usbd_conf.o
+ .debug_loc 0x00000000000063ad 0x357 build/usbd_desc.o
+ .debug_loc 0x0000000000006704 0x8a8 build/usbd_midi_if.o
+ .debug_loc 0x0000000000006fac 0x8c4 build/usbd_core.o
+ .debug_loc 0x0000000000007870 0xc9d build/usbd_ctlreq.o
+ .debug_loc 0x000000000000850d 0x31c build/usbd_ioreq.o
+ .debug_loc 0x0000000000008829 0x294 build/usbd_midi.o
+ .debug_loc 0x0000000000008abd 0x6bd build/curebuffer.o
+ .debug_loc 0x000000000000917a 0x14b build/system_stm32f0xx.o
+ .debug_loc 0x00000000000092c5 0x84 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_loc 0x0000000000009349 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_loc 0x00000000000093a1 0x1a5 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_loc 0x0000000000009546 0x15a /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_loc 0x00000000000096a0 0x1f7 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_loc 0x0000000000009897 0x58 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_loc 0x00000000000098ef 0xf7 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_loc 0x00000000000099e6 0x38 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+
+.debug_aranges 0x0000000000000000 0xda8
+ .debug_aranges
+ 0x0000000000000000 0x48 build/main.o
+ .debug_aranges
+ 0x0000000000000048 0x50 build/stm32f0xx_it.o
+ .debug_aranges
+ 0x0000000000000098 0x30 build/stm32f0xx_hal_msp.o
+ .debug_aranges
+ 0x00000000000000c8 0x108 build/stm32f0xx_ll_usb.o
+ .debug_aranges
+ 0x00000000000001d0 0xf8 build/stm32f0xx_hal_adc.o
+ .debug_aranges
+ 0x00000000000002c8 0x80 build/stm32f0xx_hal_rcc.o
+ .debug_aranges
+ 0x0000000000000348 0x78 build/stm32f0xx_hal_rcc_ex.o
+ .debug_aranges
+ 0x00000000000003c0 0xd0 build/stm32f0xx_hal.o
+ .debug_aranges
+ 0x0000000000000490 0x58 build/stm32f0xx_hal_gpio.o
+ .debug_aranges
+ 0x00000000000004e8 0x88 build/stm32f0xx_hal_dma.o
+ .debug_aranges
+ 0x0000000000000570 0x78 build/stm32f0xx_hal_cortex.o
+ .debug_aranges
+ 0x00000000000005e8 0x120 build/stm32f0xx_hal_pcd.o
+ .debug_aranges
+ 0x0000000000000708 0x58 build/stm32f0xx_hal_pcd_ex.o
+ .debug_aranges
+ 0x0000000000000760 0x28 build/usb_device.o
+ .debug_aranges
+ 0x0000000000000788 0x108 build/usbd_conf.o
+ .debug_aranges
+ 0x0000000000000890 0x50 build/usbd_desc.o
+ .debug_aranges
+ 0x00000000000008e0 0x80 build/usbd_midi_if.o
+ .debug_aranges
+ 0x0000000000000960 0xb8 build/usbd_core.o
+ .debug_aranges
+ 0x0000000000000a18 0x88 build/usbd_ctlreq.o
+ .debug_aranges
+ 0x0000000000000aa0 0x50 build/usbd_ioreq.o
+ .debug_aranges
+ 0x0000000000000af0 0x50 build/usbd_midi.o
+ .debug_aranges
+ 0x0000000000000b40 0xa0 build/curebuffer.o
+ .debug_aranges
+ 0x0000000000000be0 0x28 build/system_stm32f0xx.o
+ .debug_aranges
+ 0x0000000000000c08 0x28 build/startup_stm32f072xb.o
+ .debug_aranges
+ 0x0000000000000c30 0x18 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .debug_aranges
+ 0x0000000000000c48 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_aranges
+ 0x0000000000000c68 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_aranges
+ 0x0000000000000c88 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_aranges
+ 0x0000000000000ca8 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_aranges
+ 0x0000000000000cc8 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_aranges
+ 0x0000000000000ce8 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_aranges
+ 0x0000000000000d08 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .debug_aranges
+ 0x0000000000000d28 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_aranges
+ 0x0000000000000d48 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .debug_aranges
+ 0x0000000000000d68 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .debug_aranges
+ 0x0000000000000d88 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+
+.debug_ranges 0x0000000000000000 0xd20
+ .debug_ranges 0x0000000000000000 0x38 build/main.o
+ .debug_ranges 0x0000000000000038 0x40 build/stm32f0xx_it.o
+ .debug_ranges 0x0000000000000078 0x20 build/stm32f0xx_hal_msp.o
+ .debug_ranges 0x0000000000000098 0x218 build/stm32f0xx_ll_usb.o
+ .debug_ranges 0x00000000000002b0 0xe8 build/stm32f0xx_hal_adc.o
+ .debug_ranges 0x0000000000000398 0x88 build/stm32f0xx_hal_rcc.o
+ .debug_ranges 0x0000000000000420 0x80 build/stm32f0xx_hal_rcc_ex.o
+ .debug_ranges 0x00000000000004a0 0xc0 build/stm32f0xx_hal.o
+ .debug_ranges 0x0000000000000560 0x48 build/stm32f0xx_hal_gpio.o
+ .debug_ranges 0x00000000000005a8 0x78 build/stm32f0xx_hal_dma.o
+ .debug_ranges 0x0000000000000620 0xc8 build/stm32f0xx_hal_cortex.o
+ .debug_ranges 0x00000000000006e8 0x140 build/stm32f0xx_hal_pcd.o
+ .debug_ranges 0x0000000000000828 0x48 build/stm32f0xx_hal_pcd_ex.o
+ .debug_ranges 0x0000000000000870 0x18 build/usb_device.o
+ .debug_ranges 0x0000000000000888 0xf8 build/usbd_conf.o
+ .debug_ranges 0x0000000000000980 0x40 build/usbd_desc.o
+ .debug_ranges 0x00000000000009c0 0xa0 build/usbd_midi_if.o
+ .debug_ranges 0x0000000000000a60 0xa8 build/usbd_core.o
+ .debug_ranges 0x0000000000000b08 0x78 build/usbd_ctlreq.o
+ .debug_ranges 0x0000000000000b80 0x40 build/usbd_ioreq.o
+ .debug_ranges 0x0000000000000bc0 0x40 build/usbd_midi.o
+ .debug_ranges 0x0000000000000c00 0x90 build/curebuffer.o
+ .debug_ranges 0x0000000000000c90 0x18 build/system_stm32f0xx.o
+ .debug_ranges 0x0000000000000ca8 0x20 build/startup_stm32f072xb.o
+ .debug_ranges 0x0000000000000cc8 0x18 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_ranges 0x0000000000000ce0 0x40 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+
+.debug_line 0x0000000000000000 0x60b2
+ .debug_line 0x0000000000000000 0x426 build/main.o
+ .debug_line 0x0000000000000426 0x1e1 build/stm32f0xx_it.o
+ .debug_line 0x0000000000000607 0x1fb build/stm32f0xx_hal_msp.o
+ .debug_line 0x0000000000000802 0x60c build/stm32f0xx_ll_usb.o
+ .debug_line 0x0000000000000e0e 0x6e4 build/stm32f0xx_hal_adc.o
+ .debug_line 0x00000000000014f2 0x468 build/stm32f0xx_hal_rcc.o
+ .debug_line 0x000000000000195a 0x3ea build/stm32f0xx_hal_rcc_ex.o
+ .debug_line 0x0000000000001d44 0x33d build/stm32f0xx_hal.o
+ .debug_line 0x0000000000002081 0x2be build/stm32f0xx_hal_gpio.o
+ .debug_line 0x000000000000233f 0x3bf build/stm32f0xx_hal_dma.o
+ .debug_line 0x00000000000026fe 0x2f4 build/stm32f0xx_hal_cortex.o
+ .debug_line 0x00000000000029f2 0x654 build/stm32f0xx_hal_pcd.o
+ .debug_line 0x0000000000003046 0x23d build/stm32f0xx_hal_pcd_ex.o
+ .debug_line 0x0000000000003283 0x242 build/usb_device.o
+ .debug_line 0x00000000000034c5 0x520 build/usbd_conf.o
+ .debug_line 0x00000000000039e5 0x260 build/usbd_desc.o
+ .debug_line 0x0000000000003c45 0x49f build/usbd_midi_if.o
+ .debug_line 0x00000000000040e4 0x40b build/usbd_core.o
+ .debug_line 0x00000000000044ef 0x41d build/usbd_ctlreq.o
+ .debug_line 0x000000000000490c 0x271 build/usbd_ioreq.o
+ .debug_line 0x0000000000004b7d 0x305 build/usbd_midi.o
+ .debug_line 0x0000000000004e82 0x2e5 build/curebuffer.o
+ .debug_line 0x0000000000005167 0x150 build/system_stm32f0xx.o
+ .debug_line 0x00000000000052b7 0x77 build/startup_stm32f072xb.o
+ .debug_line 0x000000000000532e 0xe9 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ .debug_line 0x0000000000005417 0xbf /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_line 0x00000000000054d6 0x15a /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_line 0x0000000000005630 0x1de /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_line 0x000000000000580e 0x1ad /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_line 0x00000000000059bb 0x1bb /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_line 0x0000000000005b76 0x15c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_line 0x0000000000005cd2 0x144 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .debug_line 0x0000000000005e16 0x17b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_line 0x0000000000005f91 0x5b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .debug_line 0x0000000000005fec 0x69 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .debug_line 0x0000000000006055 0x5d /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+
+.debug_str 0x0000000000000000 0x44d7
+ .debug_str 0x0000000000000000 0x15d2 build/main.o
+ 0x1779 (size before relaxing)
+ .debug_str 0x00000000000015d2 0xb6 build/stm32f0xx_it.o
+ 0x804 (size before relaxing)
+ .debug_str 0x0000000000001688 0x98 build/stm32f0xx_hal_msp.o
+ 0x735 (size before relaxing)
+ .debug_str 0x0000000000001720 0x367 build/stm32f0xx_ll_usb.o
+ 0x7c9 (size before relaxing)
+ .debug_str 0x0000000000001a87 0x2f7 build/stm32f0xx_hal_adc.o
+ 0x972 (size before relaxing)
+ .debug_str 0x0000000000001d7e 0x204 build/stm32f0xx_hal_rcc.o
+ 0x6b7 (size before relaxing)
+ .debug_str 0x0000000000001f82 0x297 build/stm32f0xx_hal_rcc_ex.o
+ 0x6af (size before relaxing)
+ .debug_str 0x0000000000002219 0x1db build/stm32f0xx_hal.o
+ 0x70b (size before relaxing)
+ .debug_str 0x00000000000023f4 0x108 build/stm32f0xx_hal_gpio.o
+ 0x4a2 (size before relaxing)
+ .debug_str 0x00000000000024fc 0x201 build/stm32f0xx_hal_dma.o
+ 0x6b7 (size before relaxing)
+ .debug_str 0x00000000000026fd 0x24d build/stm32f0xx_hal_cortex.o
+ 0x6f5 (size before relaxing)
+ .debug_str 0x000000000000294a 0x35d build/stm32f0xx_hal_pcd.o
+ 0xad0 (size before relaxing)
+ .debug_str 0x0000000000002ca7 0x191 build/stm32f0xx_hal_pcd_ex.o
+ 0x7f9 (size before relaxing)
+ .debug_str 0x0000000000002e38 0x68 build/usb_device.o
+ 0xae0 (size before relaxing)
+ .debug_str 0x0000000000002ea0 0x278 build/usbd_conf.o
+ 0x14e2 (size before relaxing)
+ .debug_str 0x0000000000003118 0x11a build/usbd_desc.o
+ 0x85d (size before relaxing)
+ .debug_str 0x0000000000003232 0x2c5 build/usbd_midi_if.o
+ 0xdb0 (size before relaxing)
+ .debug_str 0x00000000000034f7 0x13e build/usbd_core.o
+ 0xca2 (size before relaxing)
+ .debug_str 0x0000000000003635 0xe2 build/usbd_ctlreq.o
+ 0xbbc (size before relaxing)
+ .debug_str 0x0000000000003717 0x60 build/usbd_ioreq.o
+ 0xae9 (size before relaxing)
+ .debug_str 0x0000000000003777 0xd5 build/usbd_midi.o
+ 0xf19 (size before relaxing)
+ .debug_str 0x000000000000384c 0x1c6 build/curebuffer.o
+ 0x801 (size before relaxing)
+ .debug_str 0x0000000000003a12 0x38 build/system_stm32f0xx.o
+ 0x2ce (size before relaxing)
+ .debug_str 0x0000000000003a4a 0x22 build/startup_stm32f072xb.o
+ 0x4d (size before relaxing)
+ .debug_str 0x0000000000003a6c 0x1a3 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ 0x5db (size before relaxing)
+ .debug_str 0x0000000000003c0f 0xf3 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ 0x222 (size before relaxing)
+ .debug_str 0x0000000000003d02 0xb1 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ 0x60c (size before relaxing)
+ .debug_str 0x0000000000003db3 0x30b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ 0x908 (size before relaxing)
+ .debug_str 0x00000000000040be 0x134 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ 0x70b (size before relaxing)
+ .debug_str 0x00000000000041f2 0x32 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ 0x722 (size before relaxing)
+ .debug_str 0x0000000000004224 0x6a /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ 0x61e (size before relaxing)
+ .debug_str 0x000000000000428e 0x49 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ 0x607 (size before relaxing)
+ .debug_str 0x00000000000042d7 0x5b /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ 0x617 (size before relaxing)
+ .debug_str 0x0000000000004332 0x108 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ 0x121 (size before relaxing)
+ .debug_str 0x000000000000443a 0x9d /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ .debug_str 0x00000000000044d7 0x9d /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+
+.debug_frame 0x0000000000000000 0x2134
+ .debug_frame 0x0000000000000000 0xd0 build/main.o
+ .debug_frame 0x00000000000000d0 0xa4 build/stm32f0xx_it.o
+ .debug_frame 0x0000000000000174 0x60 build/stm32f0xx_hal_msp.o
+ .debug_frame 0x00000000000001d4 0x254 build/stm32f0xx_ll_usb.o
+ .debug_frame 0x0000000000000428 0x2f8 build/stm32f0xx_hal_adc.o
+ .debug_frame 0x0000000000000720 0x15c build/stm32f0xx_hal_rcc.o
+ .debug_frame 0x000000000000087c 0x10c build/stm32f0xx_hal_rcc_ex.o
+ .debug_frame 0x0000000000000988 0x1c0 build/stm32f0xx_hal.o
+ .debug_frame 0x0000000000000b48 0xd8 build/stm32f0xx_hal_gpio.o
+ .debug_frame 0x0000000000000c20 0x198 build/stm32f0xx_hal_dma.o
+ .debug_frame 0x0000000000000db8 0xec build/stm32f0xx_hal_cortex.o
+ .debug_frame 0x0000000000000ea4 0x330 build/stm32f0xx_hal_pcd.o
+ .debug_frame 0x00000000000011d4 0xac build/stm32f0xx_hal_pcd_ex.o
+ .debug_frame 0x0000000000001280 0x3c build/usb_device.o
+ .debug_frame 0x00000000000012bc 0x33c build/usbd_conf.o
+ .debug_frame 0x00000000000015f8 0xbc build/usbd_desc.o
+ .debug_frame 0x00000000000016b4 0x1ac build/usbd_midi_if.o
+ .debug_frame 0x0000000000001860 0x1ec build/usbd_core.o
+ .debug_frame 0x0000000000001a4c 0x198 build/usbd_ctlreq.o
+ .debug_frame 0x0000000000001be4 0xd4 build/usbd_ioreq.o
+ .debug_frame 0x0000000000001cb8 0xb4 build/usbd_midi.o
+ .debug_frame 0x0000000000001d6c 0x1b0 build/curebuffer.o
+ .debug_frame 0x0000000000001f1c 0x3c build/system_stm32f0xx.o
+ .debug_frame 0x0000000000001f58 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ .debug_frame 0x0000000000001f84 0x40 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ .debug_frame 0x0000000000001fc4 0x30 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ .debug_frame 0x0000000000001ff4 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ .debug_frame 0x0000000000002020 0x30 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ .debug_frame 0x0000000000002050 0x2c /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ .debug_frame 0x000000000000207c 0x30 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ .debug_frame 0x00000000000020ac 0x48 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ .debug_frame 0x00000000000020f4 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ .debug_frame 0x0000000000002114 0x20 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+
+Cross Reference Table
+
+Symbol File
+ADC1_COMP_IRQHandler build/startup_stm32f072xb.o
+ADC_val build/main.o
+ADC_val_old build/main.o
+AHBPrescTable build/system_stm32f0xx.o
+ build/stm32f0xx_hal_rcc.o
+APBPrescTable build/system_stm32f0xx.o
+ build/stm32f0xx_hal_rcc.o
+APP_Rx_Buffer build/usbd_midi.o
+ build/usbd_midi_if.o
+APP_Rx_length build/usbd_midi.o
+APP_Rx_ptr_in build/usbd_midi.o
+ build/usbd_midi_if.o
+APP_Rx_ptr_out build/usbd_midi.o
+CEC_CAN_IRQHandler build/startup_stm32f072xb.o
+DMA1_Channel1_IRQHandler build/stm32f0xx_it.o
+DMA1_Channel2_3_IRQHandler build/startup_stm32f072xb.o
+DMA1_Channel4_5_6_7_IRQHandler build/startup_stm32f072xb.o
+Default_Handler build/startup_stm32f072xb.o
+EXTI0_1_IRQHandler build/startup_stm32f072xb.o
+EXTI2_3_IRQHandler build/startup_stm32f072xb.o
+EXTI4_15_IRQHandler build/startup_stm32f072xb.o
+Error_Handler build/main.o
+ build/stm32f0xx_hal_msp.o
+FLASH_IRQHandler build/startup_stm32f072xb.o
+FLASH_PageErase build/stm32f0xx_hal_flash_ex.o
+ build/stm32f0xx_hal_flash.o
+FLASH_WaitForLastOperation build/stm32f0xx_hal_flash.o
+ build/stm32f0xx_hal_flash_ex.o
+FS_Desc build/usbd_desc.o
+ build/usb_device.o
+HAL_ADCEx_Calibration_Start build/stm32f0xx_hal_adc_ex.o
+HAL_ADC_AnalogWDGConfig build/stm32f0xx_hal_adc.o
+HAL_ADC_ConfigChannel build/stm32f0xx_hal_adc.o
+ build/main.o
+HAL_ADC_ConvCpltCallback build/stm32f0xx_hal_adc.o
+HAL_ADC_ConvHalfCpltCallback build/stm32f0xx_hal_adc.o
+HAL_ADC_DeInit build/stm32f0xx_hal_adc.o
+HAL_ADC_ErrorCallback build/stm32f0xx_hal_adc.o
+HAL_ADC_GetError build/stm32f0xx_hal_adc.o
+HAL_ADC_GetState build/stm32f0xx_hal_adc.o
+HAL_ADC_GetValue build/stm32f0xx_hal_adc.o
+HAL_ADC_IRQHandler build/stm32f0xx_hal_adc.o
+HAL_ADC_Init build/stm32f0xx_hal_adc.o
+ build/main.o
+HAL_ADC_LevelOutOfWindowCallback build/stm32f0xx_hal_adc.o
+HAL_ADC_MspDeInit build/stm32f0xx_hal_msp.o
+HAL_ADC_MspInit build/stm32f0xx_hal_msp.o
+HAL_ADC_PollForConversion build/stm32f0xx_hal_adc.o
+HAL_ADC_PollForEvent build/stm32f0xx_hal_adc.o
+HAL_ADC_Start build/stm32f0xx_hal_adc.o
+HAL_ADC_Start_DMA build/stm32f0xx_hal_adc.o
+ build/main.o
+HAL_ADC_Start_IT build/stm32f0xx_hal_adc.o
+HAL_ADC_Stop build/stm32f0xx_hal_adc.o
+HAL_ADC_Stop_DMA build/stm32f0xx_hal_adc.o
+HAL_ADC_Stop_IT build/stm32f0xx_hal_adc.o
+HAL_DBGMCU_DisableDBGStandbyMode build/stm32f0xx_hal.o
+HAL_DBGMCU_DisableDBGStopMode build/stm32f0xx_hal.o
+HAL_DBGMCU_EnableDBGStandbyMode build/stm32f0xx_hal.o
+HAL_DBGMCU_EnableDBGStopMode build/stm32f0xx_hal.o
+HAL_DMA_Abort build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_adc.o
+HAL_DMA_Abort_IT build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_i2c.o
+HAL_DMA_DeInit build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_msp.o
+HAL_DMA_GetError build/stm32f0xx_hal_dma.o
+HAL_DMA_GetState build/stm32f0xx_hal_dma.o
+HAL_DMA_IRQHandler build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_it.o
+HAL_DMA_Init build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_msp.o
+HAL_DMA_PollForTransfer build/stm32f0xx_hal_dma.o
+HAL_DMA_RegisterCallback build/stm32f0xx_hal_dma.o
+HAL_DMA_Start build/stm32f0xx_hal_dma.o
+HAL_DMA_Start_IT build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_i2c.o
+ build/stm32f0xx_hal_adc.o
+HAL_DMA_UnRegisterCallback build/stm32f0xx_hal_dma.o
+HAL_DeInit build/stm32f0xx_hal.o
+HAL_Delay build/stm32f0xx_hal.o
+ build/usbd_conf.o
+ build/stm32f0xx_hal_pcd_ex.o
+ build/main.o
+HAL_EXTI_ClearConfigLine build/stm32f0xx_hal_exti.o
+HAL_EXTI_ClearPending build/stm32f0xx_hal_exti.o
+HAL_EXTI_GenerateSWI build/stm32f0xx_hal_exti.o
+HAL_EXTI_GetConfigLine build/stm32f0xx_hal_exti.o
+HAL_EXTI_GetHandle build/stm32f0xx_hal_exti.o
+HAL_EXTI_GetPending build/stm32f0xx_hal_exti.o
+HAL_EXTI_IRQHandler build/stm32f0xx_hal_exti.o
+HAL_EXTI_RegisterCallback build/stm32f0xx_hal_exti.o
+HAL_EXTI_SetConfigLine build/stm32f0xx_hal_exti.o
+HAL_FLASHEx_Erase build/stm32f0xx_hal_flash_ex.o
+HAL_FLASHEx_Erase_IT build/stm32f0xx_hal_flash_ex.o
+HAL_FLASHEx_OBErase build/stm32f0xx_hal_flash_ex.o
+HAL_FLASHEx_OBGetConfig build/stm32f0xx_hal_flash_ex.o
+HAL_FLASHEx_OBGetUserData build/stm32f0xx_hal_flash_ex.o
+HAL_FLASHEx_OBProgram build/stm32f0xx_hal_flash_ex.o
+HAL_FLASH_EndOfOperationCallback build/stm32f0xx_hal_flash.o
+HAL_FLASH_GetError build/stm32f0xx_hal_flash.o
+HAL_FLASH_IRQHandler build/stm32f0xx_hal_flash.o
+HAL_FLASH_Lock build/stm32f0xx_hal_flash.o
+HAL_FLASH_OB_Launch build/stm32f0xx_hal_flash.o
+HAL_FLASH_OB_Lock build/stm32f0xx_hal_flash.o
+HAL_FLASH_OB_Unlock build/stm32f0xx_hal_flash.o
+HAL_FLASH_OperationErrorCallback build/stm32f0xx_hal_flash.o
+HAL_FLASH_Program build/stm32f0xx_hal_flash.o
+HAL_FLASH_Program_IT build/stm32f0xx_hal_flash.o
+HAL_FLASH_Unlock build/stm32f0xx_hal_flash.o
+HAL_GPIO_DeInit build/stm32f0xx_hal_gpio.o
+ build/stm32f0xx_hal_msp.o
+HAL_GPIO_EXTI_Callback build/stm32f0xx_hal_gpio.o
+HAL_GPIO_EXTI_IRQHandler build/stm32f0xx_hal_gpio.o
+HAL_GPIO_Init build/stm32f0xx_hal_gpio.o
+ build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_msp.o
+ build/main.o
+HAL_GPIO_LockPin build/stm32f0xx_hal_gpio.o
+HAL_GPIO_ReadPin build/stm32f0xx_hal_gpio.o
+HAL_GPIO_TogglePin build/stm32f0xx_hal_gpio.o
+HAL_GPIO_WritePin build/stm32f0xx_hal_gpio.o
+ build/main.o
+HAL_GetDEVID build/stm32f0xx_hal.o
+HAL_GetHalVersion build/stm32f0xx_hal.o
+HAL_GetREVID build/stm32f0xx_hal.o
+HAL_GetTick build/stm32f0xx_hal.o
+ build/stm32f0xx_hal_pcd_ex.o
+ build/stm32f0xx_hal_flash.o
+ build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal_i2c.o
+ build/stm32f0xx_hal_rcc_ex.o
+ build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_adc_ex.o
+ build/stm32f0xx_hal_adc.o
+HAL_GetTickFreq build/stm32f0xx_hal.o
+HAL_GetTickPrio build/stm32f0xx_hal.o
+HAL_GetUIDw0 build/stm32f0xx_hal.o
+HAL_GetUIDw1 build/stm32f0xx_hal.o
+HAL_GetUIDw2 build/stm32f0xx_hal.o
+HAL_I2CEx_ConfigAnalogFilter build/stm32f0xx_hal_i2c_ex.o
+HAL_I2CEx_ConfigDigitalFilter build/stm32f0xx_hal_i2c_ex.o
+HAL_I2CEx_DisableFastModePlus build/stm32f0xx_hal_i2c_ex.o
+HAL_I2CEx_DisableWakeUp build/stm32f0xx_hal_i2c_ex.o
+HAL_I2CEx_EnableFastModePlus build/stm32f0xx_hal_i2c_ex.o
+HAL_I2CEx_EnableWakeUp build/stm32f0xx_hal_i2c_ex.o
+HAL_I2C_AbortCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_AddrCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_DeInit build/stm32f0xx_hal_i2c.o
+HAL_I2C_DisableListen_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_ER_IRQHandler build/stm32f0xx_hal_i2c.o
+HAL_I2C_EV_IRQHandler build/stm32f0xx_hal_i2c.o
+HAL_I2C_EnableListen_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_ErrorCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_GetError build/stm32f0xx_hal_i2c.o
+HAL_I2C_GetMode build/stm32f0xx_hal_i2c.o
+HAL_I2C_GetState build/stm32f0xx_hal_i2c.o
+HAL_I2C_Init build/stm32f0xx_hal_i2c.o
+HAL_I2C_IsDeviceReady build/stm32f0xx_hal_i2c.o
+HAL_I2C_ListenCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_MasterRxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_MasterTxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Abort_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Receive build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Receive_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Receive_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Seq_Receive_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Seq_Receive_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Seq_Transmit_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Seq_Transmit_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Transmit build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Transmit_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Master_Transmit_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_MemRxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_MemTxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Read build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Read_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Read_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Write build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Write_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Mem_Write_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_MspDeInit build/stm32f0xx_hal_i2c.o
+HAL_I2C_MspInit build/stm32f0xx_hal_i2c.o
+HAL_I2C_SlaveRxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_SlaveTxCpltCallback build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Receive build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Receive_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Receive_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Receive_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Receive_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Transmit_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Seq_Transmit_IT build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Transmit build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Transmit_DMA build/stm32f0xx_hal_i2c.o
+HAL_I2C_Slave_Transmit_IT build/stm32f0xx_hal_i2c.o
+HAL_IncTick build/stm32f0xx_hal.o
+ build/stm32f0xx_it.o
+HAL_Init build/stm32f0xx_hal.o
+ build/main.o
+HAL_InitTick build/stm32f0xx_hal.o
+ build/stm32f0xx_hal_rcc.o
+HAL_MspDeInit build/stm32f0xx_hal.o
+HAL_MspInit build/stm32f0xx_hal_msp.o
+HAL_NVIC_ClearPendingIRQ build/stm32f0xx_hal_cortex.o
+HAL_NVIC_DisableIRQ build/stm32f0xx_hal_cortex.o
+ build/usbd_conf.o
+HAL_NVIC_EnableIRQ build/stm32f0xx_hal_cortex.o
+ build/usbd_conf.o
+ build/main.o
+HAL_NVIC_GetPendingIRQ build/stm32f0xx_hal_cortex.o
+HAL_NVIC_GetPriority build/stm32f0xx_hal_cortex.o
+HAL_NVIC_SetPendingIRQ build/stm32f0xx_hal_cortex.o
+HAL_NVIC_SetPriority build/stm32f0xx_hal_cortex.o
+ build/usbd_conf.o
+ build/stm32f0xx_hal.o
+ build/main.o
+HAL_NVIC_SystemReset build/stm32f0xx_hal_cortex.o
+HAL_PCDEx_ActivateBCD build/stm32f0xx_hal_pcd_ex.o
+HAL_PCDEx_ActivateLPM build/stm32f0xx_hal_pcd_ex.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCDEx_BCD_Callback build/stm32f0xx_hal_pcd_ex.o
+HAL_PCDEx_BCD_VBUSDetect build/stm32f0xx_hal_pcd_ex.o
+HAL_PCDEx_DeActivateBCD build/stm32f0xx_hal_pcd_ex.o
+HAL_PCDEx_DeActivateLPM build/stm32f0xx_hal_pcd_ex.o
+HAL_PCDEx_LPM_Callback build/stm32f0xx_hal_pcd_ex.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCDEx_PMAConfig build/stm32f0xx_hal_pcd_ex.o
+ build/usbd_conf.o
+HAL_PCDEx_SetConnectionState build/usbd_conf.o
+HAL_PCD_ActivateRemoteWakeup build/stm32f0xx_hal_pcd.o
+HAL_PCD_ConnectCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_DataInStageCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_DataOutStageCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_DeActivateRemoteWakeup build/stm32f0xx_hal_pcd.o
+HAL_PCD_DeInit build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_DevConnect build/stm32f0xx_hal_pcd.o
+HAL_PCD_DevDisconnect build/stm32f0xx_hal_pcd.o
+HAL_PCD_DisconnectCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_EP_Close build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_ClrStall build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_Flush build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_GetRxCount build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_Open build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_Receive build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_SetStall build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_EP_Transmit build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_GetState build/stm32f0xx_hal_pcd.o
+HAL_PCD_IRQHandler build/stm32f0xx_hal_pcd.o
+ build/stm32f0xx_it.o
+HAL_PCD_ISOINIncompleteCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_ISOOUTIncompleteCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_Init build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_MspDeInit build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_MspInit build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_ResetCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_ResumeCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_SOFCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_SetAddress build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_SetupStageCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PCD_Start build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_Stop build/stm32f0xx_hal_pcd.o
+ build/usbd_conf.o
+HAL_PCD_SuspendCallback build/usbd_conf.o
+ build/stm32f0xx_hal_pcd.o
+HAL_PWREx_DisableVddio2Monitor build/stm32f0xx_hal_pwr_ex.o
+HAL_PWREx_EnableVddio2Monitor build/stm32f0xx_hal_pwr_ex.o
+HAL_PWREx_Vddio2MonitorCallback build/stm32f0xx_hal_pwr_ex.o
+HAL_PWREx_Vddio2Monitor_IRQHandler build/stm32f0xx_hal_pwr_ex.o
+HAL_PWR_ConfigPVD build/stm32f0xx_hal_pwr_ex.o
+HAL_PWR_DeInit build/stm32f0xx_hal_pwr.o
+HAL_PWR_DisableBkUpAccess build/stm32f0xx_hal_pwr.o
+HAL_PWR_DisablePVD build/stm32f0xx_hal_pwr_ex.o
+HAL_PWR_DisableSEVOnPend build/stm32f0xx_hal_pwr.o
+HAL_PWR_DisableSleepOnExit build/stm32f0xx_hal_pwr.o
+HAL_PWR_DisableWakeUpPin build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnableBkUpAccess build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnablePVD build/stm32f0xx_hal_pwr_ex.o
+HAL_PWR_EnableSEVOnPend build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnableSleepOnExit build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnableWakeUpPin build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnterSLEEPMode build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnterSTANDBYMode build/stm32f0xx_hal_pwr.o
+HAL_PWR_EnterSTOPMode build/stm32f0xx_hal_pwr.o
+HAL_PWR_PVDCallback build/stm32f0xx_hal_pwr_ex.o
+HAL_PWR_PVD_IRQHandler build/stm32f0xx_hal_pwr_ex.o
+HAL_RCCEx_CRSConfig build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRSGetSynchronizationInfo build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRSSoftwareSynchronizationGenerate build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRSWaitSynchronization build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_ErrorCallback build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_ExpectedSyncCallback build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_IRQHandler build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_SyncOkCallback build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_CRS_SyncWarnCallback build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_GetPeriphCLKConfig build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_GetPeriphCLKFreq build/stm32f0xx_hal_rcc_ex.o
+HAL_RCCEx_PeriphCLKConfig build/stm32f0xx_hal_rcc_ex.o
+ build/main.o
+HAL_RCC_CSSCallback build/stm32f0xx_hal_rcc.o
+HAL_RCC_ClockConfig build/stm32f0xx_hal_rcc.o
+ build/main.o
+HAL_RCC_DeInit build/stm32f0xx_hal_rcc.o
+HAL_RCC_DisableCSS build/stm32f0xx_hal_rcc.o
+HAL_RCC_EnableCSS build/stm32f0xx_hal_rcc.o
+HAL_RCC_GetClockConfig build/stm32f0xx_hal_rcc.o
+HAL_RCC_GetHCLKFreq build/stm32f0xx_hal_rcc.o
+HAL_RCC_GetOscConfig build/stm32f0xx_hal_rcc.o
+HAL_RCC_GetPCLK1Freq build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_rcc_ex.o
+HAL_RCC_GetSysClockFreq build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_rcc_ex.o
+HAL_RCC_MCOConfig build/stm32f0xx_hal_rcc.o
+HAL_RCC_NMI_IRQHandler build/stm32f0xx_hal_rcc.o
+HAL_RCC_OscConfig build/stm32f0xx_hal_rcc.o
+ build/main.o
+HAL_ResumeTick build/stm32f0xx_hal.o
+HAL_SYSTICK_CLKSourceConfig build/stm32f0xx_hal_cortex.o
+HAL_SYSTICK_Callback build/stm32f0xx_hal_cortex.o
+HAL_SYSTICK_Config build/stm32f0xx_hal_cortex.o
+ build/stm32f0xx_hal.o
+HAL_SYSTICK_IRQHandler build/stm32f0xx_hal_cortex.o
+HAL_SetTickFreq build/stm32f0xx_hal.o
+HAL_SuspendTick build/stm32f0xx_hal.o
+HardFault_Handler build/stm32f0xx_it.o
+I2C1_IRQHandler build/startup_stm32f072xb.o
+I2C2_IRQHandler build/startup_stm32f072xb.o
+MX_USB_DEVICE_Init build/usb_device.o
+MX_USB_MIDI_INIT build/usb_device.o
+ build/main.o
+NMI_Handler build/stm32f0xx_it.o
+PVD_VDDIO2_IRQHandler build/startup_stm32f072xb.o
+PendSV_Handler build/stm32f0xx_it.o
+RCC_CRS_IRQHandler build/startup_stm32f072xb.o
+RTC_IRQHandler build/startup_stm32f072xb.o
+Reset_Handler build/startup_stm32f072xb.o
+SPI1_IRQHandler build/startup_stm32f072xb.o
+SPI2_IRQHandler build/startup_stm32f072xb.o
+SVC_Handler build/stm32f0xx_it.o
+SysTick_Handler build/stm32f0xx_it.o
+SystemClock_Config build/main.o
+SystemCoreClock build/system_stm32f0xx.o
+ build/stm32f0xx_hal.o
+ build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_adc.o
+SystemCoreClockUpdate build/system_stm32f0xx.o
+SystemInit build/system_stm32f0xx.o
+ build/startup_stm32f072xb.o
+TIM14_IRQHandler build/startup_stm32f072xb.o
+TIM15_IRQHandler build/startup_stm32f072xb.o
+TIM16_IRQHandler build/startup_stm32f072xb.o
+TIM17_IRQHandler build/startup_stm32f072xb.o
+TIM1_BRK_UP_TRG_COM_IRQHandler build/startup_stm32f072xb.o
+TIM1_CC_IRQHandler build/startup_stm32f072xb.o
+TIM2_IRQHandler build/startup_stm32f072xb.o
+TIM3_IRQHandler build/startup_stm32f072xb.o
+TIM6_DAC_IRQHandler build/startup_stm32f072xb.o
+TIM7_IRQHandler build/startup_stm32f072xb.o
+TSC_IRQHandler build/startup_stm32f072xb.o
+USART1_IRQHandler build/startup_stm32f072xb.o
+USART2_IRQHandler build/startup_stm32f072xb.o
+USART3_4_IRQHandler build/startup_stm32f072xb.o
+USBD_ClrClassConfig build/usbd_core.o
+ build/usbd_ctlreq.o
+USBD_CtlContinueRx build/usbd_ioreq.o
+ build/usbd_core.o
+USBD_CtlContinueSendData build/usbd_ioreq.o
+ build/usbd_core.o
+USBD_CtlError build/usbd_ctlreq.o
+USBD_CtlPrepareRx build/usbd_ioreq.o
+USBD_CtlReceiveStatus build/usbd_ioreq.o
+ build/usbd_core.o
+USBD_CtlSendData build/usbd_ioreq.o
+ build/usbd_ctlreq.o
+USBD_CtlSendStatus build/usbd_ioreq.o
+ build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_DeInit build/usbd_core.o
+USBD_FS_ConfigStrDescriptor build/usbd_desc.o
+USBD_FS_DeviceDesc build/usbd_desc.o
+USBD_FS_DeviceDescriptor build/usbd_desc.o
+USBD_FS_InterfaceStrDescriptor build/usbd_desc.o
+USBD_FS_LangIDStrDescriptor build/usbd_desc.o
+USBD_FS_ManufacturerStrDescriptor build/usbd_desc.o
+USBD_FS_ProductStrDescriptor build/usbd_desc.o
+USBD_FS_SerialStrDescriptor build/usbd_desc.o
+USBD_GetRxCount build/usbd_ioreq.o
+USBD_GetString build/usbd_ctlreq.o
+ build/usbd_desc.o
+USBD_Init build/usbd_core.o
+ build/usb_device.o
+USBD_Interface_fops_FS build/usbd_midi_if.o
+ build/usb_device.o
+USBD_LL_ClearStallEP build/usbd_conf.o
+ build/usbd_ctlreq.o
+USBD_LL_CloseEP build/usbd_conf.o
+ build/usbd_midi.o
+USBD_LL_DataInStage build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_DataOutStage build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_DeInit build/usbd_conf.o
+ build/usbd_core.o
+USBD_LL_Delay build/usbd_conf.o
+USBD_LL_DevConnected build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_DevDisconnected build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_FlushEP build/usbd_conf.o
+USBD_LL_GetRxDataSize build/usbd_conf.o
+ build/usbd_ioreq.o
+USBD_LL_Init build/usbd_conf.o
+ build/usbd_core.o
+USBD_LL_IsStallEP build/usbd_conf.o
+ build/usbd_ctlreq.o
+USBD_LL_IsoINIncomplete build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_IsoOUTIncomplete build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_OpenEP build/usbd_conf.o
+ build/usbd_midi.o
+ build/usbd_core.o
+USBD_LL_PrepareReceive build/usbd_conf.o
+ build/usbd_midi.o
+ build/usbd_ioreq.o
+ build/usbd_core.o
+USBD_LL_Reset build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_Resume build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_SOF build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_SetSpeed build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_SetUSBAddress build/usbd_conf.o
+ build/usbd_ctlreq.o
+USBD_LL_SetupStage build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_StallEP build/usbd_conf.o
+ build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_LL_Start build/usbd_conf.o
+ build/usbd_core.o
+USBD_LL_Stop build/usbd_conf.o
+ build/usbd_core.o
+USBD_LL_Suspend build/usbd_core.o
+ build/usbd_conf.o
+USBD_LL_Transmit build/usbd_conf.o
+ build/usbd_midi.o
+ build/usbd_ioreq.o
+USBD_LangIDDesc build/usbd_desc.o
+USBD_MIDI build/usbd_midi.o
+ build/usb_device.o
+USBD_MIDI_CfgDesc build/usbd_midi.o
+USBD_MIDI_RegisterInterface build/usbd_midi.o
+ build/usb_device.o
+USBD_MIDI_SendPacket build/usbd_midi.o
+ build/usbd_midi_if.o
+ build/main.o
+USBD_ParseSetupRequest build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_RegisterClass build/usbd_core.o
+ build/usb_device.o
+USBD_RunTestMode build/usbd_core.o
+USBD_SetClassConfig build/usbd_core.o
+ build/usbd_ctlreq.o
+USBD_Start build/usbd_core.o
+ build/usb_device.o
+USBD_StdDevReq build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_StdEPReq build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_StdItfReq build/usbd_ctlreq.o
+ build/usbd_core.o
+USBD_Stop build/usbd_core.o
+USBD_StrDesc build/usbd_desc.o
+USBD_static_free build/usbd_conf.o
+USB_ActivateEndpoint build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_ActivateRemoteWakeup build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_ClearInterrupts build/stm32f0xx_ll_usb.o
+USB_CoreInit build/stm32f0xx_ll_usb.o
+USB_DeActivateRemoteWakeup build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_DeactivateEndpoint build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_DevConnect build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_DevDisconnect build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_DevInit build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_DisableGlobalInt build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_EP0_OutStart build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_EPClearStall build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_EPSetStall build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_EPStartXfer build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_EnableGlobalInt build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_FlushRxFifo build/stm32f0xx_ll_usb.o
+USB_FlushTxFifo build/stm32f0xx_ll_usb.o
+USB_IRQHandler build/stm32f0xx_it.o
+USB_ReadDevAllInEpInterrupt build/stm32f0xx_ll_usb.o
+USB_ReadDevAllOutEpInterrupt build/stm32f0xx_ll_usb.o
+USB_ReadDevInEPInterrupt build/stm32f0xx_ll_usb.o
+USB_ReadDevOutEPInterrupt build/stm32f0xx_ll_usb.o
+USB_ReadInterrupts build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_ReadPMA build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_ReadPacket build/stm32f0xx_ll_usb.o
+USB_Rx_Buffer build/usbd_midi.o
+USB_SetCurrentMode build/stm32f0xx_ll_usb.o
+USB_SetDevAddress build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_SetDevSpeed build/stm32f0xx_ll_usb.o
+USB_StopDevice build/stm32f0xx_ll_usb.o
+ build/stm32f0xx_hal_pcd.o
+USB_Tx_State build/usbd_midi.o
+USB_WritePMA build/stm32f0xx_ll_usb.o
+USB_WritePacket build/stm32f0xx_ll_usb.o
+WWDG_IRQHandler build/startup_stm32f072xb.o
+_ITM_deregisterTMCloneTable /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+_ITM_registerTMCloneTable /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+__TMC_END__ /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtend.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+__aeabi_idiv0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+__aeabi_ldiv0 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_dvmd_tls.o)
+__aeabi_uidiv /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ build/system_stm32f0xx.o
+ build/stm32f0xx_hal_dma.o
+ build/stm32f0xx_hal.o
+ build/stm32f0xx_hal_rcc_ex.o
+ build/stm32f0xx_hal_rcc.o
+ build/stm32f0xx_hal_adc.o
+ build/main.o
+__aeabi_uidivmod /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+ build/usbd_core.o
+__atexit_dummy /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+__bss_end__ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+__bss_start__ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+__call_exitprocs /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+__deregister_frame_info /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+__dso_handle /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+__fini_array_end /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+__fini_array_start /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+__init_array_end /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+__init_array_start /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+__libc_fini_array /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+__libc_init_array /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+ build/startup_stm32f072xb.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+__malloc_free_list /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+__malloc_lock /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+__malloc_sbrk_start /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+__malloc_unlock /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-mlock.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+__on_exit_args /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+__preinit_array_end /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+__preinit_array_start /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+__register_exitproc /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+__register_frame_info /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crtbegin.o
+__sf_fake_stderr /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+__sf_fake_stdin /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+__sf_fake_stdout /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+__stack /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+__udivsi3 /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/libgcc.a(_udivsi3.o)
+_cureRingBufferU8GetUsedSize build/curebuffer.o
+ build/usbd_midi_if.o
+_ebss build/startup_stm32f072xb.o
+_edata build/startup_stm32f072xb.o
+_estack build/startup_stm32f072xb.o
+_exit /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(_exit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+_fini /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-fini.o)
+_free_r /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-freer.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+_global_atexit /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__call_atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+_global_impure_ptr /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+_impure_ptr /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-impure.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+_init /usr/lib/gcc/arm-none-eabi/7.3.1/thumb/v6-m/crti.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-init.o)
+_mainCRTStartup /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+_malloc_r /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+_reclaim_reent /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+_sbrk /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+_sbrk_r /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-nano-mallocr.o)
+_sbss build/startup_stm32f072xb.o
+_sdata build/startup_stm32f072xb.o
+_sidata build/startup_stm32f072xb.o
+_start /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+analyzed_status build/usbd_midi_if.o
+atexit /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-atexit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+cleanup_glue /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+cureRingBuffer16Dequeue build/curebuffer.o
+cureRingBuffer16Enqueue build/curebuffer.o
+cureRingBuffer16EnqueueIgnoreErr build/curebuffer.o
+cureRingBuffer16Free build/curebuffer.o
+cureRingBuffer16GetElement build/curebuffer.o
+cureRingBuffer16Init build/curebuffer.o
+cureRingBufferU32Dequeue build/curebuffer.o
+cureRingBufferU32Enqueue build/curebuffer.o
+cureRingBufferU32EnqueueIgnoreErr build/curebuffer.o
+cureRingBufferU32Free build/curebuffer.o
+cureRingBufferU32GetElement build/curebuffer.o
+cureRingBufferU32Init build/curebuffer.o
+cureRingBufferU8Dequeue build/curebuffer.o
+ build/usbd_midi_if.o
+cureRingBufferU8Enqueue build/curebuffer.o
+ build/usbd_midi_if.o
+cureRingBufferU8Free build/curebuffer.o
+cureRingBufferU8Init build/curebuffer.o
+ build/usbd_midi_if.o
+dial build/main.o
+dial_div build/main.o
+dial_mapping build/main.o
+end /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libnosys.a(sbrk.o)
+errno /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-reent.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-sbrkr.o)
+exit /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-exit.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+free /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ build/curebuffer.o
+g_pfnVectors build/startup_stm32f072xb.o
+hUsbDeviceFS build/usb_device.o
+ build/main.o
+hadc build/main.o
+hardware_init_hook /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+hdma_adc build/main.o
+ build/stm32f0xx_hal_msp.o
+ build/stm32f0xx_it.o
+hpcd_USB_FS build/usbd_conf.o
+ build/main.o
+ build/stm32f0xx_it.o
+isJackRxBufEmpty build/usbd_midi_if.o
+isRxBufEmpty build/usbd_midi_if.o
+isUsbRxBufEmpty build/usbd_midi_if.o
+main build/main.o
+ build/startup_stm32f072xb.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+malloc /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-malloc.o)
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-__atexit.o)
+ build/curebuffer.o
+memset /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/libc_nano.a(lib_a-memset.o)
+ build/stm32f0xx_hal_msp.o
+ build/main.o
+ /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+midiEventIsGenerated build/usbd_midi_if.o
+midiGenerateUsbPacket build/usbd_midi_if.o
+midiGetFromJackRx build/usbd_midi_if.o
+midiGetFromUsbRx build/usbd_midi_if.o
+midiInit build/usbd_midi_if.o
+ build/main.o
+midiProcess build/usbd_midi_if.o
+ build/main.o
+midiSetFromJackRx build/usbd_midi_if.o
+midi_event build/usbd_midi_if.o
+midi_packet build/main.o
+pFlash build/stm32f0xx_hal_flash.o
+ build/stm32f0xx_hal_flash_ex.o
+pInstance build/usbd_midi.o
+rbuf_jack_rx build/usbd_midi_if.o
+rbuf_usb_rx build/usbd_midi_if.o
+rx_midi_msg build/usbd_midi_if.o
+sendMidiMessage build/usbd_midi_if.o
+ build/main.o
+software_init_hook /usr/lib/gcc/arm-none-eabi/7.3.1/../../../arm-none-eabi/lib/thumb/v6-m/crt0.o
+uwTick build/stm32f0xx_hal.o
+uwTickFreq build/stm32f0xx_hal.o
+uwTickPrio build/stm32f0xx_hal.o
+ build/stm32f0xx_hal_rcc.o
diff --git a/fw/midi-dials/build/startup_stm32f072xb.d b/fw/midi-dials/build/startup_stm32f072xb.d
new file mode 100644
index 0000000..1c25e32
--- /dev/null
+++ b/fw/midi-dials/build/startup_stm32f072xb.d
@@ -0,0 +1 @@
+build/startup_stm32f072xb.o: startup_stm32f072xb.s
diff --git a/fw/midi-dials/build/startup_stm32f072xb.o b/fw/midi-dials/build/startup_stm32f072xb.o
new file mode 100644
index 0000000..e3e308e
--- /dev/null
+++ b/fw/midi-dials/build/startup_stm32f072xb.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal.d b/fw/midi-dials/build/stm32f0xx_hal.d
new file mode 100644
index 0000000..158a9a5
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal.d
@@ -0,0 +1,86 @@
+build/stm32f0xx_hal.o: Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal.lst b/fw/midi-dials/build/stm32f0xx_hal.lst
new file mode 100644
index 0000000..9f4a7b1
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal.lst
@@ -0,0 +1,1454 @@
+ARM GAS /tmp/ccZrwUTS.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 "stm32f0xx_hal.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_MspInit,"ax",%progbits
+ 16 .align 1
+ 17 .weak HAL_MspInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_MspInit:
+ 24 .LFB42:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @file stm32f0xx_hal.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * This is the common part of the HAL initialization
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ==============================================================================
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### How to use this driver #####
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ==============================================================================
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..]
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** The common HAL driver contains a set of generic and common APIs that can be
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** used by the PPP peripheral drivers and the user to start using the HAL.
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..]
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** The HAL contains two APIs categories:
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) HAL Initialization and de-initialization functions
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) HAL Control functions
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ******************************************************************************
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @attention
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * All rights reserved.</center></h2>
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * the "License"; You may not use this file except in compliance with the
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * License. You may obtain a copy of the License at:
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * opensource.org/licenses/BSD-3-Clause
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ******************************************************************************
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ ARM GAS /tmp/ccZrwUTS.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Includes ------------------------------------------------------------------*/
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #include "stm32f0xx_hal.h"
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL HAL
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL module driver.
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #ifdef HAL_MODULE_ENABLED
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private typedef -----------------------------------------------------------*/
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private define ------------------------------------------------------------*/
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Constants HAL Private Constants
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief STM32F0xx HAL Driver version number V1.7.3
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_MAIN (0x01U) /*!< [31:24] main version */
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_SUB1 (0x07U) /*!< [23:16] sub1 version */
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_SUB2 (0x03U) /*!< [15:8] sub2 version */
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION_RC (0x00U) /*!< [7:0] release candidate */
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define __STM32F0xx_HAL_VERSION ((__STM32F0xx_HAL_VERSION_MAIN << 24U)\
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_SUB1 << 16U)\
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_SUB2 << 8U )\
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** |(__STM32F0xx_HAL_VERSION_RC))
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #define IDCODE_DEVID_MASK (0x00000FFFU)
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @}
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private macro -------------------------------------------------------------*/
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Macros HAL Private Macros
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @}
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Exported variables ---------------------------------------------------------*/
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Private_Variables HAL Exported Variables
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __IO uint32_t uwTick;
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t uwTickPrio = (1UL << __NVIC_PRIO_BITS); /* Invalid PRIO */
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef uwTickFreq = HAL_TICK_FREQ_DEFAULT; /* 1KHz */
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @}
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Private function prototypes -----------------------------------------------*/
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Exported functions ---------------------------------------------------------*/
+ ARM GAS /tmp/ccZrwUTS.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions HAL Exported Functions
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group1 Initialization and de-initialization Functions
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Initialization and de-initialization functions
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ===============================================================================
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### Initialization and de-initialization functions #####
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ===============================================================================
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] This section provides functions allowing to:
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Initializes the Flash interface, the NVIC allocation and initial clock
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** configuration. It initializes the systick also when timeout is needed
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** and the backup domain when enabled.
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) de-Initializes common part of the HAL.
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Configure The time base source to have 1ms time base with a dedicated
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** Tick interrupt priority.
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) SysTick timer is used by default as source of time base, but user
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** can eventually implement his proper time base source (a general purpose
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** timer for example or other time source), keeping in mind that Time base
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** handled in milliseconds basis.
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) Time base configuration function (HAL_InitTick ()) is called automatically
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** at the beginning of the program after reset by HAL_Init() or at any time
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** when clock is configured, by HAL_RCC_ClockConfig().
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) Source of time base is configured to generate interrupts at regular
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** time intervals. Care must be taken if HAL_Delay() is called from a
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** peripheral ISR process, the Tick interrupt line must have higher priority
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (numerically lower) than the peripheral interrupt. Otherwise the caller
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ISR process will be blocked.
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (++) functions affecting time base configurations are declared as __Weak
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** to make override possible in case of other implementations in user file.
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function configures the Flash prefetch,
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Configures time base source, NVIC and Low level hardware
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is called at the beginning of program after reset and before
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * the clock configuration
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note The time base configuration is based on HSI clock when exiting from Reset.
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Once done, time base tick start incrementing.
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * In the default implementation,Systick is used as source of time base.
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The tick variable is incremented each 1ms in its ISR.
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_Init(void)
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure Flash prefetch */
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #if (PREFETCH_ENABLE != 0)
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_FLASH_PREFETCH_BUFFER_ENABLE();
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #endif /* PREFETCH_ENABLE */
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ ARM GAS /tmp/ccZrwUTS.s page 4
+
+
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_InitTick(TICK_INT_PRIORITY);
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Init the low level hardware */
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_MspInit();
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK;
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function de-Initialize common part of the HAL and stops the SysTick
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * of time base.
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is optional.
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_DeInit(void)
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Reset of all peripherals */
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_FORCE_RESET();
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET();
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_FORCE_RESET();
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET();
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_FORCE_RESET();
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_RELEASE_RESET();
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* De-Init the low level hardware */
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_MspDeInit();
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK;
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Initialize the MSP.
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_MspInit(void)
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 26 .loc 1 189 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** the HAL_MspInit could be implemented in the user file
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 31 .loc 1 193 0
+ 32 @ sp needed
+ 33 0000 7047 bx lr
+ 34 .cfi_endproc
+ 35 .LFE42:
+ 37 .section .text.HAL_MspDeInit,"ax",%progbits
+ ARM GAS /tmp/ccZrwUTS.s page 5
+
+
+ 38 .align 1
+ 39 .weak HAL_MspDeInit
+ 40 .syntax unified
+ 41 .code 16
+ 42 .thumb_func
+ 43 .fpu softvfp
+ 45 HAL_MspDeInit:
+ 46 .LFB43:
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief DeInitializes the MSP.
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_MspDeInit(void)
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 47 .loc 1 200 0
+ 48 .cfi_startproc
+ 49 @ args = 0, pretend = 0, frame = 0
+ 50 @ frame_needed = 0, uses_anonymous_args = 0
+ 51 @ link register save eliminated.
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** the HAL_MspDeInit could be implemented in the user file
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 52 .loc 1 204 0
+ 53 @ sp needed
+ 54 0000 7047 bx lr
+ 55 .cfi_endproc
+ 56 .LFE43:
+ 58 .section .text.HAL_DeInit,"ax",%progbits
+ 59 .align 1
+ 60 .global HAL_DeInit
+ 61 .syntax unified
+ 62 .code 16
+ 63 .thumb_func
+ 64 .fpu softvfp
+ 66 HAL_DeInit:
+ 67 .LFB41:
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Reset of all peripherals */
+ 68 .loc 1 166 0
+ 69 .cfi_startproc
+ 70 @ args = 0, pretend = 0, frame = 0
+ 71 @ frame_needed = 0, uses_anonymous_args = 0
+ 72 0000 10B5 push {r4, lr}
+ 73 .LCFI0:
+ 74 .cfi_def_cfa_offset 8
+ 75 .cfi_offset 4, -8
+ 76 .cfi_offset 14, -4
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB1_RELEASE_RESET();
+ 77 .loc 1 168 0
+ 78 0002 074B ldr r3, .L4
+ 79 0004 0121 movs r1, #1
+ 80 0006 4942 rsbs r1, r1, #0
+ 81 0008 1961 str r1, [r3, #16]
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 82 .loc 1 169 0
+ 83 000a 0022 movs r2, #0
+ ARM GAS /tmp/ccZrwUTS.s page 6
+
+
+ 84 000c 1A61 str r2, [r3, #16]
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_APB2_RELEASE_RESET();
+ 85 .loc 1 171 0
+ 86 000e D960 str r1, [r3, #12]
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 87 .loc 1 172 0
+ 88 0010 DA60 str r2, [r3, #12]
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __HAL_RCC_AHB_RELEASE_RESET();
+ 89 .loc 1 174 0
+ 90 0012 9962 str r1, [r3, #40]
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 91 .loc 1 175 0
+ 92 0014 9A62 str r2, [r3, #40]
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 93 .loc 1 178 0
+ 94 0016 FFF7FEFF bl HAL_MspDeInit
+ 95 .LVL0:
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 96 .loc 1 182 0
+ 97 001a 0020 movs r0, #0
+ 98 @ sp needed
+ 99 001c 10BD pop {r4, pc}
+ 100 .L5:
+ 101 001e C046 .align 2
+ 102 .L4:
+ 103 0020 00100240 .word 1073876992
+ 104 .cfi_endproc
+ 105 .LFE41:
+ 107 .global __aeabi_uidiv
+ 108 .section .text.HAL_InitTick,"ax",%progbits
+ 109 .align 1
+ 110 .weak HAL_InitTick
+ 111 .syntax unified
+ 112 .code 16
+ 113 .thumb_func
+ 114 .fpu softvfp
+ 116 HAL_InitTick:
+ 117 .LFB44:
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function configures the source of the time base.
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The time source is configured to have 1ms time base with a dedicated
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Tick interrupt priority.
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is called automatically at the beginning of program after
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * reset by HAL_Init() or at any time when clock is reconfigured by HAL_RCC_ClockConfig().
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation, SysTick timer is the source of time base.
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * It is used to generate interrupts at regular time intervals.
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * Care must be taken if HAL_Delay() is called from a peripheral ISR process,
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The SysTick interrupt must have higher priority (numerically lower)
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * than the peripheral interrupt. Otherwise the caller ISR process will be blocked.
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * The function is declared as __Weak to be overwritten in case of other
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementation in user file.
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @param TickPriority Tick interrupt priority.
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval HAL status
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority)
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ ARM GAS /tmp/ccZrwUTS.s page 7
+
+
+ 118 .loc 1 223 0
+ 119 .cfi_startproc
+ 120 @ args = 0, pretend = 0, frame = 0
+ 121 @ frame_needed = 0, uses_anonymous_args = 0
+ 122 .LVL1:
+ 123 0000 10B5 push {r4, lr}
+ 124 .LCFI1:
+ 125 .cfi_def_cfa_offset 8
+ 126 .cfi_offset 4, -8
+ 127 .cfi_offset 14, -4
+ 128 0002 0400 movs r4, r0
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /*Configure the SysTick to have interrupt in 1ms time basis*/
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U)
+ 129 .loc 1 225 0
+ 130 0004 0F4B ldr r3, .L11
+ 131 0006 1978 ldrb r1, [r3]
+ 132 0008 FA20 movs r0, #250
+ 133 .LVL2:
+ 134 000a 8000 lsls r0, r0, #2
+ 135 000c FFF7FEFF bl __aeabi_uidiv
+ 136 .LVL3:
+ 137 0010 0100 movs r1, r0
+ 138 0012 0D4B ldr r3, .L11+4
+ 139 0014 1868 ldr r0, [r3]
+ 140 0016 FFF7FEFF bl __aeabi_uidiv
+ 141 .LVL4:
+ 142 001a FFF7FEFF bl HAL_SYSTICK_Config
+ 143 .LVL5:
+ 144 001e 0028 cmp r0, #0
+ 145 0020 0DD1 bne .L8
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_ERROR;
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure the SysTick IRQ priority */
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (TickPriority < (1UL << __NVIC_PRIO_BITS))
+ 146 .loc 1 231 0
+ 147 0022 032C cmp r4, #3
+ 148 0024 01D9 bls .L10
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U);
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickPrio = TickPriority;
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** else
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_ERROR;
+ 149 .loc 1 238 0
+ 150 0026 0120 movs r0, #1
+ 151 0028 0AE0 b .L7
+ 152 .L10:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickPrio = TickPriority;
+ 153 .loc 1 233 0
+ 154 002a 0130 adds r0, r0, #1
+ 155 002c 0022 movs r2, #0
+ 156 002e 2100 movs r1, r4
+ 157 0030 4042 rsbs r0, r0, #0
+ 158 0032 FFF7FEFF bl HAL_NVIC_SetPriority
+ ARM GAS /tmp/ccZrwUTS.s page 8
+
+
+ 159 .LVL6:
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 160 .loc 1 234 0
+ 161 0036 054B ldr r3, .L11+8
+ 162 0038 1C60 str r4, [r3]
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Return function status */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return HAL_OK;
+ 163 .loc 1 242 0
+ 164 003a 0020 movs r0, #0
+ 165 003c 00E0 b .L7
+ 166 .L8:
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 167 .loc 1 227 0
+ 168 003e 0120 movs r0, #1
+ 169 .L7:
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 170 .loc 1 243 0
+ 171 @ sp needed
+ 172 .LVL7:
+ 173 0040 10BD pop {r4, pc}
+ 174 .L12:
+ 175 0042 C046 .align 2
+ 176 .L11:
+ 177 0044 00000000 .word .LANCHOR0
+ 178 0048 00000000 .word SystemCoreClock
+ 179 004c 00000000 .word .LANCHOR1
+ 180 .cfi_endproc
+ 181 .LFE44:
+ 183 .section .text.HAL_Init,"ax",%progbits
+ 184 .align 1
+ 185 .global HAL_Init
+ 186 .syntax unified
+ 187 .code 16
+ 188 .thumb_func
+ 189 .fpu softvfp
+ 191 HAL_Init:
+ 192 .LFB40:
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Configure Flash prefetch */
+ 193 .loc 1 142 0
+ 194 .cfi_startproc
+ 195 @ args = 0, pretend = 0, frame = 0
+ 196 @ frame_needed = 0, uses_anonymous_args = 0
+ 197 0000 10B5 push {r4, lr}
+ 198 .LCFI2:
+ 199 .cfi_def_cfa_offset 8
+ 200 .cfi_offset 4, -8
+ 201 .cfi_offset 14, -4
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** #endif /* PREFETCH_ENABLE */
+ 202 .loc 1 145 0
+ 203 0002 064A ldr r2, .L14
+ 204 0004 1368 ldr r3, [r2]
+ 205 0006 1021 movs r1, #16
+ 206 0008 0B43 orrs r3, r1
+ 207 000a 1360 str r3, [r2]
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ ARM GAS /tmp/ccZrwUTS.s page 9
+
+
+ 208 .loc 1 150 0
+ 209 000c 0020 movs r0, #0
+ 210 000e FFF7FEFF bl HAL_InitTick
+ 211 .LVL8:
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 212 .loc 1 153 0
+ 213 0012 FFF7FEFF bl HAL_MspInit
+ 214 .LVL9:
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 215 .loc 1 157 0
+ 216 0016 0020 movs r0, #0
+ 217 @ sp needed
+ 218 0018 10BD pop {r4, pc}
+ 219 .L15:
+ 220 001a C046 .align 2
+ 221 .L14:
+ 222 001c 00200240 .word 1073881088
+ 223 .cfi_endproc
+ 224 .LFE40:
+ 226 .section .text.HAL_IncTick,"ax",%progbits
+ 227 .align 1
+ 228 .weak HAL_IncTick
+ 229 .syntax unified
+ 230 .code 16
+ 231 .thumb_func
+ 232 .fpu softvfp
+ 234 HAL_IncTick:
+ 235 .LFB45:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @}
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /** @defgroup HAL_Exported_Functions_Group2 HAL Control functions
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief HAL Control functions
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** *
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @verbatim
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ===============================================================================
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ##### HAL Control functions #####
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** ===============================================================================
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** [..] This section provides functions allowing to:
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Provide a tick value in millisecond
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Provide a blocking delay in millisecond
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Suspend the time base source interrupt
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Resume the time base source interrupt
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the HAL API driver version
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the device identifier
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Get the device revision identifier
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during Sleep mode
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during STOP mode
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** (+) Enable/Disable Debug module during STANDBY mode
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** @endverbatim
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @{
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ ARM GAS /tmp/ccZrwUTS.s page 10
+
+
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function is called to increment a global variable "uwTick"
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used as application time base.
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation, this variable is incremented each 1ms
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * in SysTick ISR.
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file.
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_IncTick(void)
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 236 .loc 1 282 0
+ 237 .cfi_startproc
+ 238 @ args = 0, pretend = 0, frame = 0
+ 239 @ frame_needed = 0, uses_anonymous_args = 0
+ 240 @ link register save eliminated.
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTick += uwTickFreq;
+ 241 .loc 1 283 0
+ 242 0000 034A ldr r2, .L17
+ 243 0002 1168 ldr r1, [r2]
+ 244 0004 034B ldr r3, .L17+4
+ 245 0006 1B78 ldrb r3, [r3]
+ 246 0008 5B18 adds r3, r3, r1
+ 247 000a 1360 str r3, [r2]
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 248 .loc 1 284 0
+ 249 @ sp needed
+ 250 000c 7047 bx lr
+ 251 .L18:
+ 252 000e C046 .align 2
+ 253 .L17:
+ 254 0010 00000000 .word uwTick
+ 255 0014 00000000 .word .LANCHOR0
+ 256 .cfi_endproc
+ 257 .LFE45:
+ 259 .section .text.HAL_GetTick,"ax",%progbits
+ 260 .align 1
+ 261 .weak HAL_GetTick
+ 262 .syntax unified
+ 263 .code 16
+ 264 .thumb_func
+ 265 .fpu softvfp
+ 267 HAL_GetTick:
+ 268 .LFB46:
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Provides a tick value in millisecond.
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file.
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick value
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak uint32_t HAL_GetTick(void)
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 269 .loc 1 293 0
+ 270 .cfi_startproc
+ 271 @ args = 0, pretend = 0, frame = 0
+ 272 @ frame_needed = 0, uses_anonymous_args = 0
+ 273 @ link register save eliminated.
+ ARM GAS /tmp/ccZrwUTS.s page 11
+
+
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTick;
+ 274 .loc 1 294 0
+ 275 0000 014B ldr r3, .L20
+ 276 0002 1868 ldr r0, [r3]
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 277 .loc 1 295 0
+ 278 @ sp needed
+ 279 0004 7047 bx lr
+ 280 .L21:
+ 281 0006 C046 .align 2
+ 282 .L20:
+ 283 0008 00000000 .word uwTick
+ 284 .cfi_endproc
+ 285 .LFE46:
+ 287 .section .text.HAL_GetTickPrio,"ax",%progbits
+ 288 .align 1
+ 289 .global HAL_GetTickPrio
+ 290 .syntax unified
+ 291 .code 16
+ 292 .thumb_func
+ 293 .fpu softvfp
+ 295 HAL_GetTickPrio:
+ 296 .LFB47:
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function returns a tick priority.
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick priority
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetTickPrio(void)
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 297 .loc 1 302 0
+ 298 .cfi_startproc
+ 299 @ args = 0, pretend = 0, frame = 0
+ 300 @ frame_needed = 0, uses_anonymous_args = 0
+ 301 @ link register save eliminated.
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTickPrio;
+ 302 .loc 1 303 0
+ 303 0000 014B ldr r3, .L23
+ 304 0002 1868 ldr r0, [r3]
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 305 .loc 1 304 0
+ 306 @ sp needed
+ 307 0004 7047 bx lr
+ 308 .L24:
+ 309 0006 C046 .align 2
+ 310 .L23:
+ 311 0008 00000000 .word .LANCHOR1
+ 312 .cfi_endproc
+ 313 .LFE47:
+ 315 .section .text.HAL_SetTickFreq,"ax",%progbits
+ 316 .align 1
+ 317 .global HAL_SetTickFreq
+ 318 .syntax unified
+ 319 .code 16
+ 320 .thumb_func
+ 321 .fpu softvfp
+ 323 HAL_SetTickFreq:
+ ARM GAS /tmp/ccZrwUTS.s page 12
+
+
+ 324 .LFB48:
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Set new tick Freq.
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval status
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq)
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 325 .loc 1 311 0
+ 326 .cfi_startproc
+ 327 @ args = 0, pretend = 0, frame = 0
+ 328 @ frame_needed = 0, uses_anonymous_args = 0
+ 329 .LVL10:
+ 330 0000 10B5 push {r4, lr}
+ 331 .LCFI3:
+ 332 .cfi_def_cfa_offset 8
+ 333 .cfi_offset 4, -8
+ 334 .cfi_offset 14, -4
+ 335 .LVL11:
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_StatusTypeDef status = HAL_OK;
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef prevTickFreq;
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** assert_param(IS_TICKFREQ(Freq));
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (uwTickFreq != Freq)
+ 336 .loc 1 317 0
+ 337 0002 084B ldr r3, .L28
+ 338 0004 1C78 ldrb r4, [r3]
+ 339 0006 8442 cmp r4, r0
+ 340 0008 09D0 beq .L27
+ 341 .LVL12:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Back up uwTickFreq frequency */
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** prevTickFreq = uwTickFreq;
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Update uwTickFreq global variable used by HAL_InitTick() */
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickFreq = Freq;
+ 342 .loc 1 323 0
+ 343 000a 1870 strb r0, [r3]
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Apply the new tick Freq */
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** status = HAL_InitTick(uwTickPrio);
+ 344 .loc 1 326 0
+ 345 000c 064B ldr r3, .L28+4
+ 346 000e 1868 ldr r0, [r3]
+ 347 .LVL13:
+ 348 0010 FFF7FEFF bl HAL_InitTick
+ 349 .LVL14:
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (status != HAL_OK)
+ 350 .loc 1 328 0
+ 351 0014 0028 cmp r0, #0
+ 352 0016 03D0 beq .L26
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Restore previous tick frequency */
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uwTickFreq = prevTickFreq;
+ 353 .loc 1 331 0
+ ARM GAS /tmp/ccZrwUTS.s page 13
+
+
+ 354 0018 024B ldr r3, .L28
+ 355 001a 1C70 strb r4, [r3]
+ 356 001c 00E0 b .L26
+ 357 .LVL15:
+ 358 .L27:
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef prevTickFreq;
+ 359 .loc 1 312 0
+ 360 001e 0020 movs r0, #0
+ 361 .LVL16:
+ 362 .L26:
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return status;
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 363 .loc 1 336 0
+ 364 @ sp needed
+ 365 0020 10BD pop {r4, pc}
+ 366 .L29:
+ 367 0022 C046 .align 2
+ 368 .L28:
+ 369 0024 00000000 .word .LANCHOR0
+ 370 0028 00000000 .word .LANCHOR1
+ 371 .cfi_endproc
+ 372 .LFE48:
+ 374 .section .text.HAL_GetTickFreq,"ax",%progbits
+ 375 .align 1
+ 376 .global HAL_GetTickFreq
+ 377 .syntax unified
+ 378 .code 16
+ 379 .thumb_func
+ 380 .fpu softvfp
+ 382 HAL_GetTickFreq:
+ 383 .LFB49:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief return tick frequency.
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval tick period in Hz
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** HAL_TickFreqTypeDef HAL_GetTickFreq(void)
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 384 .loc 1 343 0
+ 385 .cfi_startproc
+ 386 @ args = 0, pretend = 0, frame = 0
+ 387 @ frame_needed = 0, uses_anonymous_args = 0
+ 388 @ link register save eliminated.
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return uwTickFreq;
+ 389 .loc 1 344 0
+ 390 0000 014B ldr r3, .L31
+ 391 0002 1878 ldrb r0, [r3]
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 392 .loc 1 345 0
+ 393 @ sp needed
+ 394 0004 7047 bx lr
+ 395 .L32:
+ 396 0006 C046 .align 2
+ 397 .L31:
+ ARM GAS /tmp/ccZrwUTS.s page 14
+
+
+ 398 0008 00000000 .word .LANCHOR0
+ 399 .cfi_endproc
+ 400 .LFE49:
+ 402 .section .text.HAL_Delay,"ax",%progbits
+ 403 .align 1
+ 404 .weak HAL_Delay
+ 405 .syntax unified
+ 406 .code 16
+ 407 .thumb_func
+ 408 .fpu softvfp
+ 410 HAL_Delay:
+ 411 .LFB50:
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This function provides accurate delay (in milliseconds) based
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * on variable incremented.
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base.
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * It is used to generate interrupts at regular time intervals where uwTick
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is incremented.
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note ThiS function is declared as __weak to be overwritten in case of other
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file.
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @param Delay specifies the delay time length, in milliseconds.
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_Delay(uint32_t Delay)
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 412 .loc 1 359 0
+ 413 .cfi_startproc
+ 414 @ args = 0, pretend = 0, frame = 0
+ 415 @ frame_needed = 0, uses_anonymous_args = 0
+ 416 .LVL17:
+ 417 0000 70B5 push {r4, r5, r6, lr}
+ 418 .LCFI4:
+ 419 .cfi_def_cfa_offset 16
+ 420 .cfi_offset 4, -16
+ 421 .cfi_offset 5, -12
+ 422 .cfi_offset 6, -8
+ 423 .cfi_offset 14, -4
+ 424 0002 0400 movs r4, r0
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t tickstart = HAL_GetTick();
+ 425 .loc 1 360 0
+ 426 0004 FFF7FEFF bl HAL_GetTick
+ 427 .LVL18:
+ 428 0008 0500 movs r5, r0
+ 429 .LVL19:
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t wait = Delay;
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Add a freq to guarantee minimum wait */
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** if (wait < HAL_MAX_DELAY)
+ 430 .loc 1 364 0
+ 431 000a 631C adds r3, r4, #1
+ 432 000c 02D0 beq .L35
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** wait += (uint32_t)(uwTickFreq);
+ 433 .loc 1 366 0
+ 434 000e 044B ldr r3, .L36
+ 435 0010 1B78 ldrb r3, [r3]
+ ARM GAS /tmp/ccZrwUTS.s page 15
+
+
+ 436 0012 E418 adds r4, r4, r3
+ 437 .LVL20:
+ 438 .L35:
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** while((HAL_GetTick() - tickstart) < wait)
+ 439 .loc 1 369 0 discriminator 1
+ 440 0014 FFF7FEFF bl HAL_GetTick
+ 441 .LVL21:
+ 442 0018 401B subs r0, r0, r5
+ 443 001a A042 cmp r0, r4
+ 444 001c FAD3 bcc .L35
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 445 .loc 1 372 0
+ 446 @ sp needed
+ 447 .LVL22:
+ 448 .LVL23:
+ 449 001e 70BD pop {r4, r5, r6, pc}
+ 450 .L37:
+ 451 .align 2
+ 452 .L36:
+ 453 0020 00000000 .word .LANCHOR0
+ 454 .cfi_endproc
+ 455 .LFE50:
+ 457 .section .text.HAL_SuspendTick,"ax",%progbits
+ 458 .align 1
+ 459 .weak HAL_SuspendTick
+ 460 .syntax unified
+ 461 .code 16
+ 462 .thumb_func
+ 463 .fpu softvfp
+ 465 HAL_SuspendTick:
+ 466 .LFB51:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Suspend Tick increment.
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_SuspendTick()
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is called, the the SysTick interrupt will be disabled and so Tick increment
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is suspended.
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file.
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_SuspendTick(void)
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 467 .loc 1 386 0
+ 468 .cfi_startproc
+ 469 @ args = 0, pretend = 0, frame = 0
+ 470 @ frame_needed = 0, uses_anonymous_args = 0
+ 471 @ link register save eliminated.
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Disable SysTick Interrupt */
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(SysTick->CTRL,SysTick_CTRL_TICKINT_Msk);
+ 472 .loc 1 388 0
+ ARM GAS /tmp/ccZrwUTS.s page 16
+
+
+ 473 0000 024A ldr r2, .L39
+ 474 0002 1368 ldr r3, [r2]
+ 475 0004 0221 movs r1, #2
+ 476 0006 8B43 bics r3, r1
+ 477 0008 1360 str r3, [r2]
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 478 .loc 1 389 0
+ 479 @ sp needed
+ 480 000a 7047 bx lr
+ 481 .L40:
+ 482 .align 2
+ 483 .L39:
+ 484 000c 10E000E0 .word -536813552
+ 485 .cfi_endproc
+ 486 .LFE51:
+ 488 .section .text.HAL_ResumeTick,"ax",%progbits
+ 489 .align 1
+ 490 .weak HAL_ResumeTick
+ 491 .syntax unified
+ 492 .code 16
+ 493 .thumb_func
+ 494 .fpu softvfp
+ 496 HAL_ResumeTick:
+ 497 .LFB52:
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Resume Tick increment.
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note In the default implementation , SysTick timer is the source of time base. It is
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * used to generate interrupts at regular time intervals. Once HAL_ResumeTick()
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is called, the the SysTick interrupt will be enabled and so Tick increment
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * is resumed.
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @note This function is declared as __weak to be overwritten in case of other
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * implementations in user file.
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** __weak void HAL_ResumeTick(void)
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 498 .loc 1 402 0
+ 499 .cfi_startproc
+ 500 @ args = 0, pretend = 0, frame = 0
+ 501 @ frame_needed = 0, uses_anonymous_args = 0
+ 502 @ link register save eliminated.
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /* Enable SysTick Interrupt */
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(SysTick->CTRL,SysTick_CTRL_TICKINT_Msk);
+ 503 .loc 1 404 0
+ 504 0000 024A ldr r2, .L42
+ 505 0002 1368 ldr r3, [r2]
+ 506 0004 0221 movs r1, #2
+ 507 0006 0B43 orrs r3, r1
+ 508 0008 1360 str r3, [r2]
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 509 .loc 1 405 0
+ 510 @ sp needed
+ 511 000a 7047 bx lr
+ 512 .L43:
+ 513 .align 2
+ 514 .L42:
+ ARM GAS /tmp/ccZrwUTS.s page 17
+
+
+ 515 000c 10E000E0 .word -536813552
+ 516 .cfi_endproc
+ 517 .LFE52:
+ 519 .section .text.HAL_GetHalVersion,"ax",%progbits
+ 520 .align 1
+ 521 .global HAL_GetHalVersion
+ 522 .syntax unified
+ 523 .code 16
+ 524 .thumb_func
+ 525 .fpu softvfp
+ 527 HAL_GetHalVersion:
+ 528 .LFB53:
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief This method returns the HAL revision
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval version 0xXYZR (8bits for each decimal, R for RC)
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetHalVersion(void)
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 529 .loc 1 412 0
+ 530 .cfi_startproc
+ 531 @ args = 0, pretend = 0, frame = 0
+ 532 @ frame_needed = 0, uses_anonymous_args = 0
+ 533 @ link register save eliminated.
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return __STM32F0xx_HAL_VERSION;
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 534 .loc 1 414 0
+ 535 0000 0048 ldr r0, .L45
+ 536 @ sp needed
+ 537 0002 7047 bx lr
+ 538 .L46:
+ 539 .align 2
+ 540 .L45:
+ 541 0004 00030701 .word 17236736
+ 542 .cfi_endproc
+ 543 .LFE53:
+ 545 .section .text.HAL_GetREVID,"ax",%progbits
+ 546 .align 1
+ 547 .global HAL_GetREVID
+ 548 .syntax unified
+ 549 .code 16
+ 550 .thumb_func
+ 551 .fpu softvfp
+ 553 HAL_GetREVID:
+ 554 .LFB54:
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns the device revision identifier.
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device revision identifier
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetREVID(void)
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 555 .loc 1 421 0
+ 556 .cfi_startproc
+ 557 @ args = 0, pretend = 0, frame = 0
+ 558 @ frame_needed = 0, uses_anonymous_args = 0
+ 559 @ link register save eliminated.
+ ARM GAS /tmp/ccZrwUTS.s page 18
+
+
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return((DBGMCU->IDCODE) >> 16U);
+ 560 .loc 1 422 0
+ 561 0000 014B ldr r3, .L48
+ 562 0002 1868 ldr r0, [r3]
+ 563 0004 000C lsrs r0, r0, #16
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 564 .loc 1 423 0
+ 565 @ sp needed
+ 566 0006 7047 bx lr
+ 567 .L49:
+ 568 .align 2
+ 569 .L48:
+ 570 0008 00580140 .word 1073829888
+ 571 .cfi_endproc
+ 572 .LFE54:
+ 574 .section .text.HAL_GetDEVID,"ax",%progbits
+ 575 .align 1
+ 576 .global HAL_GetDEVID
+ 577 .syntax unified
+ 578 .code 16
+ 579 .thumb_func
+ 580 .fpu softvfp
+ 582 HAL_GetDEVID:
+ 583 .LFB55:
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns the device identifier.
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetDEVID(void)
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 584 .loc 1 430 0
+ 585 .cfi_startproc
+ 586 @ args = 0, pretend = 0, frame = 0
+ 587 @ frame_needed = 0, uses_anonymous_args = 0
+ 588 @ link register save eliminated.
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return((DBGMCU->IDCODE) & IDCODE_DEVID_MASK);
+ 589 .loc 1 431 0
+ 590 0000 024B ldr r3, .L51
+ 591 0002 1868 ldr r0, [r3]
+ 592 0004 0005 lsls r0, r0, #20
+ 593 0006 000D lsrs r0, r0, #20
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 594 .loc 1 432 0
+ 595 @ sp needed
+ 596 0008 7047 bx lr
+ 597 .L52:
+ 598 000a C046 .align 2
+ 599 .L51:
+ 600 000c 00580140 .word 1073829888
+ 601 .cfi_endproc
+ 602 .LFE55:
+ 604 .section .text.HAL_GetUIDw0,"ax",%progbits
+ 605 .align 1
+ 606 .global HAL_GetUIDw0
+ 607 .syntax unified
+ 608 .code 16
+ ARM GAS /tmp/ccZrwUTS.s page 19
+
+
+ 609 .thumb_func
+ 610 .fpu softvfp
+ 612 HAL_GetUIDw0:
+ 613 .LFB56:
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns first word of the unique device identifier (UID based on 96 bits)
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw0(void)
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 614 .loc 1 439 0
+ 615 .cfi_startproc
+ 616 @ args = 0, pretend = 0, frame = 0
+ 617 @ frame_needed = 0, uses_anonymous_args = 0
+ 618 @ link register save eliminated.
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)UID_BASE)));
+ 619 .loc 1 440 0
+ 620 0000 014B ldr r3, .L54
+ 621 0002 1868 ldr r0, [r3]
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 622 .loc 1 441 0
+ 623 @ sp needed
+ 624 0004 7047 bx lr
+ 625 .L55:
+ 626 0006 C046 .align 2
+ 627 .L54:
+ 628 0008 ACF7FF1F .word 536868780
+ 629 .cfi_endproc
+ 630 .LFE56:
+ 632 .section .text.HAL_GetUIDw1,"ax",%progbits
+ 633 .align 1
+ 634 .global HAL_GetUIDw1
+ 635 .syntax unified
+ 636 .code 16
+ 637 .thumb_func
+ 638 .fpu softvfp
+ 640 HAL_GetUIDw1:
+ 641 .LFB57:
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns second word of the unique device identifier (UID based on 96 bits)
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw1(void)
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 642 .loc 1 448 0
+ 643 .cfi_startproc
+ 644 @ args = 0, pretend = 0, frame = 0
+ 645 @ frame_needed = 0, uses_anonymous_args = 0
+ 646 @ link register save eliminated.
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)(UID_BASE + 4U))));
+ 647 .loc 1 449 0
+ 648 0000 014B ldr r3, .L57
+ 649 0002 1868 ldr r0, [r3]
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 650 .loc 1 450 0
+ ARM GAS /tmp/ccZrwUTS.s page 20
+
+
+ 651 @ sp needed
+ 652 0004 7047 bx lr
+ 653 .L58:
+ 654 0006 C046 .align 2
+ 655 .L57:
+ 656 0008 B0F7FF1F .word 536868784
+ 657 .cfi_endproc
+ 658 .LFE57:
+ 660 .section .text.HAL_GetUIDw2,"ax",%progbits
+ 661 .align 1
+ 662 .global HAL_GetUIDw2
+ 663 .syntax unified
+ 664 .code 16
+ 665 .thumb_func
+ 666 .fpu softvfp
+ 668 HAL_GetUIDw2:
+ 669 .LFB58:
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Returns third word of the unique device identifier (UID based on 96 bits)
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval Device identifier
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** uint32_t HAL_GetUIDw2(void)
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 670 .loc 1 457 0
+ 671 .cfi_startproc
+ 672 @ args = 0, pretend = 0, frame = 0
+ 673 @ frame_needed = 0, uses_anonymous_args = 0
+ 674 @ link register save eliminated.
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** return(READ_REG(*((uint32_t *)(UID_BASE + 8U))));
+ 675 .loc 1 458 0
+ 676 0000 014B ldr r3, .L60
+ 677 0002 1868 ldr r0, [r3]
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 678 .loc 1 459 0
+ 679 @ sp needed
+ 680 0004 7047 bx lr
+ 681 .L61:
+ 682 0006 C046 .align 2
+ 683 .L60:
+ 684 0008 B4F7FF1F .word 536868788
+ 685 .cfi_endproc
+ 686 .LFE58:
+ 688 .section .text.HAL_DBGMCU_EnableDBGStopMode,"ax",%progbits
+ 689 .align 1
+ 690 .global HAL_DBGMCU_EnableDBGStopMode
+ 691 .syntax unified
+ 692 .code 16
+ 693 .thumb_func
+ 694 .fpu softvfp
+ 696 HAL_DBGMCU_EnableDBGStopMode:
+ 697 .LFB59:
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Enable the Debug Module during STOP mode
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ ARM GAS /tmp/ccZrwUTS.s page 21
+
+
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_EnableDBGStopMode(void)
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 698 .loc 1 466 0
+ 699 .cfi_startproc
+ 700 @ args = 0, pretend = 0, frame = 0
+ 701 @ frame_needed = 0, uses_anonymous_args = 0
+ 702 @ link register save eliminated.
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
+ 703 .loc 1 467 0
+ 704 0000 024A ldr r2, .L63
+ 705 0002 5368 ldr r3, [r2, #4]
+ 706 0004 0221 movs r1, #2
+ 707 0006 0B43 orrs r3, r1
+ 708 0008 5360 str r3, [r2, #4]
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 709 .loc 1 468 0
+ 710 @ sp needed
+ 711 000a 7047 bx lr
+ 712 .L64:
+ 713 .align 2
+ 714 .L63:
+ 715 000c 00580140 .word 1073829888
+ 716 .cfi_endproc
+ 717 .LFE59:
+ 719 .section .text.HAL_DBGMCU_DisableDBGStopMode,"ax",%progbits
+ 720 .align 1
+ 721 .global HAL_DBGMCU_DisableDBGStopMode
+ 722 .syntax unified
+ 723 .code 16
+ 724 .thumb_func
+ 725 .fpu softvfp
+ 727 HAL_DBGMCU_DisableDBGStopMode:
+ 728 .LFB60:
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Disable the Debug Module during STOP mode
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_DisableDBGStopMode(void)
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 729 .loc 1 475 0
+ 730 .cfi_startproc
+ 731 @ args = 0, pretend = 0, frame = 0
+ 732 @ frame_needed = 0, uses_anonymous_args = 0
+ 733 @ link register save eliminated.
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STOP);
+ 734 .loc 1 476 0
+ 735 0000 024A ldr r2, .L66
+ 736 0002 5368 ldr r3, [r2, #4]
+ 737 0004 0221 movs r1, #2
+ 738 0006 8B43 bics r3, r1
+ 739 0008 5360 str r3, [r2, #4]
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 740 .loc 1 477 0
+ 741 @ sp needed
+ 742 000a 7047 bx lr
+ 743 .L67:
+ ARM GAS /tmp/ccZrwUTS.s page 22
+
+
+ 744 .align 2
+ 745 .L66:
+ 746 000c 00580140 .word 1073829888
+ 747 .cfi_endproc
+ 748 .LFE60:
+ 750 .section .text.HAL_DBGMCU_EnableDBGStandbyMode,"ax",%progbits
+ 751 .align 1
+ 752 .global HAL_DBGMCU_EnableDBGStandbyMode
+ 753 .syntax unified
+ 754 .code 16
+ 755 .thumb_func
+ 756 .fpu softvfp
+ 758 HAL_DBGMCU_EnableDBGStandbyMode:
+ 759 .LFB61:
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Enable the Debug Module during STANDBY mode
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_EnableDBGStandbyMode(void)
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 760 .loc 1 484 0
+ 761 .cfi_startproc
+ 762 @ args = 0, pretend = 0, frame = 0
+ 763 @ frame_needed = 0, uses_anonymous_args = 0
+ 764 @ link register save eliminated.
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** SET_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
+ 765 .loc 1 485 0
+ 766 0000 024A ldr r2, .L69
+ 767 0002 5368 ldr r3, [r2, #4]
+ 768 0004 0421 movs r1, #4
+ 769 0006 0B43 orrs r3, r1
+ 770 0008 5360 str r3, [r2, #4]
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 771 .loc 1 486 0
+ 772 @ sp needed
+ 773 000a 7047 bx lr
+ 774 .L70:
+ 775 .align 2
+ 776 .L69:
+ 777 000c 00580140 .word 1073829888
+ 778 .cfi_endproc
+ 779 .LFE61:
+ 781 .section .text.HAL_DBGMCU_DisableDBGStandbyMode,"ax",%progbits
+ 782 .align 1
+ 783 .global HAL_DBGMCU_DisableDBGStandbyMode
+ 784 .syntax unified
+ 785 .code 16
+ 786 .thumb_func
+ 787 .fpu softvfp
+ 789 HAL_DBGMCU_DisableDBGStandbyMode:
+ 790 .LFB62:
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c ****
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** /**
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @brief Disable the Debug Module during STANDBY mode
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** * @retval None
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** */
+ ARM GAS /tmp/ccZrwUTS.s page 23
+
+
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** void HAL_DBGMCU_DisableDBGStandbyMode(void)
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** {
+ 791 .loc 1 493 0
+ 792 .cfi_startproc
+ 793 @ args = 0, pretend = 0, frame = 0
+ 794 @ frame_needed = 0, uses_anonymous_args = 0
+ 795 @ link register save eliminated.
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** CLEAR_BIT(DBGMCU->CR, DBGMCU_CR_DBG_STANDBY);
+ 796 .loc 1 494 0
+ 797 0000 024A ldr r2, .L72
+ 798 0002 5368 ldr r3, [r2, #4]
+ 799 0004 0421 movs r1, #4
+ 800 0006 8B43 bics r3, r1
+ 801 0008 5360 str r3, [r2, #4]
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal.c **** }
+ 802 .loc 1 495 0
+ 803 @ sp needed
+ 804 000a 7047 bx lr
+ 805 .L73:
+ 806 .align 2
+ 807 .L72:
+ 808 000c 00580140 .word 1073829888
+ 809 .cfi_endproc
+ 810 .LFE62:
+ 812 .global uwTickFreq
+ 813 .global uwTickPrio
+ 814 .comm uwTick,4,4
+ 815 .section .data.uwTickFreq,"aw",%progbits
+ 816 .set .LANCHOR0,. + 0
+ 819 uwTickFreq:
+ 820 0000 01 .byte 1
+ 821 .section .data.uwTickPrio,"aw",%progbits
+ 822 .align 2
+ 823 .set .LANCHOR1,. + 0
+ 826 uwTickPrio:
+ 827 0000 04000000 .word 4
+ 828 .text
+ 829 .Letext0:
+ 830 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 831 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 832 .file 4 "Drivers/CMSIS/Include/core_cm0.h"
+ 833 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 834 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 835 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 836 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 837 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h"
+ ARM GAS /tmp/ccZrwUTS.s page 24
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal.c
+ /tmp/ccZrwUTS.s:16 .text.HAL_MspInit:0000000000000000 $t
+ /tmp/ccZrwUTS.s:23 .text.HAL_MspInit:0000000000000000 HAL_MspInit
+ /tmp/ccZrwUTS.s:38 .text.HAL_MspDeInit:0000000000000000 $t
+ /tmp/ccZrwUTS.s:45 .text.HAL_MspDeInit:0000000000000000 HAL_MspDeInit
+ /tmp/ccZrwUTS.s:59 .text.HAL_DeInit:0000000000000000 $t
+ /tmp/ccZrwUTS.s:66 .text.HAL_DeInit:0000000000000000 HAL_DeInit
+ /tmp/ccZrwUTS.s:103 .text.HAL_DeInit:0000000000000020 $d
+ /tmp/ccZrwUTS.s:109 .text.HAL_InitTick:0000000000000000 $t
+ /tmp/ccZrwUTS.s:116 .text.HAL_InitTick:0000000000000000 HAL_InitTick
+ /tmp/ccZrwUTS.s:177 .text.HAL_InitTick:0000000000000044 $d
+ /tmp/ccZrwUTS.s:184 .text.HAL_Init:0000000000000000 $t
+ /tmp/ccZrwUTS.s:191 .text.HAL_Init:0000000000000000 HAL_Init
+ /tmp/ccZrwUTS.s:222 .text.HAL_Init:000000000000001c $d
+ /tmp/ccZrwUTS.s:227 .text.HAL_IncTick:0000000000000000 $t
+ /tmp/ccZrwUTS.s:234 .text.HAL_IncTick:0000000000000000 HAL_IncTick
+ /tmp/ccZrwUTS.s:254 .text.HAL_IncTick:0000000000000010 $d
+ *COM*:0000000000000004 uwTick
+ /tmp/ccZrwUTS.s:260 .text.HAL_GetTick:0000000000000000 $t
+ /tmp/ccZrwUTS.s:267 .text.HAL_GetTick:0000000000000000 HAL_GetTick
+ /tmp/ccZrwUTS.s:283 .text.HAL_GetTick:0000000000000008 $d
+ /tmp/ccZrwUTS.s:288 .text.HAL_GetTickPrio:0000000000000000 $t
+ /tmp/ccZrwUTS.s:295 .text.HAL_GetTickPrio:0000000000000000 HAL_GetTickPrio
+ /tmp/ccZrwUTS.s:311 .text.HAL_GetTickPrio:0000000000000008 $d
+ /tmp/ccZrwUTS.s:316 .text.HAL_SetTickFreq:0000000000000000 $t
+ /tmp/ccZrwUTS.s:323 .text.HAL_SetTickFreq:0000000000000000 HAL_SetTickFreq
+ /tmp/ccZrwUTS.s:369 .text.HAL_SetTickFreq:0000000000000024 $d
+ /tmp/ccZrwUTS.s:375 .text.HAL_GetTickFreq:0000000000000000 $t
+ /tmp/ccZrwUTS.s:382 .text.HAL_GetTickFreq:0000000000000000 HAL_GetTickFreq
+ /tmp/ccZrwUTS.s:398 .text.HAL_GetTickFreq:0000000000000008 $d
+ /tmp/ccZrwUTS.s:403 .text.HAL_Delay:0000000000000000 $t
+ /tmp/ccZrwUTS.s:410 .text.HAL_Delay:0000000000000000 HAL_Delay
+ /tmp/ccZrwUTS.s:453 .text.HAL_Delay:0000000000000020 $d
+ /tmp/ccZrwUTS.s:458 .text.HAL_SuspendTick:0000000000000000 $t
+ /tmp/ccZrwUTS.s:465 .text.HAL_SuspendTick:0000000000000000 HAL_SuspendTick
+ /tmp/ccZrwUTS.s:484 .text.HAL_SuspendTick:000000000000000c $d
+ /tmp/ccZrwUTS.s:489 .text.HAL_ResumeTick:0000000000000000 $t
+ /tmp/ccZrwUTS.s:496 .text.HAL_ResumeTick:0000000000000000 HAL_ResumeTick
+ /tmp/ccZrwUTS.s:515 .text.HAL_ResumeTick:000000000000000c $d
+ /tmp/ccZrwUTS.s:520 .text.HAL_GetHalVersion:0000000000000000 $t
+ /tmp/ccZrwUTS.s:527 .text.HAL_GetHalVersion:0000000000000000 HAL_GetHalVersion
+ /tmp/ccZrwUTS.s:541 .text.HAL_GetHalVersion:0000000000000004 $d
+ /tmp/ccZrwUTS.s:546 .text.HAL_GetREVID:0000000000000000 $t
+ /tmp/ccZrwUTS.s:553 .text.HAL_GetREVID:0000000000000000 HAL_GetREVID
+ /tmp/ccZrwUTS.s:570 .text.HAL_GetREVID:0000000000000008 $d
+ /tmp/ccZrwUTS.s:575 .text.HAL_GetDEVID:0000000000000000 $t
+ /tmp/ccZrwUTS.s:582 .text.HAL_GetDEVID:0000000000000000 HAL_GetDEVID
+ /tmp/ccZrwUTS.s:600 .text.HAL_GetDEVID:000000000000000c $d
+ /tmp/ccZrwUTS.s:605 .text.HAL_GetUIDw0:0000000000000000 $t
+ /tmp/ccZrwUTS.s:612 .text.HAL_GetUIDw0:0000000000000000 HAL_GetUIDw0
+ /tmp/ccZrwUTS.s:628 .text.HAL_GetUIDw0:0000000000000008 $d
+ /tmp/ccZrwUTS.s:633 .text.HAL_GetUIDw1:0000000000000000 $t
+ /tmp/ccZrwUTS.s:640 .text.HAL_GetUIDw1:0000000000000000 HAL_GetUIDw1
+ /tmp/ccZrwUTS.s:656 .text.HAL_GetUIDw1:0000000000000008 $d
+ /tmp/ccZrwUTS.s:661 .text.HAL_GetUIDw2:0000000000000000 $t
+ /tmp/ccZrwUTS.s:668 .text.HAL_GetUIDw2:0000000000000000 HAL_GetUIDw2
+ ARM GAS /tmp/ccZrwUTS.s page 25
+
+
+ /tmp/ccZrwUTS.s:684 .text.HAL_GetUIDw2:0000000000000008 $d
+ /tmp/ccZrwUTS.s:689 .text.HAL_DBGMCU_EnableDBGStopMode:0000000000000000 $t
+ /tmp/ccZrwUTS.s:696 .text.HAL_DBGMCU_EnableDBGStopMode:0000000000000000 HAL_DBGMCU_EnableDBGStopMode
+ /tmp/ccZrwUTS.s:715 .text.HAL_DBGMCU_EnableDBGStopMode:000000000000000c $d
+ /tmp/ccZrwUTS.s:720 .text.HAL_DBGMCU_DisableDBGStopMode:0000000000000000 $t
+ /tmp/ccZrwUTS.s:727 .text.HAL_DBGMCU_DisableDBGStopMode:0000000000000000 HAL_DBGMCU_DisableDBGStopMode
+ /tmp/ccZrwUTS.s:746 .text.HAL_DBGMCU_DisableDBGStopMode:000000000000000c $d
+ /tmp/ccZrwUTS.s:751 .text.HAL_DBGMCU_EnableDBGStandbyMode:0000000000000000 $t
+ /tmp/ccZrwUTS.s:758 .text.HAL_DBGMCU_EnableDBGStandbyMode:0000000000000000 HAL_DBGMCU_EnableDBGStandbyMode
+ /tmp/ccZrwUTS.s:777 .text.HAL_DBGMCU_EnableDBGStandbyMode:000000000000000c $d
+ /tmp/ccZrwUTS.s:782 .text.HAL_DBGMCU_DisableDBGStandbyMode:0000000000000000 $t
+ /tmp/ccZrwUTS.s:789 .text.HAL_DBGMCU_DisableDBGStandbyMode:0000000000000000 HAL_DBGMCU_DisableDBGStandbyMode
+ /tmp/ccZrwUTS.s:808 .text.HAL_DBGMCU_DisableDBGStandbyMode:000000000000000c $d
+ /tmp/ccZrwUTS.s:819 .data.uwTickFreq:0000000000000000 uwTickFreq
+ /tmp/ccZrwUTS.s:826 .data.uwTickPrio:0000000000000000 uwTickPrio
+ /tmp/ccZrwUTS.s:822 .data.uwTickPrio:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+__aeabi_uidiv
+HAL_SYSTICK_Config
+HAL_NVIC_SetPriority
+SystemCoreClock
diff --git a/fw/midi-dials/build/stm32f0xx_hal.o b/fw/midi-dials/build/stm32f0xx_hal.o
new file mode 100644
index 0000000..27bd647
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc.d b/fw/midi-dials/build/stm32f0xx_hal_adc.d
new file mode 100644
index 0000000..7fe9033
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_adc.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc.lst b/fw/midi-dials/build/stm32f0xx_hal_adc.lst
new file mode 100644
index 0000000..1fd49cb
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc.lst
@@ -0,0 +1,5976 @@
+ARM GAS /tmp/ccnlUpWq.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 "stm32f0xx_hal_adc.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.ADC_ConversionStop,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 ADC_ConversionStop:
+ 23 .LFB64:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @file stm32f0xx_hal_adc.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief This file provides firmware functions to manage the following
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * functionalities of the Analog to Digital Convertor (ADC)
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Initialization and Configuration of ADC
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Operation functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Start, stop, get result of conversions of regular
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * group, using 3 possible modes: polling, interruption or DMA.
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + Control functions
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Channels configuration on regular group
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Analog Watchdog configuration
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * + State functions
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ ADC state machine management
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ++ Interrupts and flags management
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Other functions (extended functions) are available in file
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "stm32f0xx_hal_adc_ex.c".
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==============================================================================
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### ADC peripheral features #####
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==============================================================================
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) 12-bit, 10-bit, 8-bit or 6-bit configurable resolution
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Interrupt generation at the end of regular conversion and in case of
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** analog watchdog or overrun events.
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Single and continuous conversion modes.
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Scan mode for conversion of several channels sequentially.
+ ARM GAS /tmp/ccnlUpWq.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Data alignment with in-built data coherency.
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Programmable sampling time (common for all channels)
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC conversion of regular group.
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) External trigger (timer or EXTI) with configurable polarity
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) DMA request generation for transfer of conversions data of regular group.
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC calibration
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC supply requirements: 2.4 V to 3.6 V at full speed and down to 1.8 V at
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** slower speed.
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ADC input range: from Vref- (connected to Vssa) to Vref+ (connected to
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Vdda or to an external voltage reference).
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### How to use this driver #####
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ==============================================================================
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of top level parameters related to ADC ***
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Enable the ADC interface
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) As prerequisite, ADC clock must be configured at RCC top level.
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Caution: On STM32F0, ADC clock frequency max is 14MHz (refer
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to device datasheet).
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Therefore, ADC clock prescaler must be configured in
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function of ADC clock source frequency to remain below
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** this maximum frequency.
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Two clock settings are mandatory:
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (core clock, also possibly conversion clock).
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) ADC clock (conversions clock).
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Two possible clock sources: synchronous clock derived from APB clock
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or asynchronous clock derived from ADC dedicated HSI RC oscillator
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** 14MHz.
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If asynchronous clock is selected, parameter "HSI14State" must be set either:
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ADC_CONTROL" to let the ADC control
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** the HSI14 oscillator enable/disable (if not used to supply the main
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** system clock): feature used if ADC mode LowPowerAutoPowerOff is
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** enabled.
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** - to "...HSI14State = RCC_HSI14_ON" to maintain the HSI14 oscillator
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** always enabled: can be used to supply the main system clock.
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example:
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspInit() (recommended code location) or with
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration:
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) __HAL_RCC_ADC1_CLK_ENABLE(); (mandatory)
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HI14 enable or let under control of ADC: (optional: if asynchronous clock
+ ARM GAS /tmp/ccnlUpWq.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitTypeDef RCC_OscInitStructure;
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14;
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14CalibrationValue = RCC_HSI14CALIBRATION_DEFAULT;
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_ADC_CONTROL;
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.PLL... (optional if used for system clock)
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure);
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock source and clock prescaler are configured at ADC level with
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** parameter "ClockPrescaler" using function HAL_ADC_Init().
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Enable the clock for the ADC GPIOs
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_ENABLE()
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure these ADC pins in analog mode
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_GPIO_Init()
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions:
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for ADC
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(ADCx_IRQn)
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler()
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding ADC interruption vector
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADCx_IRQHandler().
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA:
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the DMA (DMA channel, mode normal or circular, ...)
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_Init().
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Configure the NVIC for DMA
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_EnableIRQ(DMAx_Channelx_IRQn)
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Insert the ADC interruption handler function HAL_ADC_IRQHandler()
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** into the function of corresponding DMA interruption vector
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** DMAx_Channelx_IRQHandler().
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Configuration of ADC, group regular, channels parameters ***
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ================================================================
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the ADC parameters (resolution, data alignment, ...)
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and regular group parameters (conversion trigger, sequencer, ...)
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Init().
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Configure the channels for regular group parameters (channel number,
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** channel rank into sequencer, ..., into regular group)
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_ConfigChannel().
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, configure the analog watchdog parameters (channels
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** monitored, thresholds, ...)
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_AnalogWDGConfig().
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Execution of ADC conversions ***
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ====================================
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, perform an automatic ADC calibration to improve the
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** conversion accuracy
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADCEx_Calibration_Start().
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC driver can be used among three modes: polling, interruption,
+ ARM GAS /tmp/ccnlUpWq.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** transfer by DMA.
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by polling:
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start()
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_PollForConversion()
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue()
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop()
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion by interruption:
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_IT()
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback()
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (this function must be implemented in user program)
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Retrieve conversion results
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_GetValue()
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_IT()
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC conversion with transfer by DMA:
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Activate the ADC peripheral and start conversions
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Start_DMA()
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Wait for ADC conversion completion by call of function
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback() or HAL_ADC_ConvHalfCpltCallback()
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (these functions must be implemented in user program)
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Conversion results are automatically transferred by DMA into
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** destination variable address.
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Stop conversion and disable the ADC peripheral
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_ADC_Stop_DMA()
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (@) Callback functions must be implemented in user program:
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ErrorCallback()
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_LevelOutOfWindowCallback() (callback of analog watchdog)
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvCpltCallback()
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+@) HAL_ADC_ConvHalfCpltCallback
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Deinitialization of ADC ***
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ============================================================
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Disable the ADC interface
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock can be hard reset and disabled at RCC top level.
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Hard reset of ADC peripherals
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __ADCx_FORCE_RESET(), __ADCx_RELEASE_RESET().
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) ADC clock disable
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using the equivalent macro/functions as configuration step.
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) Example:
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Into HAL_ADC_MspDeInit() (recommended code location) or with
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** other device clock parameters configuration:
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.OscillatorType = RCC_OSCILLATORTYPE_HSI14;
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) RCC_OscInitStructure.HSI14State = RCC_HSI14_OFF; (if not used for system clock
+ ARM GAS /tmp/ccnlUpWq.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+++) HAL_RCC_OscConfig(&RCC_OscInitStructure);
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) ADC pins configuration
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the clock for the ADC GPIOs
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using macro __HAL_RCC_GPIOx_CLK_DISABLE()
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of ADC with interruptions:
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for ADC
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(ADCx_IRQn)
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (#) Optionally, in case of usage of DMA:
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Deinitialize the DMA
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_DMA_DeInit().
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (++) Disable the NVIC for DMA
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using function HAL_NVIC_DisableIRQ(DMAx_Channelx_IRQn)
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *** Callback registration ***
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** =============================================
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** The compilation flag USE_HAL_ADC_REGISTER_CALLBACKS, when set to 1,
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** allows the user to configure dynamically the driver callbacks.
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use Functions @ref HAL_ADC_RegisterCallback()
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** to register an interrupt callback.
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Function @ref HAL_ADC_RegisterCallback() allows to register following callbacks:
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and a pointer to the user callback function.
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Use function @ref HAL_ADC_UnRegisterCallback to reset a callback to the default
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** weak function.
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @ref HAL_ADC_UnRegisterCallback takes as parameters the HAL peripheral handle,
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** and the Callback ID.
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This function allows to reset following callbacks:
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvCpltCallback : ADC conversion complete callback
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ConvHalfCpltCallback : ADC conversion DMA half-transfer callback
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) LevelOutOfWindowCallback : ADC analog watchdog 1 callback
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) ErrorCallback : ADC error callback
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspInitCallback : ADC Msp Init callback
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) MspDeInitCallback : ADC Msp DeInit callback
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** By default, after the @ref HAL_ADC_Init() and when the state is @ref HAL_ADC_STATE_RESET
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** all callbacks are set to the corresponding weak functions:
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** examples @ref HAL_ADC_ConvCpltCallback(), @ref HAL_ADC_ErrorCallback().
+ ARM GAS /tmp/ccnlUpWq.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done for MspInit and MspDeInit functions that are
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** reset to the legacy weak functions in the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit() only when
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** these callbacks are null (not registered beforehand).
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** If MspInit or MspDeInit are not null, the @ref HAL_ADC_Init()/ @ref HAL_ADC_DeInit()
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Callbacks can be registered/unregistered in @ref HAL_ADC_STATE_READY state only.
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** in @ref HAL_ADC_STATE_READY or @ref HAL_ADC_STATE_RESET state,
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** using @ref HAL_ADC_RegisterCallback() before calling @ref HAL_ADC_DeInit()
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** or @ref HAL_ADC_Init() function.
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** When the compilation flag USE_HAL_ADC_REGISTER_CALLBACKS is set to 0 or
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** not defined, the callback registration feature is not available and all callbacks
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** are set to the corresponding weak functions.
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ******************************************************************************
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @attention
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * All rights reserved.</center></h2>
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the "License"; You may not use this file except in compliance with the
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * License. You may obtain a copy of the License at:
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * opensource.org/licenses/BSD-3-Clause
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ******************************************************************************
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Includes ------------------------------------------------------------------*/
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #include "stm32f0xx_hal.h"
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC ADC
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC HAL module driver
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #ifdef HAL_ADC_MODULE_ENABLED
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private typedef -----------------------------------------------------------*/
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private define ------------------------------------------------------------*/
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Constants ADC Private Constants
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ ARM GAS /tmp/ccnlUpWq.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Fixed timeout values for ADC calibration, enable settling time, disable */
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* settling time. */
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Values defined to be higher than worst cases: low clock frequency, */
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* maximum prescaler. */
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Ex of profile low frequency : Clock source at 0.1 MHz, ADC clock */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* prescaler 4, sampling time 7.5 ADC clock cycles, resolution 12 bits. */
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: ms */
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_ENABLE_TIMEOUT ( 2U)
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_DISABLE_TIMEOUT ( 2U)
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STOP_CONVERSION_TIMEOUT ( 2U)
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time. */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 1us (refer to device datasheet, parameter tSTAB). */
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_STAB_DELAY_US ( 1U)
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time. */
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Maximum delay is 10us (refer to device datasheet, parameter tSTART). */
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unit: us */
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #define ADC_TEMPSENSOR_DELAY_US ( 10U)
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private macro -------------------------------------------------------------*/
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private variables ---------------------------------------------------------*/
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Private function prototypes -----------------------------------------------*/
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Functions ADC Private Functions
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc);
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc);
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc);
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma);
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma);
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma);
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exported functions ---------------------------------------------------------*/
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions ADC Exported Functions
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group1 Initialization/de-initialization functions
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initialization and Configuration functions
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Initialization and de-initialization functions #####
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
+ ARM GAS /tmp/ccnlUpWq.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Initialize and configure the ADC.
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) De-initialize the ADC
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC peripheral and regular group according to
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameters specified in structure "ADC_InitTypeDef".
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note As prerequisite, ADC clock must be configured at RCC top level
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * depending on both possible clock sources: APB clock of HSI clock.
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * See commented example code below that can be copied and uncommented
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * into HAL_ADC_MspInit().
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the ADC MSP (HAL_ADC_MspInit()) only when
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * coming from ADC state reset. Following calls to this function can
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be used to reconfigure some parameters of ADC_InitTypeDef
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * structure on the fly, without modifying MSP configuration. If ADC
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * MSP has to be modified again, HAL_ADC_DeInit() must be called
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * before HAL_ADC_Init().
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_InitTypeDef".
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function configures the ADC within 2 scopes: scope of entire
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC and scope of regular group. For parameters details, see comments
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_InitTypeDef".
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc)
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U;
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL)
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CLOCKPRESCALER(hadc->Init.ClockPrescaler));
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RESOLUTION(hadc->Init.Resolution));
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_DATA_ALIGN(hadc->Init.DataAlign));
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SCAN_MODE(hadc->Init.ScanConvMode));
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DiscontinuousConvMode));
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG_EDGE(hadc->Init.ExternalTrigConvEdge));
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EXTTRIG(hadc->Init.ExternalTrigConv));
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.DMAContinuousRequests));
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection));
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_OVERRUN(hadc->Init.Overrun));
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoWait));
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.LowPowerAutoPowerOff));
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* As prerequisite, into HAL_ADC_MspInit(), ADC clock must be configured */
+ ARM GAS /tmp/ccnlUpWq.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* at RCC top level depending on both possible clock sources: */
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* APB clock or HSI clock. */
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Refer to header of this file for more details on clock enabling procedure*/
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Actions performed only if ADC is coming from state reset: */
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Initialization of ADC MSP */
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC voltage regulator enable */
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->State == HAL_ADC_STATE_RESET)
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Initialize ADC error code */
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allocate lock resource and initialize it */
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Lock = HAL_UNLOCKED;
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the ADC Callback settings */
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback; /* Legacy weak
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback; /* Legacy weak
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback; /* Legacy weak
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback; /* Legacy weak
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspInitCallback == NULL)
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback(hadc);
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Init the low level hardware */
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspInit(hadc);
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* and if there is no conversion on going on regular group (ADC can be */
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabled anyway, in case of call of this function to update a parameter */
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on the fly). */
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL) &&
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) &&
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) )
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL);
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated only when ADC is disabled: */
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock mode */
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC clock prescaler */
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - ADC resolution */
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET)
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Some parameters of this register are not reset, since they are set */
+ ARM GAS /tmp/ccnlUpWq.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by other functions and must be kept in case of usage of this */
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function on the fly (update of a parameter of ADC_InitTypeDef */
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* without needing to reconfigure all other ADC groups/channels */
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters): */
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - internal measurement paths: Vbat, temperature sensor, Vref */
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (set into HAL_ADC_ConfigChannel() ) */
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC resolution */
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR1,
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES ,
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.Resolution );
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC clock mode: clock source AHB or HSI with */
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* selectable prescaler */
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** MODIFY_REG(hadc->Instance->CFGR2 ,
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE ,
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ClockPrescaler );
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC: */
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - discontinuous mode */
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoWait mode */
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - LowPowerAutoPowerOff mode */
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - continuous conversion mode */
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - overrun */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger to start conversion */
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - external trigger polarity */
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - data alignment */
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - resolution */
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - scan direction */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - DMA continuous request */
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_DISCEN |
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF |
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTDLY |
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONT |
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVRMOD |
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTSEL |
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN |
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_ALIGN |
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR |
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACFG );
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= (ADC_CFGR1_AUTOWAIT((uint32_t)hadc->Init.LowPowerAutoWait) |
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) |
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable discontinuous mode only if continuous mode is disabled */
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.DiscontinuousConvMode == ENABLE)
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ContinuousConvMode == DISABLE)
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the selected ADC group regular discontinuous mode */
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ADC_CFGR1_DISCEN;
+ ARM GAS /tmp/ccnlUpWq.s page 11
+
+
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC regular group discontinuous was intended to be enabled, */
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* but ADC regular group modes continuous and sequencer discontinuous */
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cannot be enabled simultaneously. */
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable external trigger if trigger selection is different of software */
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start. */
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: This configuration keeps the hardware feature of parameter */
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ExternalTrigConvEdge "trigger edge none" equivalent to */
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* software start. */
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START)
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpCFGR1 |= ( hadc->Init.ExternalTrigConv |
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge );
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC configuration register with previous settings */
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= tmpCFGR1;
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function if parameter */
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "SamplingTimeCommon" has been set to a valid sampling time. */
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Otherwise, sampling time is set into ADC channel initialization */
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* structure with parameter "SamplingTime" (obsolete). */
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP);
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(hadc->Init.SamplingTimeCommon);
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check back that ADC registers have effectively been configured to */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ensure of no potential problem of ADC core IP clocking. */
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check through register CFGR1 (excluding analog watchdog configuration: */
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* set into separate dedicated function, and bits of ADC resolution set */
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* out of temporary variable 'tmpCFGR1'). */
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Instance->CFGR1 & ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1)
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the ADC state */
+ ARM GAS /tmp/ccnlUpWq.s page 12
+
+
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_ERROR_INTERNAL);
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Deinitialize the ADC peripheral registers to their default reset
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * values, with deinitialization of the ADC MSP.
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note For devices with several ADCs: reset of ADC common registers is done
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * only if all ADCs sharing the same common group are disabled.
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * If this is not the case, reset of these common parameters reset is
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * bypassed without error reporting: it can be the intended behaviour in
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * case of reset of a single ADC while the other ADCs sharing the same
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * common group is still running.
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_DeInit(ADC_HandleTypeDef* hadc)
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check ADC handle */
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(hadc == NULL)
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+ ARM GAS /tmp/ccnlUpWq.s page 13
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_BUSY_INTERNAL);
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going, on regular group */
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR)
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state */
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_READY;
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of ADC parameters if previous preliminary actions are */
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* correctly completed. */
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_ERROR)
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Reset ADC registers ========== */
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register IER */
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_AWD | ADC_IT_OVR |
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC |
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOSMP | ADC_IT_RDY ) );
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register ISR */
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_AWD | ADC_FLAG_OVR |
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC |
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOSMP | ADC_FLAG_RDY ) );
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CR */
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Bits ADC_CR_ADCAL, ADC_CR_ADSTP, ADC_CR_ADSTART are in access mode */
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "read-set": no direct reset applicable. */
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR1 */
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~(ADC_CFGR1_AWDCH | ADC_CFGR1_AWDEN | ADC_CFGR1_AWDSGL | ADC_CFGR1_
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_EXTEN | ADC_CFGR1_EXTSEL | ADC_CFGR1_ALIGN | ADC_CFGR1_
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_SCANDIR | ADC_CFGR1_DMACFG | ADC_CFGR1_DMAEN
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CFGR2 */
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Update of ADC clock mode is conditioned to ADC state disabled: */
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* already done above. */
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR2 &= ~ADC_CFGR2_CKMODE;
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register SMPR */
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~ADC_SMPR_SMP;
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register TR1 */
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT);
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ ARM GAS /tmp/ccnlUpWq.s page 14
+
+
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CHSELR */
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~(ADC_CHSELR_CHSEL18 | ADC_CHSELR_CHSEL17 | ADC_CHSELR_CHSEL16 |
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL11 | ADC_CHSELR_CHSEL10 | ADC_CHSELR_CHSEL9 | ADC_
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL7 | ADC_CHSELR_CHSEL6 | ADC_CHSELR_CHSEL5 | ADC_
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL3 | ADC_CHSELR_CHSEL2 | ADC_CHSELR_CHSEL1 | ADC_
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register DR */
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* bits in access mode read only, no direct reset applicable*/
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset register CCR */
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~(ADC_CCR_ALL);
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Hard reset ADC peripheral ========== */
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Performs a global reset of the entire ADC peripheral: ADC state is */
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* forced to a similar state after device power-on. */
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If needed, copy-paste and uncomment the following reset code into */
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* function "void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)": */
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* */
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_FORCE_RESET() */
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* __HAL_RCC_ADC1_RELEASE_RESET() */
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->MspDeInitCallback == NULL)
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback(hadc);
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* DeInit the low level hardware */
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_MspDeInit(hadc);
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to none */
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->State = HAL_ADC_STATE_RESET;
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Initializes the ADC MSP.
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ ARM GAS /tmp/ccnlUpWq.s page 15
+
+
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspInit must be implemented in the user file.
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DeInitializes the ADC MSP.
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_MspDeInit must be implemented in the user file.
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Register a User ADC Callback
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To be used instead of the weak predefined callback
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC.
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be registered
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pCallback pointer to the Callback function
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_RegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Callb
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (pCallback == NULL)
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0)
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ ARM GAS /tmp/ccnlUpWq.s page 16
+
+
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = pCallback;
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = pCallback;
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = pCallback;
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = pCallback;
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = pCallback;
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = pCallback;
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ ARM GAS /tmp/ccnlUpWq.s page 17
+
+
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return status;
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Unregister a ADC Callback
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC callback is redirected to the weak predefined callback
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc Pointer to a ADC_HandleTypeDef structure that contains
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the configuration information for the specified ADC.
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param CallbackID ID of the callback to be unregistered
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_COMPLETE_CB_ID ADC conversion complete callback ID
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_CONVERSION_HALF_CB_ID ADC conversion complete callback ID
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID ADC analog watchdog 1 callback ID
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_ERROR_CB_ID ADC error callback ID
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_INJ_CONVERSION_COMPLETE_CB_ID ADC group injected conversion complet
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID ADC Msp Init callback ID
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID ADC Msp DeInit callback ID
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPINIT_CB_ID MspInit callback ID
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg @ref HAL_ADC_MSPDEINIT_CB_ID MspDeInit callback ID
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_UnRegisterCallback(ADC_HandleTypeDef *hadc, HAL_ADC_CallbackIDTypeDef Cal
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef status = HAL_OK;
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->State & HAL_ADC_STATE_READY) != 0)
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_COMPLETE_CB_ID :
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback = HAL_ADC_ConvCpltCallback;
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_CONVERSION_HALF_CB_ID :
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback = HAL_ADC_ConvHalfCpltCallback;
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_LEVEL_OUT_OF_WINDOW_1_CB_ID :
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback = HAL_ADC_LevelOutOfWindowCallback;
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_ERROR_CB_ID :
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback = HAL_ADC_ErrorCallback;
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit */
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ ARM GAS /tmp/ccnlUpWq.s page 18
+
+
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit */
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else if (HAL_ADC_STATE_RESET == hadc->State)
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch (CallbackID)
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPINIT_CB_ID :
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspInitCallback = HAL_ADC_MspInit; /* Legacy weak MspInit
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case HAL_ADC_MSPDEINIT_CB_ID :
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->MspDeInitCallback = HAL_ADC_MspDeInit; /* Legacy weak MspDeInit
+ 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default :
+ 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update the error code */
+ 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCode |= HAL_ADC_ERROR_INVALID_CALLBACK;
+ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return error status */
+ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** status = HAL_ERROR;
+ 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return status;
+ 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+ 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group2 IO operation functions
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief IO operation functions
+1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+ ARM GAS /tmp/ccnlUpWq.s page 19
+
+
+1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### IO operation functions #####
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
+1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group.
+1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group.
+1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion complete on regular group.
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Poll for conversion event.
+1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Get result of regular channel conversion.
+1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable interruptions.
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable interruptions.
+1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Handle ADC interrupt request
+1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Start conversion of regular group and enable DMA transfer.
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Stop conversion of regular group and disable ADC DMA transfer.
+1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group.
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function: None.
+1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc)
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
+1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
+1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
+1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
+1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ ARM GAS /tmp/ccnlUpWq.s page 20
+
+
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
+1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
+1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
+1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC peripheral.
+1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc)
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+ ARM GAS /tmp/ccnlUpWq.s page 21
+
+
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Wait for regular group conversion to be completed.
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC conversion flags EOS (end of sequence) and EOC (end of
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * conversion) are cleared by this function, with an exception:
+1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * if low power feature "LowPowerAutoWait" is enabled, flags are
+1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * not cleared to not interfere with this feature until data register
+1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * is read using function HAL_ADC_GetValue().
+1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function cannot be used in a particular setup: ADC configured
+1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in DMA mode and polling for end of each conversion (ADC init
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SINGLE_CONV).
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this case, DMA resets the flag EOC and polling cannot be
+1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed on each conversion. Nevertheless, polling can still
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * be performed on the complete sequence (ADC init
+1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection" set to ADC_EOC_SEQ_CONV).
+1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout)
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart;
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmp_Flag_EOC;
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of sequence */
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.EOCSelection == ADC_EOC_SEQ_CONV)
+1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = ADC_FLAG_EOS;
+1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If end of conversion selected to end of each conversion */
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else /* ADC_EOC_SINGLE_CONV */
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification that ADC configuration is compliant with polling for */
+1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* each conversion: */
+1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Particular case is ADC configured in DMA mode and ADC sequencer with */
+1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* several ranks and polling for end of each conversion. */
+1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* For code simplicity sake, this particular case is generalized to */
+1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC configured in DMA mode and and polling for end of each conversion. */
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN))
+1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+ ARM GAS /tmp/ccnlUpWq.s page 22
+
+
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_Flag_EOC = (ADC_FLAG_EOC | ADC_FLAG_EOS);
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait until End of Conversion flag is raised */
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_CLR(hadc->Instance->ISR, tmp_Flag_EOC))
+1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0) || ((HAL_GetTick()-tickstart) > Timeout))
+1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT;
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine */
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
+1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
+1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
+1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
+1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ ARM GAS /tmp/ccnlUpWq.s page 23
+
+
+1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear end of conversion flag of regular group if low power feature */
+1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* "LowPowerAutoWait " is disabled, to not interfere with this feature */
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* until data register is read using function HAL_ADC_GetValue(). */
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoWait == DISABLE)
+1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS));
+1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Poll for conversion event.
+1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param EventType the ADC event type.
+1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This parameter can be one of the following values:
+1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_AWD_EVENT: ADC Analog watchdog event
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @arg ADC_OVR_EVENT: ADC Overrun event
+1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Timeout Timeout value in millisecond.
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_PollForEvent(ADC_HandleTypeDef* hadc, uint32_t EventType, uint32_t Timeou
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0;
+1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EVENT_TYPE(EventType));
+1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check selected event flag */
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, EventType) == RESET)
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if timeout is disabled (set to infinite wait) */
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(Timeout != HAL_MAX_DELAY)
+1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
+1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to timeout */
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT);
+1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+ ARM GAS /tmp/ccnlUpWq.s page 24
+
+
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_TIMEOUT;
+1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(EventType)
+1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Analog watchdog (level out of window) event */
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_AWD_EVENT:
+1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC analog watchdog flag */
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Overrun event */
+1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default: /* Case ADC_OVR_EVENT */
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data, overrun event is not */
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* considered as an error. */
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */
+1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED)
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_OVR);
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Overrun flag */
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
+1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group with interruption.
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function:
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - EOC (end of conversion of regular group) or EOS (end of
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence of regular group) depending on ADC initialization
+1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * parameter "EOCSelection"
+1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun (if available)
+1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc)
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ ARM GAS /tmp/ccnlUpWq.s page 25
+
+
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
+1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
+1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
+1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
+1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
+1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
+1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
+1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
+1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
+1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC end of conversion interrupt */
+1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** switch(hadc->Init.EOCSelection)
+1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** case ADC_EOC_SEQ_CONV:
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC);
+1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR));
+1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* case ADC_EOC_SINGLE_CONV */
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** default:
+1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR));
+1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
+ ARM GAS /tmp/ccnlUpWq.s page 26
+
+
+1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
+1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
+1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable interruption of
+1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * end-of-conversion, disable ADC peripheral.
+1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_IT(ADC_HandleTypeDef* hadc)
+1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
+1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
+1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
+1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of conversion interrupt for regular group */
+1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, (ADC_IT_EOC | ADC_IT_EOS | ADC_IT_OVR));
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
+1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
+1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+ ARM GAS /tmp/ccnlUpWq.s page 27
+
+
+1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enables ADC, starts conversion of regular group and transfers result
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * through DMA.
+1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Interruptions enabled in this function:
+1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA transfer complete
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - DMA half transfer
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - overrun
+1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
+1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param pData The destination Buffer address.
+1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param Length The length of data to be transferred from ADC peripheral to memory.
+1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)
+1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Perform ADC enable and conversion start if no conversion is on going */
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
+1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If low power mode AutoPowerOff is enabled, power-on/off phases are */
+1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* performed automatically by hardware. */
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (hadc->Init.LowPowerAutoPowerOff != ENABLE)
+1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Enable(hadc);
+1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start conversion if ADC is effectively enabled */
+1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Clear state bitfield related to regular group conversion results */
+1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set state bitfield related to regular operation */
+1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY);
+1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset ADC all error code fields */
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CLEAR_ERRORCODE(hadc);
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Unlock before starting ADC conversions: in case of potential */
+1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* interruption, to let the process to ADC IRQ Handler. */
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA transfer complete callback */
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt;
+ ARM GAS /tmp/ccnlUpWq.s page 28
+
+
+1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA half transfer complete callback */
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt;
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the DMA error callback */
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback = ADC_DMAError;
+1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* start (in case of SW start): */
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag and overrun flag */
+1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (To ensure of no unknown state from potential previous ADC */
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* operations) */
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS | ADC_FLAG_OVR));
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC overrun interrupt */
+1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR);
+1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable ADC DMA mode */
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ADC_CFGR1_DMAEN;
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Start the DMA channel */
+1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length);
+1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable conversion of regular group. */
+1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If software start has been selected, conversion starts immediately. */
+1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If external trigger has been selected, conversion will start at next */
+1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* trigger event. */
+1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTART;
+1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_BUSY;
+1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion of regular group, disable ADC DMA transfer, disable
+1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * ADC peripheral.
+1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Each of these interruptions has its dedicated callback function.
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc)
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+ ARM GAS /tmp/ccnlUpWq.s page 29
+
+
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 1. Stop potential conversion on going, on regular group */
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_ConversionStop(hadc);
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC peripheral if conversions are effectively stopped */
+1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC DMA (ADC DMA configuration ADC_CFGR_DMACFG is kept) */
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~ADC_CFGR1_DMAEN;
+1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the DMA channel (in case of DMA in circular mode or stop while */
+1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* while DMA transfer is on going) */
+1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle);
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if DMA channel effectively disabled */
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status != HAL_OK)
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA);
+1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC overrun interrupt */
+1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR);
+1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* 2. Disable the ADC peripheral */
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update "tmp_hal_status" only if DMA channel disabling passed, to keep */
+1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* in memory a potential failing status. */
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = ADC_Disable(hadc);
+1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_Disable(hadc);
+1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if ADC is effectively disabled */
+1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (tmp_hal_status == HAL_OK)
+1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Get ADC regular group conversion result.
+1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Reading register DR automatically clears ADC flag EOC
+ ARM GAS /tmp/ccnlUpWq.s page 30
+
+
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of unitary conversion).
+1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note This function does not clear ADC flag EOS
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC group regular end of sequence conversion).
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Occurrence of flag EOS rising:
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of 1 rank, flag EOS is equivalent
+1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * to flag EOC.
+1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * - If sequencer is composed of several ranks, during the scan
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * sequence flag EOC only is raised, at the end of the scan sequence
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * both flags EOC and EOS are raised.
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * To clear this flag, either use function:
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * in programming model IT: @ref HAL_ADC_IRQHandler(), in programming
+1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * model polling: @ref HAL_ADC_PollForConversion()
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * or @ref __HAL_ADC_CLEAR_FLAG(&hadc, ADC_FLAG_EOS).
+1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC group regular conversion data
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc)
+1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: EOC flag is not cleared here by software because automatically */
+1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* cleared by hardware when reading register DR. */
+1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC converted value */
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->Instance->DR;
+1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Handles ADC interrupt request.
+1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** void HAL_ADC_IRQHandler(ADC_HandleTypeDef* hadc)
+1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode));
+1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_EOC_SELECTION(hadc->Init.EOCSelection));
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check End of Conversion flag for regular group ========== */
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOC)) ||
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL))
+1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
+1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
+1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
+ ARM GAS /tmp/ccnlUpWq.s page 31
+
+
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
+1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
+1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
+1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
+1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
+1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: into callback, to determine if conversion has been triggered */
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* from EOC or EOS, possibility to use: */
+1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* " if( __HAL_ADC_GET_FLAG(&hadc, ADC_FLAG_EOS)) " */
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
+1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear regular group conversion flag */
+1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: in case of overrun set to ADC_OVR_DATA_PRESERVED, end of */
+1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion flags clear induces the release of the preserved data.*/
+1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Therefore, if the preserved data value is needed, it must be */
+1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* read preliminarily into HAL_ADC_ConvCpltCallback(). */
+1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, (ADC_FLAG_EOC | ADC_FLAG_EOS) );
+1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Analog watchdog flags ========== */
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_AWD) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_AWD))
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_AWD1);
+1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->LevelOutOfWindowCallback(hadc);
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_LevelOutOfWindowCallback(hadc);
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ ARM GAS /tmp/ccnlUpWq.s page 32
+
+
+1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC Analog watchdog flag */
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_AWD);
+1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ========== Check Overrun flag ========== */
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_OVR) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_OVR))
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If overrun is set to overwrite previous data (default setting), */
+1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun event is not considered as an error. */
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (cf ref manual "Managing conversions without using the DMA and without */
+1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* overrun ") */
+1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Exception for usage with DMA overrun event always considered as an */
+1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* error. */
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if ((hadc->Init.Overrun == ADC_OVR_DATA_PRESERVED) ||
+1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
+1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to overrun */
+1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_OVR);
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear ADC overrun flag */
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
+1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc);
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the Overrun flag */
+1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_OVR);
+1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion complete callback in non blocking mode
+1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc)
+1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvCpltCallback must be implemented in the user file.
+1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Conversion DMA half-transfer callback in non blocking mode
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+ ARM GAS /tmp/ccnlUpWq.s page 33
+
+
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc)
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ConvHalfCpltCallback must be implemented in the user file.
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Analog watchdog callback in non blocking mode.
+1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_LevelOutOfWindowCallback(ADC_HandleTypeDef* hadc)
+1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_LevelOoutOfWindowCallback must be implemented in the user file.
+1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief ADC error callback in non blocking mode
+1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * (ADC conversion with interruption or transfer by DMA)
+1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc)
+1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** UNUSED(hadc);
+1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* NOTE : This function should not be modified. When the callback is needed,
+1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** function HAL_ADC_ErrorCallback must be implemented in the user file.
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group3 Peripheral Control functions
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral Control functions
+1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
+1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral Control functions #####
+1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..] This section provides functions allowing to:
+1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure channels on regular group
+ ARM GAS /tmp/ccnlUpWq.s page 34
+
+
+1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Configure the analog watchdog
+1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
+1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the the selected channel to be linked to the regular
+1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * group.
+1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note In case of usage of internal measurement channels:
+1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * VrefInt/Vbat/TempSensor.
+1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Sampling time constraints must be respected (sampling time can be
+1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * adjusted in function of ADC clock frequency and sampling time
+1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * setting).
+1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Refer to device datasheet for timings values, parameters TS_vrefint,
+1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * TS_vbat, TS_temp (values rough order: 5us to 17us).
+1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * These internal paths can be be disabled using function
+1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * HAL_ADC_DeInit().
+1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
+1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes channel into regular group, following
+1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters
+1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_ChannelConfTypeDef" on the fly, without reseting
+1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC.
+1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
+1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
+1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_ChannelConfTypeDef".
+1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param sConfig Structure of ADC channel for regular group.
+1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig)
+1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(sConfig->Channel));
+1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANK(sConfig->Rank));
+1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
+1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime));
+1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
+1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */
+1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */
+1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel number */
+1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Channel sampling time */
+1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Management of internal measurement channels: VrefInt/TempSensor/Vbat */
+1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure channel: depending on rank setting, add it or remove it from */
+ ARM GAS /tmp/ccnlUpWq.s page 35
+
+
+1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC conversion sequencer. */
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Rank != ADC_RANK_NONE)
+1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */
+1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the channel selection register from the selected channel */
+1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR |= ADC_CHSELR_CHANNEL(sConfig->Channel);
+1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
+1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of parameters "SamplingTimeCommon" and "SamplingTime" */
+1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* (obsolete): sampling time set in this function with */
+1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameter "SamplingTime" (obsolete) only if not already set into */
+1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC initialization structure with parameter "SamplingTimeCommon". */
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (! IS_ADC_SAMPLE_TIME(hadc->Init.SamplingTimeCommon))
+1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Modify sampling time if needed (not needed in case of reoccurrence */
+1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* for several channels programmed consecutively into the sequencer) */
+1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->SamplingTime != ADC_GET_SAMPLINGTIME(hadc))
+1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Channel sampling time configuration */
+1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the old sample time */
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR &= ~(ADC_SMPR_SMP);
+1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the new sample time */
+1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->SMPR |= ADC_SMPR_SET(sConfig->SamplingTime);
+1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */
+1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths enable: If internal channel selected, */
+1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enable dedicated internal buffers and path. */
+1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: these internal measurement paths can be disabled using */
+1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_ADC_DeInit() or removing the channel from sequencer with */
+1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel configuration parameter "Rank". */
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel))
+1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, enable Temp. sensor measurement path. */
+1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, enable VREFINT measurement path. */
+1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, enable VBAT measurement path. */
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR |= ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel);
+1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Temp. sensor is selected, wait for stabilization delay */
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR)
+1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for temperature sensor stabilization time */
+1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000U));
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
+1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--;
+1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Regular sequence configuration */
+1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Reset the channel selection register from the selected channel */
+ ARM GAS /tmp/ccnlUpWq.s page 36
+
+
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CHSELR &= ~ADC_CHSELR_CHANNEL(sConfig->Channel);
+1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Management of internal measurement channels: VrefInt/TempSensor/Vbat */
+1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* internal measurement paths disable: If internal channel selected, */
+1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disable dedicated internal buffers and path. */
+1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_CHANNEL_INTERNAL(sConfig->Channel))
+1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_16 is selected, disable Temp. sensor measurement path. */
+1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_17 is selected, disable VREFINT measurement path. */
+1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If Channel_18 is selected, disable VBAT measurement path. */
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC->CCR &= ~ADC_CHANNEL_INTERNAL_PATH(sConfig->Channel);
+1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update on regular */
+1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channel could be done on neither of the channel configuration structure */
+1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* parameters. */
+1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
+1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Configures the analog watchdog.
+2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Possibility to update parameters on the fly:
+2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * This function initializes the selected analog watchdog, following
+2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * calls to this function can be used to reconfigure some parameters
+2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * of structure "ADC_AnalogWDGConfTypeDef" on the fly, without reseting
+2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * the ADC.
+2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * The setting of these parameters is conditioned to ADC state.
+2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For parameters constraints, see comments of structure
+2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "ADC_AnalogWDGConfTypeDef".
+2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param AnalogWDGConfig Structure of ADC analog watchdog configuration
+2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status
+2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef HAL_ADC_AnalogWDGConfig(ADC_HandleTypeDef* hadc, ADC_AnalogWDGConfTypeDef* Analog
+2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDHighThresholdShifted;
+2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpAWDLowThresholdShifted;
+2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ ARM GAS /tmp/ccnlUpWq.s page 37
+
+
+2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ANALOG_WATCHDOG_MODE(AnalogWDGConfig->WatchdogMode));
+2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_FUNCTIONAL_STATE(AnalogWDGConfig->ITMode));
+2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verify if threshold is within the selected ADC resolution */
+2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->HighThreshold));
+2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_RANGE(ADC_GET_RESOLUTION(hadc), AnalogWDGConfig->LowThreshold));
+2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->WatchdogMode == ADC_ANALOGWATCHDOG_SINGLE_REG)
+2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_CHANNEL(AnalogWDGConfig->Channel));
+2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process locked */
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_LOCK(hadc);
+2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters update conditioned to ADC state: */
+2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Parameters that can be updated when ADC is disabled or enabled without */
+2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* conversion on going on regular group: */
+2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog channels */
+2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Analog watchdog thresholds */
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configuration of analog watchdog: */
+2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the analog watchdog enable mode: one or overall group of */
+2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* channels. */
+2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* - Set the Analog watchdog channel (is not used if watchdog */
+2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* mode "all channels": ADC_CFGR_AWD1SGL=0). */
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 &= ~( ADC_CFGR1_AWDSGL |
+2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN |
+2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDCH );
+2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CFGR1 |= ( AnalogWDGConfig->WatchdogMode |
+2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
+2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Shift the offset in function of the selected ADC resolution: Thresholds*/
+2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* have to be left-aligned on bit 11, the LSB (right bits) are set to 0 */
+2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDHighThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->HighThre
+2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres
+2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set the high and low thresholds */
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR &= ~(ADC_TR_HT | ADC_TR_LT);
+2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) |
+2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted );
+2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Clear the ADC Analog watchdog flag (in case of left enabled by */
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* previous ADC operations) to be ready to use for HAL_ADC_IRQHandler() */
+2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* or HAL_ADC_PollForEvent(). */
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_CLEAR_FLAG(hadc, ADC_IT_AWD);
+2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Configure ADC Analog watchdog interrupt */
+2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(AnalogWDGConfig->ITMode == ENABLE)
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC Analog watchdog interrupt */
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, ADC_IT_AWD);
+2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+ ARM GAS /tmp/ccnlUpWq.s page 38
+
+
+2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC Analog watchdog interrupt */
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_AWD);
+2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If a conversion is on going on regular group, no update could be done */
+2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* on neither of the AWD configuration structure parameters. */
+2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmp_hal_status = HAL_ERROR;
+2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Process unlocked */
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_UNLOCK(hadc);
+2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return function status */
+2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return tmp_hal_status;
+2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Exported_Functions_Group4 Peripheral State functions
+2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Peripheral State functions
+2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** *
+2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @verbatim
+2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ##### Peripheral State and Errors functions #####
+2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ===============================================================================
+2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** [..]
+2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** This subsection provides functions to get in run-time the status of the
+2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** peripheral.
+2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC state
+2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (+) Check the ADC error code
+2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** @endverbatim
+2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC state
+2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note ADC state machine is managed by bitfields, ADC status must be
+2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * compared with states bits.
+2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * For example:
+2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_REG_BUSY)) "
+2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * " if (HAL_IS_BIT_SET(HAL_ADC_GetState(hadc1), HAL_ADC_STATE_AWD1) ) "
+2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL state
+2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+ ARM GAS /tmp/ccnlUpWq.s page 39
+
+
+2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc)
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return ADC state */
+2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->State;
+2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Return the ADC error code
+2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval ADC Error Code
+2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t HAL_ADC_GetError(ADC_HandleTypeDef *hadc)
+2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode;
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @}
+2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /** @defgroup ADC_Private_Functions ADC Private Functions
+2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @{
+2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Enable the selected ADC.
+2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC must be disabled
+2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * and voltage regulator must be enabled (done into HAL_ADC_Init()).
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note If low power mode AutoPowerOff is enabled, power-on/off phases are
+2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * performed automatically by hardware.
+2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * In this mode, this function is useless and must not be called because
+2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * flag ADC_FLAG_RDY is not usable.
+2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * Therefore, this function must be called under condition of
+2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * "if (hadc->Init.LowPowerAutoPowerOff != ENABLE)".
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Enable(ADC_HandleTypeDef* hadc)
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
+2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADC enable and wait for ADC ready (in case of ADC is disabled or */
+2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* enabling phase not yet completed: flag ADC ready not yet set). */
+2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Timeout implemented to not be stuck if ADC cannot be enabled (possible */
+2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* causes: ADC clock not running, ...). */
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) == RESET)
+2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to enable the ADC are fulfilled */
+2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_ENABLING_CONDITIONS(hadc) == RESET)
+ ARM GAS /tmp/ccnlUpWq.s page 40
+
+
+2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Enable the ADC peripheral */
+2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE(hadc);
+2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Delay for ADC stabilization time */
+2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Compute number of CPU cycles to wait for */
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000U));
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
+2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** wait_loop_index--;
+2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
+2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively enabled */
+2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_RDY) == RESET)
+2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_ENABLE_TIMEOUT)
+2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
+2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Disable the selected ADC.
+2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be
+2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped.
+2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_Disable(ADC_HandleTypeDef* hadc)
+2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
+2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already disabled: */
+ ARM GAS /tmp/ccnlUpWq.s page 41
+
+
+2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: forbidden to disable ADC (set bit ADC_CR_ADDIS) if ADC is already */
+2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* disabled. */
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_ENABLE(hadc) != RESET)
+2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check if conditions to disable the ADC are fulfilled */
+2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_DISABLING_CONDITIONS(hadc) != RESET)
+2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable the ADC peripheral */
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE(hadc);
+2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for ADC effectively disabled */
+2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
+2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADEN))
+2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_DISABLE_TIMEOUT)
+2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
+2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief Stop ADC conversion.
+2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @note Prerequisite condition to use this function: ADC conversions must be
+2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * stopped to disable the ADC.
+2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hadc ADC handle
+2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval HAL status.
+2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static HAL_StatusTypeDef ADC_ConversionStop(ADC_HandleTypeDef* hadc)
+2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 25 .loc 1 2311 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccnlUpWq.s page 42
+
+
+ 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 0002 0400 movs r4, r0
+ 38 .LVL1:
+2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
+2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Verification if ADC is not already stopped on regular group to bypass */
+2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* this function if not needed. */
+2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc))
+ 39 .loc 1 2319 0
+ 40 0004 0368 ldr r3, [r0]
+ 41 0006 9A68 ldr r2, [r3, #8]
+ 42 0008 5207 lsls r2, r2, #29
+ 43 000a 21D5 bpl .L6
+2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop potential conversion on going on regular group */
+2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Software is allowed to set ADSTP only when ADSTART=1 and ADDIS=0 */
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADSTART) &&
+ 44 .loc 1 2324 0
+ 45 000c 9A68 ldr r2, [r3, #8]
+ 46 000e 5207 lsls r2, r2, #29
+ 47 0010 06D5 bpl .L3
+2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) )
+ 48 .loc 1 2325 0 discriminator 1
+ 49 0012 9A68 ldr r2, [r3, #8]
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_CLR(hadc->Instance->CR, ADC_CR_ADDIS) )
+ 50 .loc 1 2324 0 discriminator 1
+ 51 0014 9207 lsls r2, r2, #30
+ 52 0016 03D4 bmi .L3
+2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Stop conversions on regular group */
+2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->CR |= ADC_CR_ADSTP;
+ 53 .loc 1 2328 0
+ 54 0018 9A68 ldr r2, [r3, #8]
+ 55 001a 1021 movs r1, #16
+ 56 001c 0A43 orrs r2, r1
+ 57 001e 9A60 str r2, [r3, #8]
+ 58 .L3:
+2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Wait for conversion effectively stopped */
+2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Get tick count */
+2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tickstart = HAL_GetTick();
+ 59 .loc 1 2333 0
+ 60 0020 FFF7FEFF bl HAL_GetTick
+ 61 .LVL2:
+ ARM GAS /tmp/ccnlUpWq.s page 43
+
+
+ 62 0024 0500 movs r5, r0
+ 63 .LVL3:
+ 64 .L4:
+2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while((hadc->Instance->CR & ADC_CR_ADSTART) != RESET)
+ 65 .loc 1 2335 0
+ 66 0026 2368 ldr r3, [r4]
+ 67 0028 9B68 ldr r3, [r3, #8]
+ 68 002a 5B07 lsls r3, r3, #29
+ 69 002c 0ED5 bpl .L7
+2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if((HAL_GetTick() - tickstart) > ADC_STOP_CONVERSION_TIMEOUT)
+ 70 .loc 1 2337 0
+ 71 002e FFF7FEFF bl HAL_GetTick
+ 72 .LVL4:
+ 73 0032 401B subs r0, r0, r5
+ 74 0034 0228 cmp r0, #2
+ 75 0036 F6D9 bls .L4
+2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update ADC state machine to error */
+2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL);
+ 76 .loc 1 2340 0
+ 77 0038 A36B ldr r3, [r4, #56]
+ 78 003a 1022 movs r2, #16
+ 79 003c 1343 orrs r3, r2
+ 80 003e A363 str r3, [r4, #56]
+2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+ 81 .loc 1 2343 0
+ 82 0040 E36B ldr r3, [r4, #60]
+ 83 0042 0F3A subs r2, r2, #15
+ 84 0044 1343 orrs r3, r2
+ 85 0046 E363 str r3, [r4, #60]
+2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_ERROR;
+ 86 .loc 1 2345 0
+ 87 0048 0120 movs r0, #1
+ 88 004a 02E0 b .L2
+ 89 .L7:
+2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Return HAL status */
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return HAL_OK;
+ 90 .loc 1 2352 0
+ 91 004c 0020 movs r0, #0
+ 92 004e 00E0 b .L2
+ 93 .LVL5:
+ 94 .L6:
+ 95 0050 0020 movs r0, #0
+ 96 .LVL6:
+ 97 .L2:
+2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 98 .loc 1 2353 0
+ ARM GAS /tmp/ccnlUpWq.s page 44
+
+
+ 99 @ sp needed
+ 100 .LVL7:
+ 101 0052 70BD pop {r4, r5, r6, pc}
+ 102 .cfi_endproc
+ 103 .LFE64:
+ 105 .section .text.ADC_Disable,"ax",%progbits
+ 106 .align 1
+ 107 .syntax unified
+ 108 .code 16
+ 109 .thumb_func
+ 110 .fpu softvfp
+ 112 ADC_Disable:
+ 113 .LFB63:
+2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
+ 114 .loc 1 2254 0
+ 115 .cfi_startproc
+ 116 @ args = 0, pretend = 0, frame = 0
+ 117 @ frame_needed = 0, uses_anonymous_args = 0
+ 118 .LVL8:
+ 119 0000 70B5 push {r4, r5, r6, lr}
+ 120 .LCFI1:
+ 121 .cfi_def_cfa_offset 16
+ 122 .cfi_offset 4, -16
+ 123 .cfi_offset 5, -12
+ 124 .cfi_offset 6, -8
+ 125 .cfi_offset 14, -4
+ 126 0002 0400 movs r4, r0
+ 127 .LVL9:
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 128 .loc 1 2260 0
+ 129 0004 0268 ldr r2, [r0]
+ 130 0006 9168 ldr r1, [r2, #8]
+ 131 0008 0323 movs r3, #3
+ 132 000a 0B40 ands r3, r1
+ 133 000c 012B cmp r3, #1
+ 134 000e 01D0 beq .L16
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 135 .loc 1 2299 0
+ 136 0010 0020 movs r0, #0
+ 137 .LVL10:
+ 138 .L9:
+2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 139 .loc 1 2300 0
+ 140 @ sp needed
+ 141 .LVL11:
+ 142 0012 70BD pop {r4, r5, r6, pc}
+ 143 .LVL12:
+ 144 .L16:
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 145 .loc 1 2260 0 discriminator 1
+ 146 0014 1368 ldr r3, [r2]
+ 147 0016 DB07 lsls r3, r3, #31
+ 148 0018 02D4 bmi .L10
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 149 .loc 1 2260 0 is_stmt 0 discriminator 4
+ 150 001a D368 ldr r3, [r2, #12]
+ 151 001c 1B04 lsls r3, r3, #16
+ ARM GAS /tmp/ccnlUpWq.s page 45
+
+
+ 152 001e 2DD5 bpl .L15
+ 153 .L10:
+2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 154 .loc 1 2263 0 is_stmt 1
+ 155 0020 9168 ldr r1, [r2, #8]
+ 156 0022 0523 movs r3, #5
+ 157 0024 0B40 ands r3, r1
+ 158 0026 012B cmp r3, #1
+ 159 0028 09D0 beq .L17
+2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 160 .loc 1 2271 0
+ 161 002a A36B ldr r3, [r4, #56]
+ 162 002c 1022 movs r2, #16
+ 163 002e 1343 orrs r3, r2
+ 164 0030 A363 str r3, [r4, #56]
+2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 165 .loc 1 2274 0
+ 166 0032 E36B ldr r3, [r4, #60]
+ 167 0034 0F3A subs r2, r2, #15
+ 168 0036 1343 orrs r3, r2
+ 169 0038 E363 str r3, [r4, #60]
+2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 170 .loc 1 2276 0
+ 171 003a 0120 movs r0, #1
+ 172 .LVL13:
+ 173 003c E9E7 b .L9
+ 174 .LVL14:
+ 175 .L17:
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 176 .loc 1 2266 0
+ 177 003e 9368 ldr r3, [r2, #8]
+ 178 0040 0221 movs r1, #2
+ 179 0042 0B43 orrs r3, r1
+ 180 0044 9360 str r3, [r2, #8]
+ 181 0046 2368 ldr r3, [r4]
+ 182 0048 0322 movs r2, #3
+ 183 004a 1A60 str r2, [r3]
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 184 .loc 1 2281 0
+ 185 004c FFF7FEFF bl HAL_GetTick
+ 186 .LVL15:
+ 187 0050 0500 movs r5, r0
+ 188 .LVL16:
+ 189 .L12:
+2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 190 .loc 1 2283 0
+ 191 0052 2368 ldr r3, [r4]
+ 192 0054 9B68 ldr r3, [r3, #8]
+ 193 0056 DB07 lsls r3, r3, #31
+ 194 0058 0ED5 bpl .L18
+2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 195 .loc 1 2285 0
+ 196 005a FFF7FEFF bl HAL_GetTick
+ 197 .LVL17:
+ 198 005e 401B subs r0, r0, r5
+ 199 0060 0228 cmp r0, #2
+ 200 0062 F6D9 bls .L12
+ ARM GAS /tmp/ccnlUpWq.s page 46
+
+
+2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 201 .loc 1 2288 0
+ 202 0064 A36B ldr r3, [r4, #56]
+ 203 0066 1022 movs r2, #16
+ 204 0068 1343 orrs r3, r2
+ 205 006a A363 str r3, [r4, #56]
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 206 .loc 1 2291 0
+ 207 006c E36B ldr r3, [r4, #60]
+ 208 006e 0F3A subs r2, r2, #15
+ 209 0070 1343 orrs r3, r2
+ 210 0072 E363 str r3, [r4, #60]
+2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 211 .loc 1 2293 0
+ 212 0074 0120 movs r0, #1
+ 213 0076 CCE7 b .L9
+ 214 .L18:
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 215 .loc 1 2299 0
+ 216 0078 0020 movs r0, #0
+ 217 007a CAE7 b .L9
+ 218 .LVL18:
+ 219 .L15:
+ 220 007c 0020 movs r0, #0
+ 221 .LVL19:
+ 222 007e C8E7 b .L9
+ 223 .cfi_endproc
+ 224 .LFE63:
+ 226 .global __aeabi_uidiv
+ 227 .section .text.ADC_Enable,"ax",%progbits
+ 228 .align 1
+ 229 .syntax unified
+ 230 .code 16
+ 231 .thumb_func
+ 232 .fpu softvfp
+ 234 ADC_Enable:
+ 235 .LFB62:
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart = 0U;
+ 236 .loc 1 2189 0
+ 237 .cfi_startproc
+ 238 @ args = 0, pretend = 0, frame = 8
+ 239 @ frame_needed = 0, uses_anonymous_args = 0
+ 240 .LVL20:
+ 241 0000 30B5 push {r4, r5, lr}
+ 242 .LCFI2:
+ 243 .cfi_def_cfa_offset 12
+ 244 .cfi_offset 4, -12
+ 245 .cfi_offset 5, -8
+ 246 .cfi_offset 14, -4
+ 247 0002 83B0 sub sp, sp, #12
+ 248 .LCFI3:
+ 249 .cfi_def_cfa_offset 24
+ 250 0004 0400 movs r4, r0
+ 251 .LVL21:
+2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 252 .loc 1 2191 0
+ 253 0006 0023 movs r3, #0
+ ARM GAS /tmp/ccnlUpWq.s page 47
+
+
+ 254 0008 0193 str r3, [sp, #4]
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 255 .loc 1 2197 0
+ 256 000a 0368 ldr r3, [r0]
+ 257 000c 9968 ldr r1, [r3, #8]
+ 258 000e 0322 movs r2, #3
+ 259 0010 0A40 ands r2, r1
+ 260 0012 012A cmp r2, #1
+ 261 0014 0ED0 beq .L29
+ 262 .L20:
+2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 263 .loc 1 2200 0
+ 264 0016 9968 ldr r1, [r3, #8]
+ 265 0018 204A ldr r2, .L32
+ 266 001a 1142 tst r1, r2
+ 267 001c 12D1 bne .L30
+2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 268 .loc 1 2212 0
+ 269 001e 9A68 ldr r2, [r3, #8]
+ 270 0020 0121 movs r1, #1
+ 271 0022 0A43 orrs r2, r1
+ 272 0024 9A60 str r2, [r3, #8]
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
+ 273 .loc 1 2216 0
+ 274 0026 1E4B ldr r3, .L32+4
+ 275 0028 1868 ldr r0, [r3]
+ 276 .LVL22:
+ 277 002a 1E49 ldr r1, .L32+8
+ 278 002c FFF7FEFF bl __aeabi_uidiv
+ 279 .LVL23:
+ 280 0030 0190 str r0, [sp, #4]
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 281 .loc 1 2217 0
+ 282 0032 15E0 b .L23
+ 283 .LVL24:
+ 284 .L29:
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 285 .loc 1 2197 0 discriminator 1
+ 286 0034 1A68 ldr r2, [r3]
+ 287 0036 D207 lsls r2, r2, #31
+ 288 0038 2DD4 bmi .L27
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 289 .loc 1 2197 0 is_stmt 0 discriminator 4
+ 290 003a DA68 ldr r2, [r3, #12]
+ 291 003c 1204 lsls r2, r2, #16
+ 292 003e EAD5 bpl .L20
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 293 .loc 1 2243 0 is_stmt 1
+ 294 0040 0020 movs r0, #0
+ 295 .LVL25:
+ 296 0042 08E0 b .L21
+ 297 .LVL26:
+ 298 .L30:
+2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 299 .loc 1 2203 0
+ 300 0044 A36B ldr r3, [r4, #56]
+ 301 0046 1022 movs r2, #16
+ ARM GAS /tmp/ccnlUpWq.s page 48
+
+
+ 302 0048 1343 orrs r3, r2
+ 303 004a A363 str r3, [r4, #56]
+2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 304 .loc 1 2206 0
+ 305 004c E36B ldr r3, [r4, #60]
+ 306 004e 0F3A subs r2, r2, #15
+ 307 0050 1343 orrs r3, r2
+ 308 0052 E363 str r3, [r4, #60]
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 309 .loc 1 2208 0
+ 310 0054 0120 movs r0, #1
+ 311 .LVL27:
+ 312 .L21:
+2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 313 .loc 1 2244 0
+ 314 0056 03B0 add sp, sp, #12
+ 315 @ sp needed
+ 316 .LVL28:
+ 317 0058 30BD pop {r4, r5, pc}
+ 318 .LVL29:
+ 319 .L24:
+2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 320 .loc 1 2219 0
+ 321 005a 019B ldr r3, [sp, #4]
+ 322 005c 013B subs r3, r3, #1
+ 323 005e 0193 str r3, [sp, #4]
+ 324 .L23:
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 325 .loc 1 2217 0
+ 326 0060 019B ldr r3, [sp, #4]
+ 327 0062 002B cmp r3, #0
+ 328 0064 F9D1 bne .L24
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 329 .loc 1 2223 0
+ 330 0066 FFF7FEFF bl HAL_GetTick
+ 331 .LVL30:
+ 332 006a 0500 movs r5, r0
+ 333 .LVL31:
+ 334 .L25:
+2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 335 .loc 1 2226 0
+ 336 006c 2368 ldr r3, [r4]
+ 337 006e 1B68 ldr r3, [r3]
+ 338 0070 DB07 lsls r3, r3, #31
+ 339 0072 0ED4 bmi .L31
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 340 .loc 1 2228 0
+ 341 0074 FFF7FEFF bl HAL_GetTick
+ 342 .LVL32:
+ 343 0078 401B subs r0, r0, r5
+ 344 007a 0228 cmp r0, #2
+ 345 007c F6D9 bls .L25
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 346 .loc 1 2231 0
+ 347 007e A36B ldr r3, [r4, #56]
+ 348 0080 1022 movs r2, #16
+ 349 0082 1343 orrs r3, r2
+ ARM GAS /tmp/ccnlUpWq.s page 49
+
+
+ 350 0084 A363 str r3, [r4, #56]
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 351 .loc 1 2234 0
+ 352 0086 E36B ldr r3, [r4, #60]
+ 353 0088 0F3A subs r2, r2, #15
+ 354 008a 1343 orrs r3, r2
+ 355 008c E363 str r3, [r4, #60]
+2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 356 .loc 1 2236 0
+ 357 008e 0120 movs r0, #1
+ 358 0090 E1E7 b .L21
+ 359 .L31:
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 360 .loc 1 2243 0
+ 361 0092 0020 movs r0, #0
+ 362 0094 DFE7 b .L21
+ 363 .LVL33:
+ 364 .L27:
+ 365 0096 0020 movs r0, #0
+ 366 .LVL34:
+ 367 0098 DDE7 b .L21
+ 368 .L33:
+ 369 009a C046 .align 2
+ 370 .L32:
+ 371 009c 17000080 .word -2147483625
+ 372 00a0 00000000 .word SystemCoreClock
+ 373 00a4 40420F00 .word 1000000
+ 374 .cfi_endproc
+ 375 .LFE62:
+ 377 .section .text.HAL_ADC_MspInit,"ax",%progbits
+ 378 .align 1
+ 379 .weak HAL_ADC_MspInit
+ 380 .syntax unified
+ 381 .code 16
+ 382 .thumb_func
+ 383 .fpu softvfp
+ 385 HAL_ADC_MspInit:
+ 386 .LFB42:
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 387 .loc 1 775 0
+ 388 .cfi_startproc
+ 389 @ args = 0, pretend = 0, frame = 0
+ 390 @ frame_needed = 0, uses_anonymous_args = 0
+ 391 @ link register save eliminated.
+ 392 .LVL35:
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 393 .loc 1 782 0
+ 394 @ sp needed
+ 395 0000 7047 bx lr
+ 396 .cfi_endproc
+ 397 .LFE42:
+ 399 .section .text.HAL_ADC_Init,"ax",%progbits
+ 400 .align 1
+ 401 .global HAL_ADC_Init
+ 402 .syntax unified
+ 403 .code 16
+ 404 .thumb_func
+ ARM GAS /tmp/ccnlUpWq.s page 50
+
+
+ 405 .fpu softvfp
+ 407 HAL_ADC_Init:
+ 408 .LFB40:
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 409 .loc 1 407 0
+ 410 .cfi_startproc
+ 411 @ args = 0, pretend = 0, frame = 0
+ 412 @ frame_needed = 0, uses_anonymous_args = 0
+ 413 .LVL36:
+ 414 0000 70B5 push {r4, r5, r6, lr}
+ 415 .LCFI4:
+ 416 .cfi_def_cfa_offset 16
+ 417 .cfi_offset 4, -16
+ 418 .cfi_offset 5, -12
+ 419 .cfi_offset 6, -8
+ 420 .cfi_offset 14, -4
+ 421 0002 041E subs r4, r0, #0
+ 422 .LVL37:
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 423 .loc 1 412 0
+ 424 0004 00D1 bne .LCB388
+ 425 0006 B1E0 b .L49 @long jump
+ 426 .LCB388:
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 427 .loc 1 441 0
+ 428 0008 836B ldr r3, [r0, #56]
+ 429 000a 002B cmp r3, #0
+ 430 000c 7ED0 beq .L51
+ 431 .LVL38:
+ 432 .L37:
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (tmp_hal_status == HAL_OK) &&
+ 433 .loc 1 474 0
+ 434 000e A36B ldr r3, [r4, #56]
+ 435 0010 DB06 lsls r3, r3, #27
+ 436 0012 00D5 bpl .LCB398
+ 437 0014 A4E0 b .L38 @long jump
+ 438 .LCB398:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 439 .loc 1 476 0
+ 440 0016 2168 ldr r1, [r4]
+ 441 0018 8B68 ldr r3, [r1, #8]
+ 442 001a 0422 movs r2, #4
+ 443 001c 1A40 ands r2, r3
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET) )
+ 444 .loc 1 475 0
+ 445 001e 00D0 beq .LCB404
+ 446 0020 9EE0 b .L38 @long jump
+ 447 .LCB404:
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 448 .loc 1 479 0
+ 449 0022 A36B ldr r3, [r4, #56]
+ 450 0024 5248 ldr r0, .L56
+ 451 0026 0340 ands r3, r0
+ 452 0028 0630 adds r0, r0, #6
+ 453 002a FF30 adds r0, r0, #255
+ 454 002c 0343 orrs r3, r0
+ 455 002e A363 str r3, [r4, #56]
+ ARM GAS /tmp/ccnlUpWq.s page 51
+
+
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 456 .loc 1 488 0
+ 457 0030 8868 ldr r0, [r1, #8]
+ 458 0032 0323 movs r3, #3
+ 459 0034 0340 ands r3, r0
+ 460 0036 012B cmp r3, #1
+ 461 0038 6ED0 beq .L52
+ 462 .L39:
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_RES ,
+ 463 .loc 1 499 0
+ 464 003a CB68 ldr r3, [r1, #12]
+ 465 003c 1820 movs r0, #24
+ 466 003e 8343 bics r3, r0
+ 467 0040 A068 ldr r0, [r4, #8]
+ 468 0042 0343 orrs r3, r0
+ 469 0044 CB60 str r3, [r1, #12]
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR2_CKMODE ,
+ 470 .loc 1 505 0
+ 471 0046 2168 ldr r1, [r4]
+ 472 0048 0B69 ldr r3, [r1, #16]
+ 473 004a 9B00 lsls r3, r3, #2
+ 474 004c 9B08 lsrs r3, r3, #2
+ 475 004e 6068 ldr r0, [r4, #4]
+ 476 0050 0343 orrs r3, r0
+ 477 0052 0B61 str r3, [r1, #16]
+ 478 .L40:
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF |
+ 479 .loc 1 522 0
+ 480 0054 2168 ldr r1, [r4]
+ 481 0056 CB68 ldr r3, [r1, #12]
+ 482 0058 4648 ldr r0, .L56+4
+ 483 005a 0340 ands r3, r0
+ 484 005c CB60 str r3, [r1, #12]
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
+ 485 .loc 1 533 0
+ 486 005e 237E ldrb r3, [r4, #24]
+ 487 0060 9B03 lsls r3, r3, #14
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
+ 488 .loc 1 534 0
+ 489 0062 617E ldrb r1, [r4, #25]
+ 490 0064 C903 lsls r1, r1, #15
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOOFF((uint32_t)hadc->Init.LowPowerAutoPowerOff) |
+ 491 .loc 1 533 0
+ 492 0066 0B43 orrs r3, r1
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
+ 493 .loc 1 535 0
+ 494 0068 A17E ldrb r1, [r4, #26]
+ 495 006a 4803 lsls r0, r1, #13
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode) |
+ 496 .loc 1 534 0
+ 497 006c 0343 orrs r3, r0
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
+ 498 .loc 1 536 0
+ 499 006e A06A ldr r0, [r4, #40]
+ 500 0070 0128 cmp r0, #1
+ 501 0072 58D0 beq .L50
+ 502 0074 8020 movs r0, #128
+ ARM GAS /tmp/ccnlUpWq.s page 52
+
+
+ 503 0076 4001 lsls r0, r0, #5
+ 504 .L41:
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_OVERRUN(hadc->Init.Overrun) |
+ 505 .loc 1 535 0
+ 506 0078 0343 orrs r3, r0
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
+ 507 .loc 1 536 0
+ 508 007a E068 ldr r0, [r4, #12]
+ 509 007c 0343 orrs r3, r0
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
+ 510 .loc 1 538 0
+ 511 007e 2069 ldr r0, [r4, #16]
+ 512 0080 0228 cmp r0, #2
+ 513 0082 52D0 beq .L53
+ 514 .L42:
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_SCANDIR(hadc->Init.ScanConvMode) |
+ 515 .loc 1 537 0
+ 516 0084 1343 orrs r3, r2
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 517 .loc 1 539 0
+ 518 0086 2422 movs r2, #36
+ 519 0088 A25C ldrb r2, [r4, r2]
+ 520 008a 5200 lsls r2, r2, #1
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
+ 521 .loc 1 538 0
+ 522 008c 1343 orrs r3, r2
+ 523 .LVL39:
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 524 .loc 1 542 0
+ 525 008e E27E ldrb r2, [r4, #27]
+ 526 0090 012A cmp r2, #1
+ 527 0092 4CD0 beq .L54
+ 528 .L43:
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 529 .loc 1 568 0
+ 530 0094 E269 ldr r2, [r4, #28]
+ 531 0096 C221 movs r1, #194
+ 532 0098 FF31 adds r1, r1, #255
+ 533 009a 8A42 cmp r2, r1
+ 534 009c 02D0 beq .L45
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.ExternalTrigConvEdge );
+ 535 .loc 1 570 0
+ 536 009e 216A ldr r1, [r4, #32]
+ 537 00a0 0A43 orrs r2, r1
+ 538 00a2 1343 orrs r3, r2
+ 539 .LVL40:
+ 540 .L45:
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 541 .loc 1 575 0
+ 542 00a4 2168 ldr r1, [r4]
+ 543 00a6 CA68 ldr r2, [r1, #12]
+ 544 00a8 1A43 orrs r2, r3
+ 545 00aa CA60 str r2, [r1, #12]
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 546 .loc 1 583 0
+ 547 00ac E26A ldr r2, [r4, #44]
+ 548 00ae 8021 movs r1, #128
+ ARM GAS /tmp/ccnlUpWq.s page 53
+
+
+ 549 00b0 4905 lsls r1, r1, #21
+ 550 00b2 8A42 cmp r2, r1
+ 551 00b4 0DD0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 552 .loc 1 583 0 is_stmt 0 discriminator 1
+ 553 00b6 012A cmp r2, #1
+ 554 00b8 0BD0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 555 .loc 1 583 0 discriminator 2
+ 556 00ba 022A cmp r2, #2
+ 557 00bc 09D0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 558 .loc 1 583 0 discriminator 3
+ 559 00be 032A cmp r2, #3
+ 560 00c0 07D0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 561 .loc 1 583 0 discriminator 4
+ 562 00c2 042A cmp r2, #4
+ 563 00c4 05D0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 564 .loc 1 583 0 discriminator 5
+ 565 00c6 052A cmp r2, #5
+ 566 00c8 03D0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 567 .loc 1 583 0 discriminator 6
+ 568 00ca 062A cmp r2, #6
+ 569 00cc 01D0 beq .L46
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 570 .loc 1 583 0 discriminator 7
+ 571 00ce 072A cmp r2, #7
+ 572 00d0 0AD1 bne .L47
+ 573 .L46:
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 574 .loc 1 587 0 is_stmt 1
+ 575 00d2 2068 ldr r0, [r4]
+ 576 00d4 4169 ldr r1, [r0, #20]
+ 577 00d6 0722 movs r2, #7
+ 578 00d8 9143 bics r1, r2
+ 579 00da 4161 str r1, [r0, #20]
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 580 .loc 1 590 0
+ 581 00dc 2068 ldr r0, [r4]
+ 582 00de 4169 ldr r1, [r0, #20]
+ 583 00e0 E56A ldr r5, [r4, #44]
+ 584 00e2 2A40 ands r2, r5
+ 585 00e4 0A43 orrs r2, r1
+ 586 00e6 4261 str r2, [r0, #20]
+ 587 .L47:
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** == tmpCFGR1)
+ 588 .loc 1 598 0
+ 589 00e8 2268 ldr r2, [r4]
+ 590 00ea D268 ldr r2, [r2, #12]
+ 591 00ec 2249 ldr r1, .L56+8
+ 592 00ee 0A40 ands r2, r1
+ 593 00f0 9A42 cmp r2, r3
+ 594 00f2 2BD0 beq .L55
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ ARM GAS /tmp/ccnlUpWq.s page 54
+
+
+ 595 .loc 1 612 0
+ 596 00f4 A36B ldr r3, [r4, #56]
+ 597 .LVL41:
+ 598 00f6 1222 movs r2, #18
+ 599 00f8 9343 bics r3, r2
+ 600 00fa 023A subs r2, r2, #2
+ 601 00fc 1343 orrs r3, r2
+ 602 00fe A363 str r3, [r4, #56]
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 603 .loc 1 617 0
+ 604 0100 E36B ldr r3, [r4, #60]
+ 605 0102 0F3A subs r2, r2, #15
+ 606 0104 1343 orrs r3, r2
+ 607 0106 E363 str r3, [r4, #60]
+ 608 .LVL42:
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 609 .loc 1 619 0
+ 610 0108 0120 movs r0, #1
+ 611 010a 2EE0 b .L36
+ 612 .LVL43:
+ 613 .L51:
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 614 .loc 1 444 0
+ 615 010c C363 str r3, [r0, #60]
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 616 .loc 1 447 0
+ 617 010e 3422 movs r2, #52
+ 618 0110 8354 strb r3, [r0, r2]
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 619 .loc 1 465 0
+ 620 0112 FFF7FEFF bl HAL_ADC_MspInit
+ 621 .LVL44:
+ 622 0116 7AE7 b .L37
+ 623 .L52:
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 624 .loc 1 488 0 discriminator 1
+ 625 0118 0B68 ldr r3, [r1]
+ 626 011a DB07 lsls r3, r3, #31
+ 627 011c 9AD4 bmi .L40
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 628 .loc 1 488 0 is_stmt 0 discriminator 4
+ 629 011e CB68 ldr r3, [r1, #12]
+ 630 0120 1B04 lsls r3, r3, #16
+ 631 0122 97D4 bmi .L40
+ 632 0124 89E7 b .L39
+ 633 .L50:
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Init.DataAlign |
+ 634 .loc 1 536 0 is_stmt 1
+ 635 0126 1000 movs r0, r2
+ 636 0128 A6E7 b .L41
+ 637 .L53:
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_DMACONTREQ((uint32_t)hadc->Init.DMAContinuousRequests) );
+ 638 .loc 1 538 0
+ 639 012a 0422 movs r2, #4
+ 640 012c AAE7 b .L42
+ 641 .LVL45:
+ 642 .L54:
+ ARM GAS /tmp/ccnlUpWq.s page 55
+
+
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 643 .loc 1 544 0
+ 644 012e 0029 cmp r1, #0
+ 645 0130 03D1 bne .L44
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 646 .loc 1 547 0
+ 647 0132 8022 movs r2, #128
+ 648 0134 5202 lsls r2, r2, #9
+ 649 0136 1343 orrs r3, r2
+ 650 .LVL46:
+ 651 0138 ACE7 b .L43
+ 652 .L44:
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 653 .loc 1 556 0
+ 654 013a A26B ldr r2, [r4, #56]
+ 655 013c 2021 movs r1, #32
+ 656 013e 0A43 orrs r2, r1
+ 657 0140 A263 str r2, [r4, #56]
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 658 .loc 1 559 0
+ 659 0142 E26B ldr r2, [r4, #60]
+ 660 0144 1F39 subs r1, r1, #31
+ 661 0146 0A43 orrs r2, r1
+ 662 0148 E263 str r2, [r4, #60]
+ 663 014a A3E7 b .L43
+ 664 .L55:
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 665 .loc 1 602 0
+ 666 014c 0023 movs r3, #0
+ 667 .LVL47:
+ 668 014e E363 str r3, [r4, #60]
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ 669 .loc 1 605 0
+ 670 0150 A36B ldr r3, [r4, #56]
+ 671 0152 0322 movs r2, #3
+ 672 0154 9343 bics r3, r2
+ 673 0156 023A subs r2, r2, #2
+ 674 0158 1343 orrs r3, r2
+ 675 015a A363 str r3, [r4, #56]
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tmpCFGR1 = 0U;
+ 676 .loc 1 408 0
+ 677 015c 0020 movs r0, #0
+ 678 015e 04E0 b .L36
+ 679 .LVL48:
+ 680 .L38:
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 681 .loc 1 626 0
+ 682 0160 A36B ldr r3, [r4, #56]
+ 683 0162 1022 movs r2, #16
+ 684 0164 1343 orrs r3, r2
+ 685 0166 A363 str r3, [r4, #56]
+ 686 .LVL49:
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 687 .loc 1 628 0
+ 688 0168 0120 movs r0, #1
+ 689 .LVL50:
+ 690 .L36:
+ ARM GAS /tmp/ccnlUpWq.s page 56
+
+
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 691 .loc 1 633 0
+ 692 @ sp needed
+ 693 .LVL51:
+ 694 016a 70BD pop {r4, r5, r6, pc}
+ 695 .LVL52:
+ 696 .L49:
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 697 .loc 1 414 0
+ 698 016c 0120 movs r0, #1
+ 699 .LVL53:
+ 700 016e FCE7 b .L36
+ 701 .L57:
+ 702 .align 2
+ 703 .L56:
+ 704 0170 FDFEFFFF .word -259
+ 705 0174 1902FEFF .word -130535
+ 706 0178 E7FF3F83 .word -2092957721
+ 707 .cfi_endproc
+ 708 .LFE40:
+ 710 .section .text.HAL_ADC_MspDeInit,"ax",%progbits
+ 711 .align 1
+ 712 .weak HAL_ADC_MspDeInit
+ 713 .syntax unified
+ 714 .code 16
+ 715 .thumb_func
+ 716 .fpu softvfp
+ 718 HAL_ADC_MspDeInit:
+ 719 .LFB43:
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 720 .loc 1 790 0
+ 721 .cfi_startproc
+ 722 @ args = 0, pretend = 0, frame = 0
+ 723 @ frame_needed = 0, uses_anonymous_args = 0
+ 724 @ link register save eliminated.
+ 725 .LVL54:
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 726 .loc 1 797 0
+ 727 @ sp needed
+ 728 0000 7047 bx lr
+ 729 .cfi_endproc
+ 730 .LFE43:
+ 732 .section .text.HAL_ADC_DeInit,"ax",%progbits
+ 733 .align 1
+ 734 .global HAL_ADC_DeInit
+ 735 .syntax unified
+ 736 .code 16
+ 737 .thumb_func
+ 738 .fpu softvfp
+ 740 HAL_ADC_DeInit:
+ 741 .LFB41:
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 742 .loc 1 649 0
+ 743 .cfi_startproc
+ 744 @ args = 0, pretend = 0, frame = 0
+ 745 @ frame_needed = 0, uses_anonymous_args = 0
+ 746 .LVL55:
+ ARM GAS /tmp/ccnlUpWq.s page 57
+
+
+ 747 0000 70B5 push {r4, r5, r6, lr}
+ 748 .LCFI5:
+ 749 .cfi_def_cfa_offset 16
+ 750 .cfi_offset 4, -16
+ 751 .cfi_offset 5, -12
+ 752 .cfi_offset 6, -8
+ 753 .cfi_offset 14, -4
+ 754 0002 041E subs r4, r0, #0
+ 755 .LVL56:
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 756 .loc 1 653 0
+ 757 0004 43D0 beq .L63
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 758 .loc 1 662 0
+ 759 0006 836B ldr r3, [r0, #56]
+ 760 0008 0222 movs r2, #2
+ 761 000a 1343 orrs r3, r2
+ 762 000c 8363 str r3, [r0, #56]
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 763 .loc 1 665 0
+ 764 000e FFF7FEFF bl ADC_ConversionStop
+ 765 .LVL57:
+ 766 0012 051E subs r5, r0, #0
+ 767 .LVL58:
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 768 .loc 1 668 0
+ 769 0014 06D0 beq .L64
+ 770 .LVL59:
+ 771 .L61:
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 772 .loc 1 684 0
+ 773 0016 012D cmp r5, #1
+ 774 0018 0DD1 bne .L65
+ 775 .L62:
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 776 .loc 1 762 0
+ 777 001a 3423 movs r3, #52
+ 778 001c 0022 movs r2, #0
+ 779 001e E254 strb r2, [r4, r3]
+ 780 .LVL60:
+ 781 .L60:
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 782 .loc 1 766 0
+ 783 0020 2800 movs r0, r5
+ 784 @ sp needed
+ 785 .LVL61:
+ 786 0022 70BD pop {r4, r5, r6, pc}
+ 787 .LVL62:
+ 788 .L64:
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 789 .loc 1 671 0
+ 790 0024 2000 movs r0, r4
+ 791 .LVL63:
+ 792 0026 FFF7FEFF bl ADC_Disable
+ 793 .LVL64:
+ 794 002a 0500 movs r5, r0
+ 795 .LVL65:
+ ARM GAS /tmp/ccnlUpWq.s page 58
+
+
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 796 .loc 1 674 0
+ 797 002c 0128 cmp r0, #1
+ 798 002e F2D0 beq .L61
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 799 .loc 1 677 0
+ 800 0030 0123 movs r3, #1
+ 801 0032 A363 str r3, [r4, #56]
+ 802 0034 EFE7 b .L61
+ 803 .LVL66:
+ 804 .L65:
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_IT_EOS | ADC_IT_EOC |
+ 805 .loc 1 689 0
+ 806 0036 2168 ldr r1, [r4]
+ 807 0038 4B68 ldr r3, [r1, #4]
+ 808 003a 9F22 movs r2, #159
+ 809 003c 9343 bics r3, r2
+ 810 003e 4B60 str r3, [r1, #4]
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_FLAG_EOS | ADC_FLAG_EOC |
+ 811 .loc 1 694 0
+ 812 0040 2368 ldr r3, [r4]
+ 813 0042 1A60 str r2, [r3]
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AUTOFF | ADC_CFGR1_WAIT | ADC_CFGR1_CONT | ADC_CFGR1_
+ 814 .loc 1 703 0
+ 815 0044 2268 ldr r2, [r4]
+ 816 0046 D368 ldr r3, [r2, #12]
+ 817 0048 1249 ldr r1, .L66
+ 818 004a 0B40 ands r3, r1
+ 819 004c D360 str r3, [r2, #12]
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 820 .loc 1 711 0
+ 821 004e 2268 ldr r2, [r4]
+ 822 0050 1369 ldr r3, [r2, #16]
+ 823 0052 9B00 lsls r3, r3, #2
+ 824 0054 9B08 lsrs r3, r3, #2
+ 825 0056 1361 str r3, [r2, #16]
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 826 .loc 1 714 0
+ 827 0058 2268 ldr r2, [r4]
+ 828 005a 5369 ldr r3, [r2, #20]
+ 829 005c 0721 movs r1, #7
+ 830 005e 8B43 bics r3, r1
+ 831 0060 5361 str r3, [r2, #20]
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 832 .loc 1 717 0
+ 833 0062 2268 ldr r2, [r4]
+ 834 0064 136A ldr r3, [r2, #32]
+ 835 0066 0C49 ldr r1, .L66+4
+ 836 0068 0B40 ands r3, r1
+ 837 006a 1362 str r3, [r2, #32]
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CHSELR_CHSEL15 | ADC_CHSELR_CHSEL14 | ADC_CHSELR_CHSEL13 | ADC_
+ 838 .loc 1 720 0
+ 839 006c 2268 ldr r2, [r4]
+ 840 006e 936A ldr r3, [r2, #40]
+ 841 0070 DB0C lsrs r3, r3, #19
+ 842 0072 DB04 lsls r3, r3, #19
+ 843 0074 9362 str r3, [r2, #40]
+ ARM GAS /tmp/ccnlUpWq.s page 59
+
+
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 844 .loc 1 730 0
+ 845 0076 094A ldr r2, .L66+8
+ 846 0078 1368 ldr r3, [r2]
+ 847 007a 0949 ldr r1, .L66+12
+ 848 007c 0B40 ands r3, r1
+ 849 007e 1360 str r3, [r2]
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 850 .loc 1 751 0
+ 851 0080 2000 movs r0, r4
+ 852 0082 FFF7FEFF bl HAL_ADC_MspDeInit
+ 853 .LVL67:
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 854 .loc 1 755 0
+ 855 0086 0023 movs r3, #0
+ 856 0088 E363 str r3, [r4, #60]
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 857 .loc 1 758 0
+ 858 008a A363 str r3, [r4, #56]
+ 859 008c C5E7 b .L62
+ 860 .LVL68:
+ 861 .L63:
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 862 .loc 1 655 0
+ 863 008e 0125 movs r5, #1
+ 864 0090 C6E7 b .L60
+ 865 .L67:
+ 866 0092 C046 .align 2
+ 867 .L66:
+ 868 0094 00023E83 .word -2093088256
+ 869 0098 00F000F0 .word -268374016
+ 870 009c 08270140 .word 1073817352
+ 871 00a0 FFFF3FFE .word -29360129
+ 872 .cfi_endproc
+ 873 .LFE41:
+ 875 .section .text.HAL_ADC_Start,"ax",%progbits
+ 876 .align 1
+ 877 .global HAL_ADC_Start
+ 878 .syntax unified
+ 879 .code 16
+ 880 .thumb_func
+ 881 .fpu softvfp
+ 883 HAL_ADC_Start:
+ 884 .LFB44:
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 885 .loc 1 1028 0
+ 886 .cfi_startproc
+ 887 @ args = 0, pretend = 0, frame = 0
+ 888 @ frame_needed = 0, uses_anonymous_args = 0
+ 889 .LVL69:
+ 890 0000 10B5 push {r4, lr}
+ 891 .LCFI6:
+ 892 .cfi_def_cfa_offset 8
+ 893 .cfi_offset 4, -8
+ 894 .cfi_offset 14, -4
+ 895 0002 0400 movs r4, r0
+ 896 .LVL70:
+ ARM GAS /tmp/ccnlUpWq.s page 60
+
+
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 897 .loc 1 1035 0
+ 898 0004 0368 ldr r3, [r0]
+ 899 0006 9B68 ldr r3, [r3, #8]
+ 900 0008 5B07 lsls r3, r3, #29
+ 901 000a 23D4 bmi .L71
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 902 .loc 1 1038 0
+ 903 000c 3423 movs r3, #52
+ 904 000e C35C ldrb r3, [r0, r3]
+ 905 0010 012B cmp r3, #1
+ 906 0012 21D0 beq .L72
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 907 .loc 1 1038 0 is_stmt 0 discriminator 2
+ 908 0014 3423 movs r3, #52
+ 909 0016 0122 movs r2, #1
+ 910 0018 C254 strb r2, [r0, r3]
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 911 .loc 1 1043 0 is_stmt 1 discriminator 2
+ 912 001a 437E ldrb r3, [r0, #25]
+ 913 001c 012B cmp r3, #1
+ 914 001e 14D1 bne .L74
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 915 .loc 1 1029 0
+ 916 0020 0020 movs r0, #0
+ 917 .LVL71:
+ 918 .L70:
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+ 919 .loc 1 1054 0
+ 920 0022 A36B ldr r3, [r4, #56]
+ 921 0024 0D4A ldr r2, .L75
+ 922 0026 1A40 ands r2, r3
+ 923 0028 8023 movs r3, #128
+ 924 002a 5B00 lsls r3, r3, #1
+ 925 002c 1343 orrs r3, r2
+ 926 002e A363 str r3, [r4, #56]
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 927 .loc 1 1059 0
+ 928 0030 0023 movs r3, #0
+ 929 0032 E363 str r3, [r4, #60]
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 930 .loc 1 1064 0
+ 931 0034 3422 movs r2, #52
+ 932 0036 A354 strb r3, [r4, r2]
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 933 .loc 1 1069 0
+ 934 0038 2368 ldr r3, [r4]
+ 935 003a 183A subs r2, r2, #24
+ 936 003c 1A60 str r2, [r3]
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 937 .loc 1 1075 0
+ 938 003e 2268 ldr r2, [r4]
+ 939 0040 9368 ldr r3, [r2, #8]
+ 940 0042 0421 movs r1, #4
+ 941 0044 0B43 orrs r3, r1
+ 942 0046 9360 str r3, [r2, #8]
+ 943 .L69:
+ ARM GAS /tmp/ccnlUpWq.s page 61
+
+
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 944 .loc 1 1085 0
+ 945 @ sp needed
+ 946 .LVL72:
+ 947 0048 10BD pop {r4, pc}
+ 948 .LVL73:
+ 949 .L74:
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 950 .loc 1 1045 0
+ 951 004a FFF7FEFF bl ADC_Enable
+ 952 .LVL74:
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 953 .loc 1 1049 0
+ 954 004e 0028 cmp r0, #0
+ 955 0050 E7D0 beq .L70
+ 956 0052 F9E7 b .L69
+ 957 .LVL75:
+ 958 .L71:
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 959 .loc 1 1080 0
+ 960 0054 0220 movs r0, #2
+ 961 .LVL76:
+ 962 0056 F7E7 b .L69
+ 963 .LVL77:
+ 964 .L72:
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 965 .loc 1 1038 0
+ 966 0058 0220 movs r0, #2
+ 967 .LVL78:
+ 968 005a F5E7 b .L69
+ 969 .L76:
+ 970 .align 2
+ 971 .L75:
+ 972 005c FEF0FFFF .word -3842
+ 973 .cfi_endproc
+ 974 .LFE44:
+ 976 .section .text.HAL_ADC_Stop,"ax",%progbits
+ 977 .align 1
+ 978 .global HAL_ADC_Stop
+ 979 .syntax unified
+ 980 .code 16
+ 981 .thumb_func
+ 982 .fpu softvfp
+ 984 HAL_ADC_Stop:
+ 985 .LFB45:
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 986 .loc 1 1093 0
+ 987 .cfi_startproc
+ 988 @ args = 0, pretend = 0, frame = 0
+ 989 @ frame_needed = 0, uses_anonymous_args = 0
+ 990 .LVL79:
+ 991 0000 10B5 push {r4, lr}
+ 992 .LCFI7:
+ 993 .cfi_def_cfa_offset 8
+ 994 .cfi_offset 4, -8
+ 995 .cfi_offset 14, -4
+ 996 0002 0400 movs r4, r0
+ ARM GAS /tmp/ccnlUpWq.s page 62
+
+
+ 997 .LVL80:
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 998 .loc 1 1100 0
+ 999 0004 3423 movs r3, #52
+ 1000 0006 C35C ldrb r3, [r0, r3]
+ 1001 0008 012B cmp r3, #1
+ 1002 000a 17D0 beq .L80
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1003 .loc 1 1100 0 is_stmt 0 discriminator 2
+ 1004 000c 3423 movs r3, #52
+ 1005 000e 0122 movs r2, #1
+ 1006 0010 C254 strb r2, [r0, r3]
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1007 .loc 1 1103 0 is_stmt 1 discriminator 2
+ 1008 0012 FFF7FEFF bl ADC_ConversionStop
+ 1009 .LVL81:
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1010 .loc 1 1106 0 discriminator 2
+ 1011 0016 0028 cmp r0, #0
+ 1012 0018 03D0 beq .L81
+ 1013 .LVL82:
+ 1014 .L79:
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1015 .loc 1 1122 0
+ 1016 001a 3423 movs r3, #52
+ 1017 001c 0022 movs r2, #0
+ 1018 001e E254 strb r2, [r4, r3]
+ 1019 .LVL83:
+ 1020 .L78:
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1021 .loc 1 1126 0
+ 1022 @ sp needed
+ 1023 .LVL84:
+ 1024 0020 10BD pop {r4, pc}
+ 1025 .LVL85:
+ 1026 .L81:
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1027 .loc 1 1109 0
+ 1028 0022 2000 movs r0, r4
+ 1029 .LVL86:
+ 1030 0024 FFF7FEFF bl ADC_Disable
+ 1031 .LVL87:
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1032 .loc 1 1112 0
+ 1033 0028 0028 cmp r0, #0
+ 1034 002a F6D1 bne .L79
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 1035 .loc 1 1115 0
+ 1036 002c A36B ldr r3, [r4, #56]
+ 1037 002e 044A ldr r2, .L82
+ 1038 0030 1340 ands r3, r2
+ 1039 0032 0432 adds r2, r2, #4
+ 1040 0034 FF32 adds r2, r2, #255
+ 1041 0036 1343 orrs r3, r2
+ 1042 0038 A363 str r3, [r4, #56]
+ 1043 003a EEE7 b .L79
+ 1044 .LVL88:
+ ARM GAS /tmp/ccnlUpWq.s page 63
+
+
+ 1045 .L80:
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1046 .loc 1 1100 0
+ 1047 003c 0220 movs r0, #2
+ 1048 .LVL89:
+ 1049 003e EFE7 b .L78
+ 1050 .L83:
+ 1051 .align 2
+ 1052 .L82:
+ 1053 0040 FEFEFFFF .word -258
+ 1054 .cfi_endproc
+ 1055 .LFE45:
+ 1057 .section .text.HAL_ADC_PollForConversion,"ax",%progbits
+ 1058 .align 1
+ 1059 .global HAL_ADC_PollForConversion
+ 1060 .syntax unified
+ 1061 .code 16
+ 1062 .thumb_func
+ 1063 .fpu softvfp
+ 1065 HAL_ADC_PollForConversion:
+ 1066 .LFB46:
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart;
+ 1067 .loc 1 1147 0
+ 1068 .cfi_startproc
+ 1069 @ args = 0, pretend = 0, frame = 0
+ 1070 @ frame_needed = 0, uses_anonymous_args = 0
+ 1071 .LVL90:
+ 1072 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 1073 .LCFI8:
+ 1074 .cfi_def_cfa_offset 24
+ 1075 .cfi_offset 3, -24
+ 1076 .cfi_offset 4, -20
+ 1077 .cfi_offset 5, -16
+ 1078 .cfi_offset 6, -12
+ 1079 .cfi_offset 7, -8
+ 1080 .cfi_offset 14, -4
+ 1081 0002 0400 movs r4, r0
+ 1082 0004 0D00 movs r5, r1
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1083 .loc 1 1155 0
+ 1084 0006 4369 ldr r3, [r0, #20]
+ 1085 0008 082B cmp r3, #8
+ 1086 000a 26D0 beq .L93
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1087 .loc 1 1168 0
+ 1088 000c 0368 ldr r3, [r0]
+ 1089 000e DB68 ldr r3, [r3, #12]
+ 1090 0010 DB07 lsls r3, r3, #31
+ 1091 0012 19D4 bmi .L96
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1092 .loc 1 1180 0
+ 1093 0014 0C26 movs r6, #12
+ 1094 .L85:
+ 1095 .LVL91:
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1096 .loc 1 1185 0
+ 1097 0016 FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccnlUpWq.s page 64
+
+
+ 1098 .LVL92:
+ 1099 001a 0700 movs r7, r0
+ 1100 .LVL93:
+ 1101 .L88:
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1102 .loc 1 1188 0
+ 1103 001c 2368 ldr r3, [r4]
+ 1104 001e 1A68 ldr r2, [r3]
+ 1105 0020 1642 tst r6, r2
+ 1106 0022 1CD1 bne .L97
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1107 .loc 1 1191 0
+ 1108 0024 6B1C adds r3, r5, #1
+ 1109 0026 F9D0 beq .L88
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1110 .loc 1 1193 0
+ 1111 0028 002D cmp r5, #0
+ 1112 002a 04D0 beq .L89
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1113 .loc 1 1193 0 is_stmt 0 discriminator 1
+ 1114 002c FFF7FEFF bl HAL_GetTick
+ 1115 .LVL94:
+ 1116 0030 C01B subs r0, r0, r7
+ 1117 0032 A842 cmp r0, r5
+ 1118 0034 F2D9 bls .L88
+ 1119 .L89:
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1120 .loc 1 1196 0 is_stmt 1
+ 1121 0036 A36B ldr r3, [r4, #56]
+ 1122 0038 0422 movs r2, #4
+ 1123 003a 1343 orrs r3, r2
+ 1124 003c A363 str r3, [r4, #56]
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1125 .loc 1 1199 0
+ 1126 003e 3423 movs r3, #52
+ 1127 0040 0022 movs r2, #0
+ 1128 0042 E254 strb r2, [r4, r3]
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1129 .loc 1 1201 0
+ 1130 0044 0320 movs r0, #3
+ 1131 0046 07E0 b .L86
+ 1132 .LVL95:
+ 1133 .L96:
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1134 .loc 1 1171 0
+ 1135 0048 836B ldr r3, [r0, #56]
+ 1136 004a 2022 movs r2, #32
+ 1137 004c 1343 orrs r3, r2
+ 1138 004e 8363 str r3, [r0, #56]
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1139 .loc 1 1174 0
+ 1140 0050 3423 movs r3, #52
+ 1141 0052 0022 movs r2, #0
+ 1142 0054 C254 strb r2, [r0, r3]
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1143 .loc 1 1176 0
+ 1144 0056 0120 movs r0, #1
+ ARM GAS /tmp/ccnlUpWq.s page 65
+
+
+ 1145 .LVL96:
+ 1146 .L86:
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1147 .loc 1 1254 0
+ 1148 @ sp needed
+ 1149 .LVL97:
+ 1150 .LVL98:
+ 1151 0058 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 1152 .LVL99:
+ 1153 .L93:
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1154 .loc 1 1157 0
+ 1155 005a 0826 movs r6, #8
+ 1156 005c DBE7 b .L85
+ 1157 .LVL100:
+ 1158 .L97:
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1159 .loc 1 1207 0
+ 1160 005e A16B ldr r1, [r4, #56]
+ 1161 0060 8022 movs r2, #128
+ 1162 0062 9200 lsls r2, r2, #2
+ 1163 0064 0A43 orrs r2, r1
+ 1164 0066 A263 str r2, [r4, #56]
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 1165 .loc 1 1211 0
+ 1166 0068 D968 ldr r1, [r3, #12]
+ 1167 006a C022 movs r2, #192
+ 1168 006c 1201 lsls r2, r2, #4
+ 1169 006e 1142 tst r1, r2
+ 1170 0070 13D1 bne .L91
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1171 .loc 1 1212 0 discriminator 1
+ 1172 0072 A27E ldrb r2, [r4, #26]
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 1173 .loc 1 1211 0 discriminator 1
+ 1174 0074 002A cmp r2, #0
+ 1175 0076 10D1 bne .L91
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1176 .loc 1 1215 0
+ 1177 0078 1A68 ldr r2, [r3]
+ 1178 007a 1207 lsls r2, r2, #28
+ 1179 007c 0DD5 bpl .L91
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1180 .loc 1 1219 0
+ 1181 007e 9A68 ldr r2, [r3, #8]
+ 1182 0080 5207 lsls r2, r2, #29
+ 1183 0082 12D4 bmi .L92
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1184 .loc 1 1225 0
+ 1185 0084 5A68 ldr r2, [r3, #4]
+ 1186 0086 0C21 movs r1, #12
+ 1187 0088 8A43 bics r2, r1
+ 1188 008a 5A60 str r2, [r3, #4]
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 1189 .loc 1 1228 0
+ 1190 008c A36B ldr r3, [r4, #56]
+ 1191 008e 0C4A ldr r2, .L98
+ ARM GAS /tmp/ccnlUpWq.s page 66
+
+
+ 1192 0090 1340 ands r3, r2
+ 1193 0092 0432 adds r2, r2, #4
+ 1194 0094 FF32 adds r2, r2, #255
+ 1195 0096 1343 orrs r3, r2
+ 1196 0098 A363 str r3, [r4, #56]
+ 1197 .L91:
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1198 .loc 1 1246 0
+ 1199 009a 237E ldrb r3, [r4, #24]
+ 1200 009c 002B cmp r3, #0
+ 1201 009e 0DD1 bne .L95
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1202 .loc 1 1249 0
+ 1203 00a0 2368 ldr r3, [r4]
+ 1204 00a2 0C22 movs r2, #12
+ 1205 00a4 1A60 str r2, [r3]
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1206 .loc 1 1253 0
+ 1207 00a6 0020 movs r0, #0
+ 1208 00a8 D6E7 b .L86
+ 1209 .L92:
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1210 .loc 1 1235 0
+ 1211 00aa A36B ldr r3, [r4, #56]
+ 1212 00ac 2022 movs r2, #32
+ 1213 00ae 1343 orrs r3, r2
+ 1214 00b0 A363 str r3, [r4, #56]
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1215 .loc 1 1238 0
+ 1216 00b2 E36B ldr r3, [r4, #60]
+ 1217 00b4 1F3A subs r2, r2, #31
+ 1218 00b6 1343 orrs r3, r2
+ 1219 00b8 E363 str r3, [r4, #60]
+ 1220 00ba EEE7 b .L91
+ 1221 .L95:
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1222 .loc 1 1253 0
+ 1223 00bc 0020 movs r0, #0
+ 1224 00be CBE7 b .L86
+ 1225 .L99:
+ 1226 .align 2
+ 1227 .L98:
+ 1228 00c0 FEFEFFFF .word -258
+ 1229 .cfi_endproc
+ 1230 .LFE46:
+ 1232 .section .text.HAL_ADC_PollForEvent,"ax",%progbits
+ 1233 .align 1
+ 1234 .global HAL_ADC_PollForEvent
+ 1235 .syntax unified
+ 1236 .code 16
+ 1237 .thumb_func
+ 1238 .fpu softvfp
+ 1240 HAL_ADC_PollForEvent:
+ 1241 .LFB47:
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** uint32_t tickstart=0;
+ 1242 .loc 1 1267 0
+ 1243 .cfi_startproc
+ ARM GAS /tmp/ccnlUpWq.s page 67
+
+
+ 1244 @ args = 0, pretend = 0, frame = 0
+ 1245 @ frame_needed = 0, uses_anonymous_args = 0
+ 1246 .LVL101:
+ 1247 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 1248 .LCFI9:
+ 1249 .cfi_def_cfa_offset 24
+ 1250 .cfi_offset 3, -24
+ 1251 .cfi_offset 4, -20
+ 1252 .cfi_offset 5, -16
+ 1253 .cfi_offset 6, -12
+ 1254 .cfi_offset 7, -8
+ 1255 .cfi_offset 14, -4
+ 1256 0002 0500 movs r5, r0
+ 1257 0004 0C00 movs r4, r1
+ 1258 0006 1600 movs r6, r2
+ 1259 .LVL102:
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1260 .loc 1 1275 0
+ 1261 0008 FFF7FEFF bl HAL_GetTick
+ 1262 .LVL103:
+ 1263 000c 0700 movs r7, r0
+ 1264 .LVL104:
+ 1265 .L102:
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1266 .loc 1 1278 0
+ 1267 000e 2A68 ldr r2, [r5]
+ 1268 0010 1368 ldr r3, [r2]
+ 1269 0012 2340 ands r3, r4
+ 1270 0014 A342 cmp r3, r4
+ 1271 0016 11D0 beq .L110
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1272 .loc 1 1281 0
+ 1273 0018 731C adds r3, r6, #1
+ 1274 001a F8D0 beq .L102
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1275 .loc 1 1283 0
+ 1276 001c 002E cmp r6, #0
+ 1277 001e 04D0 beq .L103
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1278 .loc 1 1283 0 is_stmt 0 discriminator 1
+ 1279 0020 FFF7FEFF bl HAL_GetTick
+ 1280 .LVL105:
+ 1281 0024 C01B subs r0, r0, r7
+ 1282 0026 B042 cmp r0, r6
+ 1283 0028 F1D9 bls .L102
+ 1284 .L103:
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1285 .loc 1 1286 0 is_stmt 1
+ 1286 002a AB6B ldr r3, [r5, #56]
+ 1287 002c 0422 movs r2, #4
+ 1288 002e 1343 orrs r3, r2
+ 1289 0030 AB63 str r3, [r5, #56]
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1290 .loc 1 1289 0
+ 1291 0032 3423 movs r3, #52
+ 1292 0034 0022 movs r2, #0
+ 1293 0036 EA54 strb r2, [r5, r3]
+ ARM GAS /tmp/ccnlUpWq.s page 68
+
+
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1294 .loc 1 1291 0
+ 1295 0038 0320 movs r0, #3
+ 1296 003a 07E0 b .L104
+ 1297 .L110:
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1298 .loc 1 1296 0
+ 1299 003c 802C cmp r4, #128
+ 1300 003e 06D0 beq .L111
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1301 .loc 1 1313 0
+ 1302 0040 AB6A ldr r3, [r5, #40]
+ 1303 0042 012B cmp r3, #1
+ 1304 0044 0CD0 beq .L112
+ 1305 .L108:
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 1306 .loc 1 1323 0
+ 1307 0046 1023 movs r3, #16
+ 1308 0048 1360 str r3, [r2]
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1309 .loc 1 1328 0
+ 1310 004a 0020 movs r0, #0
+ 1311 .L104:
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1312 .loc 1 1329 0
+ 1313 @ sp needed
+ 1314 .LVL106:
+ 1315 .LVL107:
+ 1316 .LVL108:
+ 1317 .LVL109:
+ 1318 004c F8BD pop {r3, r4, r5, r6, r7, pc}
+ 1319 .LVL110:
+ 1320 .L111:
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1321 .loc 1 1301 0
+ 1322 004e A96B ldr r1, [r5, #56]
+ 1323 0050 8023 movs r3, #128
+ 1324 0052 5B02 lsls r3, r3, #9
+ 1325 0054 0B43 orrs r3, r1
+ 1326 0056 AB63 str r3, [r5, #56]
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 1327 .loc 1 1304 0
+ 1328 0058 8023 movs r3, #128
+ 1329 005a 1360 str r3, [r2]
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1330 .loc 1 1328 0
+ 1331 005c 0020 movs r0, #0
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1332 .loc 1 1305 0
+ 1333 005e F5E7 b .L104
+ 1334 .L112:
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1335 .loc 1 1316 0
+ 1336 0060 A96B ldr r1, [r5, #56]
+ 1337 0062 8023 movs r3, #128
+ 1338 0064 DB00 lsls r3, r3, #3
+ 1339 0066 0B43 orrs r3, r1
+ ARM GAS /tmp/ccnlUpWq.s page 69
+
+
+ 1340 0068 AB63 str r3, [r5, #56]
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1341 .loc 1 1319 0
+ 1342 006a EB6B ldr r3, [r5, #60]
+ 1343 006c 0221 movs r1, #2
+ 1344 006e 0B43 orrs r3, r1
+ 1345 0070 EB63 str r3, [r5, #60]
+ 1346 0072 E8E7 b .L108
+ 1347 .cfi_endproc
+ 1348 .LFE47:
+ 1350 .section .text.HAL_ADC_Start_IT,"ax",%progbits
+ 1351 .align 1
+ 1352 .global HAL_ADC_Start_IT
+ 1353 .syntax unified
+ 1354 .code 16
+ 1355 .thumb_func
+ 1356 .fpu softvfp
+ 1358 HAL_ADC_Start_IT:
+ 1359 .LFB48:
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 1360 .loc 1 1343 0
+ 1361 .cfi_startproc
+ 1362 @ args = 0, pretend = 0, frame = 0
+ 1363 @ frame_needed = 0, uses_anonymous_args = 0
+ 1364 .LVL111:
+ 1365 0000 10B5 push {r4, lr}
+ 1366 .LCFI10:
+ 1367 .cfi_def_cfa_offset 8
+ 1368 .cfi_offset 4, -8
+ 1369 .cfi_offset 14, -4
+ 1370 0002 0400 movs r4, r0
+ 1371 .LVL112:
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1372 .loc 1 1350 0
+ 1373 0004 0368 ldr r3, [r0]
+ 1374 0006 9B68 ldr r3, [r3, #8]
+ 1375 0008 5B07 lsls r3, r3, #29
+ 1376 000a 36D4 bmi .L119
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1377 .loc 1 1353 0
+ 1378 000c 3423 movs r3, #52
+ 1379 000e C35C ldrb r3, [r0, r3]
+ 1380 0010 012B cmp r3, #1
+ 1381 0012 34D0 beq .L120
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1382 .loc 1 1353 0 is_stmt 0 discriminator 2
+ 1383 0014 3423 movs r3, #52
+ 1384 0016 0122 movs r2, #1
+ 1385 0018 C254 strb r2, [r0, r3]
+1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1386 .loc 1 1358 0 is_stmt 1 discriminator 2
+ 1387 001a 437E ldrb r3, [r0, #25]
+ 1388 001c 012B cmp r3, #1
+ 1389 001e 21D1 bne .L123
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1390 .loc 1 1344 0
+ 1391 0020 0020 movs r0, #0
+ ARM GAS /tmp/ccnlUpWq.s page 70
+
+
+ 1392 .LVL113:
+ 1393 .L115:
+1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+ 1394 .loc 1 1369 0
+ 1395 0022 A36B ldr r3, [r4, #56]
+ 1396 0024 174A ldr r2, .L124
+ 1397 0026 1A40 ands r2, r3
+ 1398 0028 8023 movs r3, #128
+ 1399 002a 5B00 lsls r3, r3, #1
+ 1400 002c 1343 orrs r3, r2
+ 1401 002e A363 str r3, [r4, #56]
+1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1402 .loc 1 1374 0
+ 1403 0030 0023 movs r3, #0
+ 1404 0032 E363 str r3, [r4, #60]
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1405 .loc 1 1379 0
+ 1406 0034 3422 movs r2, #52
+ 1407 0036 A354 strb r3, [r4, r2]
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1408 .loc 1 1384 0
+ 1409 0038 2368 ldr r3, [r4]
+ 1410 003a 183A subs r2, r2, #24
+ 1411 003c 1A60 str r2, [r3]
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1412 .loc 1 1388 0
+ 1413 003e 6369 ldr r3, [r4, #20]
+ 1414 0040 082B cmp r3, #8
+ 1415 0042 14D1 bne .L122
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_ENABLE_IT(hadc, (ADC_IT_EOS | ADC_IT_OVR));
+ 1416 .loc 1 1391 0
+ 1417 0044 2268 ldr r2, [r4]
+ 1418 0046 5368 ldr r3, [r2, #4]
+ 1419 0048 0421 movs r1, #4
+ 1420 004a 8B43 bics r3, r1
+ 1421 004c 5360 str r3, [r2, #4]
+1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 1422 .loc 1 1392 0
+ 1423 004e 2268 ldr r2, [r4]
+ 1424 0050 5368 ldr r3, [r2, #4]
+ 1425 0052 1431 adds r1, r1, #20
+ 1426 0054 0B43 orrs r3, r1
+ 1427 0056 5360 str r3, [r2, #4]
+ 1428 .L118:
+1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1429 .loc 1 1404 0
+ 1430 0058 2268 ldr r2, [r4]
+ 1431 005a 9368 ldr r3, [r2, #8]
+ 1432 005c 0421 movs r1, #4
+ 1433 005e 0B43 orrs r3, r1
+ 1434 0060 9360 str r3, [r2, #8]
+ 1435 .L114:
+1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1436 .loc 1 1414 0
+ 1437 @ sp needed
+ 1438 .LVL114:
+ 1439 0062 10BD pop {r4, pc}
+ ARM GAS /tmp/ccnlUpWq.s page 71
+
+
+ 1440 .LVL115:
+ 1441 .L123:
+1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1442 .loc 1 1360 0
+ 1443 0064 FFF7FEFF bl ADC_Enable
+ 1444 .LVL116:
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1445 .loc 1 1364 0
+ 1446 0068 0028 cmp r0, #0
+ 1447 006a DAD0 beq .L115
+ 1448 006c F9E7 b .L114
+ 1449 .LVL117:
+ 1450 .L122:
+1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** break;
+ 1451 .loc 1 1396 0
+ 1452 006e 2268 ldr r2, [r4]
+ 1453 0070 5368 ldr r3, [r2, #4]
+ 1454 0072 1C21 movs r1, #28
+ 1455 0074 0B43 orrs r3, r1
+ 1456 0076 5360 str r3, [r2, #4]
+1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1457 .loc 1 1397 0
+ 1458 0078 EEE7 b .L118
+ 1459 .LVL118:
+ 1460 .L119:
+1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1461 .loc 1 1409 0
+ 1462 007a 0220 movs r0, #2
+ 1463 .LVL119:
+ 1464 007c F1E7 b .L114
+ 1465 .LVL120:
+ 1466 .L120:
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1467 .loc 1 1353 0
+ 1468 007e 0220 movs r0, #2
+ 1469 .LVL121:
+ 1470 0080 EFE7 b .L114
+ 1471 .L125:
+ 1472 0082 C046 .align 2
+ 1473 .L124:
+ 1474 0084 FEF0FFFF .word -3842
+ 1475 .cfi_endproc
+ 1476 .LFE48:
+ 1478 .section .text.HAL_ADC_Stop_IT,"ax",%progbits
+ 1479 .align 1
+ 1480 .global HAL_ADC_Stop_IT
+ 1481 .syntax unified
+ 1482 .code 16
+ 1483 .thumb_func
+ 1484 .fpu softvfp
+ 1486 HAL_ADC_Stop_IT:
+ 1487 .LFB49:
+1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 1488 .loc 1 1424 0
+ 1489 .cfi_startproc
+ 1490 @ args = 0, pretend = 0, frame = 0
+ 1491 @ frame_needed = 0, uses_anonymous_args = 0
+ ARM GAS /tmp/ccnlUpWq.s page 72
+
+
+ 1492 .LVL122:
+ 1493 0000 10B5 push {r4, lr}
+ 1494 .LCFI11:
+ 1495 .cfi_def_cfa_offset 8
+ 1496 .cfi_offset 4, -8
+ 1497 .cfi_offset 14, -4
+ 1498 0002 0400 movs r4, r0
+ 1499 .LVL123:
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1500 .loc 1 1431 0
+ 1501 0004 3423 movs r3, #52
+ 1502 0006 C35C ldrb r3, [r0, r3]
+ 1503 0008 012B cmp r3, #1
+ 1504 000a 1CD0 beq .L129
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1505 .loc 1 1431 0 is_stmt 0 discriminator 2
+ 1506 000c 3423 movs r3, #52
+ 1507 000e 0122 movs r2, #1
+ 1508 0010 C254 strb r2, [r0, r3]
+1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1509 .loc 1 1434 0 is_stmt 1 discriminator 2
+ 1510 0012 FFF7FEFF bl ADC_ConversionStop
+ 1511 .LVL124:
+1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1512 .loc 1 1437 0 discriminator 2
+ 1513 0016 0028 cmp r0, #0
+ 1514 0018 03D0 beq .L130
+ 1515 .LVL125:
+ 1516 .L128:
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1517 .loc 1 1457 0
+ 1518 001a 3423 movs r3, #52
+ 1519 001c 0022 movs r2, #0
+ 1520 001e E254 strb r2, [r4, r3]
+ 1521 .LVL126:
+ 1522 .L127:
+1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1523 .loc 1 1461 0
+ 1524 @ sp needed
+ 1525 .LVL127:
+ 1526 0020 10BD pop {r4, pc}
+ 1527 .LVL128:
+ 1528 .L130:
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1529 .loc 1 1441 0
+ 1530 0022 2268 ldr r2, [r4]
+ 1531 0024 5368 ldr r3, [r2, #4]
+ 1532 0026 1C21 movs r1, #28
+ 1533 0028 8B43 bics r3, r1
+ 1534 002a 5360 str r3, [r2, #4]
+1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1535 .loc 1 1444 0
+ 1536 002c 2000 movs r0, r4
+ 1537 .LVL129:
+ 1538 002e FFF7FEFF bl ADC_Disable
+ 1539 .LVL130:
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ ARM GAS /tmp/ccnlUpWq.s page 73
+
+
+ 1540 .loc 1 1447 0
+ 1541 0032 0028 cmp r0, #0
+ 1542 0034 F1D1 bne .L128
+1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 1543 .loc 1 1450 0
+ 1544 0036 A36B ldr r3, [r4, #56]
+ 1545 0038 044A ldr r2, .L131
+ 1546 003a 1340 ands r3, r2
+ 1547 003c 0432 adds r2, r2, #4
+ 1548 003e FF32 adds r2, r2, #255
+ 1549 0040 1343 orrs r3, r2
+ 1550 0042 A363 str r3, [r4, #56]
+ 1551 0044 E9E7 b .L128
+ 1552 .LVL131:
+ 1553 .L129:
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1554 .loc 1 1431 0
+ 1555 0046 0220 movs r0, #2
+ 1556 .LVL132:
+ 1557 0048 EAE7 b .L127
+ 1558 .L132:
+ 1559 004a C046 .align 2
+ 1560 .L131:
+ 1561 004c FEFEFFFF .word -258
+ 1562 .cfi_endproc
+ 1563 .LFE49:
+ 1565 .section .text.HAL_ADC_Start_DMA,"ax",%progbits
+ 1566 .align 1
+ 1567 .global HAL_ADC_Start_DMA
+ 1568 .syntax unified
+ 1569 .code 16
+ 1570 .thumb_func
+ 1571 .fpu softvfp
+ 1573 HAL_ADC_Start_DMA:
+ 1574 .LFB50:
+1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 1575 .loc 1 1477 0
+ 1576 .cfi_startproc
+ 1577 @ args = 0, pretend = 0, frame = 0
+ 1578 @ frame_needed = 0, uses_anonymous_args = 0
+ 1579 .LVL133:
+ 1580 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 1581 .LCFI12:
+ 1582 .cfi_def_cfa_offset 24
+ 1583 .cfi_offset 3, -24
+ 1584 .cfi_offset 4, -20
+ 1585 .cfi_offset 5, -16
+ 1586 .cfi_offset 6, -12
+ 1587 .cfi_offset 7, -8
+ 1588 .cfi_offset 14, -4
+ 1589 0002 0400 movs r4, r0
+ 1590 0004 0E00 movs r6, r1
+ 1591 0006 1700 movs r7, r2
+ 1592 .LVL134:
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1593 .loc 1 1484 0
+ 1594 0008 0368 ldr r3, [r0]
+ ARM GAS /tmp/ccnlUpWq.s page 74
+
+
+ 1595 000a 9B68 ldr r3, [r3, #8]
+ 1596 000c 5B07 lsls r3, r3, #29
+ 1597 000e 3ED4 bmi .L136
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1598 .loc 1 1487 0
+ 1599 0010 3423 movs r3, #52
+ 1600 0012 C35C ldrb r3, [r0, r3]
+ 1601 0014 012B cmp r3, #1
+ 1602 0016 3CD0 beq .L137
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1603 .loc 1 1487 0 is_stmt 0 discriminator 2
+ 1604 0018 3423 movs r3, #52
+ 1605 001a 0122 movs r2, #1
+ 1606 .LVL135:
+ 1607 001c C254 strb r2, [r0, r3]
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1608 .loc 1 1492 0 is_stmt 1 discriminator 2
+ 1609 001e 437E ldrb r3, [r0, #25]
+ 1610 0020 012B cmp r3, #1
+ 1611 0022 32D0 beq .L138
+1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1612 .loc 1 1494 0
+ 1613 0024 FFF7FEFF bl ADC_Enable
+ 1614 .LVL136:
+ 1615 0028 051E subs r5, r0, #0
+ 1616 .LVL137:
+1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1617 .loc 1 1498 0
+ 1618 002a 2CD1 bne .L134
+ 1619 .LVL138:
+ 1620 .L135:
+1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR | HAL_A
+ 1621 .loc 1 1503 0
+ 1622 002c A36B ldr r3, [r4, #56]
+ 1623 002e 1A4A ldr r2, .L139
+ 1624 0030 1A40 ands r2, r3
+ 1625 0032 8023 movs r3, #128
+ 1626 0034 5B00 lsls r3, r3, #1
+ 1627 0036 1343 orrs r3, r2
+ 1628 0038 A363 str r3, [r4, #56]
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1629 .loc 1 1508 0
+ 1630 003a 0023 movs r3, #0
+ 1631 003c E363 str r3, [r4, #60]
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1632 .loc 1 1513 0
+ 1633 003e 3422 movs r2, #52
+ 1634 0040 A354 strb r3, [r4, r2]
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1635 .loc 1 1516 0
+ 1636 0042 236B ldr r3, [r4, #48]
+ 1637 0044 154A ldr r2, .L139+4
+ 1638 0046 9A62 str r2, [r3, #40]
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1639 .loc 1 1519 0
+ 1640 0048 236B ldr r3, [r4, #48]
+ 1641 004a 154A ldr r2, .L139+8
+ ARM GAS /tmp/ccnlUpWq.s page 75
+
+
+ 1642 004c DA62 str r2, [r3, #44]
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1643 .loc 1 1522 0
+ 1644 004e 236B ldr r3, [r4, #48]
+ 1645 0050 144A ldr r2, .L139+12
+ 1646 0052 1A63 str r2, [r3, #48]
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1647 .loc 1 1531 0
+ 1648 0054 2368 ldr r3, [r4]
+ 1649 0056 1C22 movs r2, #28
+ 1650 0058 1A60 str r2, [r3]
+1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1651 .loc 1 1534 0
+ 1652 005a 2268 ldr r2, [r4]
+ 1653 005c 5368 ldr r3, [r2, #4]
+ 1654 005e 1021 movs r1, #16
+ 1655 0060 0B43 orrs r3, r1
+ 1656 0062 5360 str r3, [r2, #4]
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1657 .loc 1 1537 0
+ 1658 0064 2268 ldr r2, [r4]
+ 1659 0066 D368 ldr r3, [r2, #12]
+ 1660 0068 0F39 subs r1, r1, #15
+ 1661 006a 0B43 orrs r3, r1
+ 1662 006c D360 str r3, [r2, #12]
+1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1663 .loc 1 1540 0
+ 1664 006e 2168 ldr r1, [r4]
+ 1665 0070 4031 adds r1, r1, #64
+ 1666 0072 3B00 movs r3, r7
+ 1667 0074 3200 movs r2, r6
+ 1668 0076 206B ldr r0, [r4, #48]
+ 1669 0078 FFF7FEFF bl HAL_DMA_Start_IT
+ 1670 .LVL139:
+1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1671 .loc 1 1546 0
+ 1672 007c 2268 ldr r2, [r4]
+ 1673 007e 9368 ldr r3, [r2, #8]
+ 1674 0080 0421 movs r1, #4
+ 1675 0082 0B43 orrs r3, r1
+ 1676 0084 9360 str r3, [r2, #8]
+ 1677 .L134:
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1678 .loc 1 1556 0
+ 1679 0086 2800 movs r0, r5
+ 1680 @ sp needed
+ 1681 .LVL140:
+ 1682 .LVL141:
+ 1683 .LVL142:
+ 1684 0088 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 1685 .LVL143:
+ 1686 .L138:
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1687 .loc 1 1478 0
+ 1688 008a 0025 movs r5, #0
+ 1689 008c CEE7 b .L135
+ 1690 .LVL144:
+ ARM GAS /tmp/ccnlUpWq.s page 76
+
+
+ 1691 .L136:
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1692 .loc 1 1551 0
+ 1693 008e 0225 movs r5, #2
+ 1694 0090 F9E7 b .L134
+ 1695 .L137:
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1696 .loc 1 1487 0
+ 1697 0092 0225 movs r5, #2
+ 1698 0094 F7E7 b .L134
+ 1699 .L140:
+ 1700 0096 C046 .align 2
+ 1701 .L139:
+ 1702 0098 FEF0FFFF .word -3842
+ 1703 009c 00000000 .word ADC_DMAConvCplt
+ 1704 00a0 00000000 .word ADC_DMAHalfConvCplt
+ 1705 00a4 00000000 .word ADC_DMAError
+ 1706 .cfi_endproc
+ 1707 .LFE50:
+ 1709 .section .text.HAL_ADC_Stop_DMA,"ax",%progbits
+ 1710 .align 1
+ 1711 .global HAL_ADC_Stop_DMA
+ 1712 .syntax unified
+ 1713 .code 16
+ 1714 .thumb_func
+ 1715 .fpu softvfp
+ 1717 HAL_ADC_Stop_DMA:
+ 1718 .LFB51:
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 1719 .loc 1 1566 0
+ 1720 .cfi_startproc
+ 1721 @ args = 0, pretend = 0, frame = 0
+ 1722 @ frame_needed = 0, uses_anonymous_args = 0
+ 1723 .LVL145:
+ 1724 0000 70B5 push {r4, r5, r6, lr}
+ 1725 .LCFI13:
+ 1726 .cfi_def_cfa_offset 16
+ 1727 .cfi_offset 4, -16
+ 1728 .cfi_offset 5, -12
+ 1729 .cfi_offset 6, -8
+ 1730 .cfi_offset 14, -4
+ 1731 0002 0500 movs r5, r0
+ 1732 .LVL146:
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1733 .loc 1 1573 0
+ 1734 0004 3423 movs r3, #52
+ 1735 0006 C35C ldrb r3, [r0, r3]
+ 1736 0008 012B cmp r3, #1
+ 1737 000a 32D0 beq .L147
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1738 .loc 1 1573 0 is_stmt 0 discriminator 2
+ 1739 000c 3423 movs r3, #52
+ 1740 000e 0122 movs r2, #1
+ 1741 0010 C254 strb r2, [r0, r3]
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1742 .loc 1 1576 0 is_stmt 1 discriminator 2
+ 1743 0012 FFF7FEFF bl ADC_ConversionStop
+ ARM GAS /tmp/ccnlUpWq.s page 77
+
+
+ 1744 .LVL147:
+ 1745 0016 041E subs r4, r0, #0
+ 1746 .LVL148:
+1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1747 .loc 1 1579 0 discriminator 2
+ 1748 0018 04D0 beq .L148
+ 1749 .LVL149:
+ 1750 .L143:
+1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1751 .loc 1 1622 0
+ 1752 001a 3423 movs r3, #52
+ 1753 001c 0022 movs r2, #0
+ 1754 001e EA54 strb r2, [r5, r3]
+ 1755 .LVL150:
+ 1756 .L142:
+1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1757 .loc 1 1626 0
+ 1758 0020 2000 movs r0, r4
+ 1759 @ sp needed
+ 1760 .LVL151:
+ 1761 0022 70BD pop {r4, r5, r6, pc}
+ 1762 .LVL152:
+ 1763 .L148:
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1764 .loc 1 1582 0
+ 1765 0024 2A68 ldr r2, [r5]
+ 1766 0026 D368 ldr r3, [r2, #12]
+ 1767 0028 0121 movs r1, #1
+ 1768 002a 8B43 bics r3, r1
+ 1769 002c D360 str r3, [r2, #12]
+1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1770 .loc 1 1586 0
+ 1771 002e 286B ldr r0, [r5, #48]
+ 1772 .LVL153:
+ 1773 0030 FFF7FEFF bl HAL_DMA_Abort
+ 1774 .LVL154:
+ 1775 0034 041E subs r4, r0, #0
+ 1776 .LVL155:
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1777 .loc 1 1589 0
+ 1778 0036 03D0 beq .L144
+1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1779 .loc 1 1592 0
+ 1780 0038 AB6B ldr r3, [r5, #56]
+ 1781 003a 4022 movs r2, #64
+ 1782 003c 1343 orrs r3, r2
+ 1783 003e AB63 str r3, [r5, #56]
+ 1784 .L144:
+1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1785 .loc 1 1596 0
+ 1786 0040 2A68 ldr r2, [r5]
+ 1787 0042 5368 ldr r3, [r2, #4]
+ 1788 0044 1021 movs r1, #16
+ 1789 0046 8B43 bics r3, r1
+ 1790 0048 5360 str r3, [r2, #4]
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1791 .loc 1 1601 0
+ ARM GAS /tmp/ccnlUpWq.s page 78
+
+
+ 1792 004a 002C cmp r4, #0
+ 1793 004c 0DD1 bne .L145
+1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1794 .loc 1 1603 0
+ 1795 004e 2800 movs r0, r5
+ 1796 .LVL156:
+ 1797 0050 FFF7FEFF bl ADC_Disable
+ 1798 .LVL157:
+ 1799 0054 0400 movs r4, r0
+ 1800 .LVL158:
+ 1801 .L146:
+1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1802 .loc 1 1611 0
+ 1803 0056 002C cmp r4, #0
+ 1804 0058 DFD1 bne .L143
+1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 1805 .loc 1 1614 0
+ 1806 005a AB6B ldr r3, [r5, #56]
+ 1807 005c 064A ldr r2, .L149
+ 1808 005e 1340 ands r3, r2
+ 1809 0060 0432 adds r2, r2, #4
+ 1810 0062 FF32 adds r2, r2, #255
+ 1811 0064 1343 orrs r3, r2
+ 1812 0066 AB63 str r3, [r5, #56]
+ 1813 0068 D7E7 b .L143
+ 1814 .LVL159:
+ 1815 .L145:
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1816 .loc 1 1607 0
+ 1817 006a 2800 movs r0, r5
+ 1818 .LVL160:
+ 1819 006c FFF7FEFF bl ADC_Disable
+ 1820 .LVL161:
+ 1821 0070 F1E7 b .L146
+ 1822 .LVL162:
+ 1823 .L147:
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1824 .loc 1 1573 0
+ 1825 0072 0224 movs r4, #2
+ 1826 0074 D4E7 b .L142
+ 1827 .L150:
+ 1828 0076 C046 .align 2
+ 1829 .L149:
+ 1830 0078 FEFEFFFF .word -258
+ 1831 .cfi_endproc
+ 1832 .LFE51:
+ 1834 .section .text.HAL_ADC_GetValue,"ax",%progbits
+ 1835 .align 1
+ 1836 .global HAL_ADC_GetValue
+ 1837 .syntax unified
+ 1838 .code 16
+ 1839 .thumb_func
+ 1840 .fpu softvfp
+ 1842 HAL_ADC_GetValue:
+ 1843 .LFB52:
+1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ 1844 .loc 1 1648 0
+ ARM GAS /tmp/ccnlUpWq.s page 79
+
+
+ 1845 .cfi_startproc
+ 1846 @ args = 0, pretend = 0, frame = 0
+ 1847 @ frame_needed = 0, uses_anonymous_args = 0
+ 1848 @ link register save eliminated.
+ 1849 .LVL163:
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1850 .loc 1 1656 0
+ 1851 0000 0368 ldr r3, [r0]
+ 1852 0002 186C ldr r0, [r3, #64]
+ 1853 .LVL164:
+1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1854 .loc 1 1657 0
+ 1855 @ sp needed
+ 1856 0004 7047 bx lr
+ 1857 .cfi_endproc
+ 1858 .LFE52:
+ 1860 .section .text.HAL_ADC_ConvCpltCallback,"ax",%progbits
+ 1861 .align 1
+ 1862 .weak HAL_ADC_ConvCpltCallback
+ 1863 .syntax unified
+ 1864 .code 16
+ 1865 .thumb_func
+ 1866 .fpu softvfp
+ 1868 HAL_ADC_ConvCpltCallback:
+ 1869 .LFB54:
+1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 1870 .loc 1 1790 0
+ 1871 .cfi_startproc
+ 1872 @ args = 0, pretend = 0, frame = 0
+ 1873 @ frame_needed = 0, uses_anonymous_args = 0
+ 1874 @ link register save eliminated.
+ 1875 .LVL165:
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1876 .loc 1 1797 0
+ 1877 @ sp needed
+ 1878 0000 7047 bx lr
+ 1879 .cfi_endproc
+ 1880 .LFE54:
+ 1882 .section .text.ADC_DMAConvCplt,"ax",%progbits
+ 1883 .align 1
+ 1884 .syntax unified
+ 1885 .code 16
+ 1886 .thumb_func
+ 1887 .fpu softvfp
+ 1889 ADC_DMAConvCplt:
+ 1890 .LFB65:
+2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA transfer complete callback.
+2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
+2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma)
+2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1891 .loc 1 2362 0
+ 1892 .cfi_startproc
+ ARM GAS /tmp/ccnlUpWq.s page 80
+
+
+ 1893 @ args = 0, pretend = 0, frame = 0
+ 1894 @ frame_needed = 0, uses_anonymous_args = 0
+ 1895 .LVL166:
+ 1896 0000 10B5 push {r4, lr}
+ 1897 .LCFI14:
+ 1898 .cfi_def_cfa_offset 8
+ 1899 .cfi_offset 4, -8
+ 1900 .cfi_offset 14, -4
+2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
+2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
+ 1901 .loc 1 2364 0
+ 1902 0002 436A ldr r3, [r0, #36]
+ 1903 .LVL167:
+2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Update state machine on conversion status if not in error state */
+2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA))
+ 1904 .loc 1 2367 0
+ 1905 0004 9A6B ldr r2, [r3, #56]
+ 1906 0006 5021 movs r1, #80
+ 1907 0008 1142 tst r1, r2
+ 1908 000a 03D0 beq .L158
+2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC);
+2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Determine whether any further conversion upcoming on group regular */
+2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by external trigger, continuous mode or scan sequence on going. */
+2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if(ADC_IS_SOFTWARE_START_REGULAR(hadc) &&
+2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* If End of Sequence is reached, disable interrupts */
+2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) )
+2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Allowed to modify bits ADC_IT_EOC/ADC_IT_EOS only if bit */
+2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* ADSTART==0 (no conversion on going) */
+2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** if (ADC_IS_CONVERSION_ONGOING_REGULAR(hadc) == RESET)
+2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Disable ADC end of single conversion interrupt on group regular */
+2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Note: Overrun interrupt was enabled with EOC interrupt in */
+2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* HAL_Start_IT(), but is not disabled here because can be used */
+2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* by overrun IRQ process below. */
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC | ADC_IT_EOS);
+2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_STATE_CLR_SET(hadc->State,
+2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_READY);
+2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Change ADC state to error state */
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to ADC IP internal error */
+2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL);
+2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ ARM GAS /tmp/ccnlUpWq.s page 81
+
+
+2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Conversion complete callback */
+2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvCpltCallback(hadc);
+2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvCpltCallback(hadc);
+2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** else
+2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Call DMA error callback */
+2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->DMA_Handle->XferErrorCallback(hdma);
+ 1909 .loc 1 2416 0
+ 1910 000c 1B6B ldr r3, [r3, #48]
+ 1911 .LVL168:
+ 1912 000e 1B6B ldr r3, [r3, #48]
+ 1913 0010 9847 blx r3
+ 1914 .LVL169:
+ 1915 .L153:
+2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1916 .loc 1 2419 0
+ 1917 @ sp needed
+ 1918 0012 10BD pop {r4, pc}
+ 1919 .LVL170:
+ 1920 .L158:
+2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1921 .loc 1 2370 0
+ 1922 0014 996B ldr r1, [r3, #56]
+ 1923 0016 8022 movs r2, #128
+ 1924 0018 9200 lsls r2, r2, #2
+ 1925 001a 0A43 orrs r2, r1
+ 1926 001c 9A63 str r2, [r3, #56]
+2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 1927 .loc 1 2374 0
+ 1928 001e 1A68 ldr r2, [r3]
+ 1929 0020 D068 ldr r0, [r2, #12]
+ 1930 .LVL171:
+ 1931 0022 C021 movs r1, #192
+ 1932 0024 0901 lsls r1, r1, #4
+ 1933 0026 0842 tst r0, r1
+ 1934 0028 13D1 bne .L155
+2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1935 .loc 1 2375 0 discriminator 1
+ 1936 002a 997E ldrb r1, [r3, #26]
+2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 1937 .loc 1 2374 0 discriminator 1
+ 1938 002c 0029 cmp r1, #0
+ 1939 002e 10D1 bne .L155
+2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 1940 .loc 1 2378 0
+ 1941 0030 1168 ldr r1, [r2]
+ 1942 0032 0907 lsls r1, r1, #28
+ 1943 0034 0DD5 bpl .L155
+2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ ARM GAS /tmp/ccnlUpWq.s page 82
+
+
+ 1944 .loc 1 2382 0
+ 1945 0036 9168 ldr r1, [r2, #8]
+ 1946 0038 4907 lsls r1, r1, #29
+ 1947 003a 0ED4 bmi .L156
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1948 .loc 1 2388 0
+ 1949 003c 5168 ldr r1, [r2, #4]
+ 1950 003e 0C20 movs r0, #12
+ 1951 0040 8143 bics r1, r0
+ 1952 0042 5160 str r1, [r2, #4]
+2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 1953 .loc 1 2391 0
+ 1954 0044 9A6B ldr r2, [r3, #56]
+ 1955 0046 0949 ldr r1, .L159
+ 1956 0048 0A40 ands r2, r1
+ 1957 004a 0431 adds r1, r1, #4
+ 1958 004c FF31 adds r1, r1, #255
+ 1959 004e 0A43 orrs r2, r1
+ 1960 0050 9A63 str r2, [r3, #56]
+ 1961 .L155:
+2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 1962 .loc 1 2410 0
+ 1963 0052 1800 movs r0, r3
+ 1964 0054 FFF7FEFF bl HAL_ADC_ConvCpltCallback
+ 1965 .LVL172:
+ 1966 0058 DBE7 b .L153
+ 1967 .LVL173:
+ 1968 .L156:
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 1969 .loc 1 2398 0
+ 1970 005a 9A6B ldr r2, [r3, #56]
+ 1971 005c 2021 movs r1, #32
+ 1972 005e 0A43 orrs r2, r1
+ 1973 0060 9A63 str r2, [r3, #56]
+2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 1974 .loc 1 2401 0
+ 1975 0062 DA6B ldr r2, [r3, #60]
+ 1976 0064 1F39 subs r1, r1, #31
+ 1977 0066 0A43 orrs r2, r1
+ 1978 0068 DA63 str r2, [r3, #60]
+ 1979 006a F2E7 b .L155
+ 1980 .L160:
+ 1981 .align 2
+ 1982 .L159:
+ 1983 006c FEFEFFFF .word -258
+ 1984 .cfi_endproc
+ 1985 .LFE65:
+ 1987 .section .text.HAL_ADC_ConvHalfCpltCallback,"ax",%progbits
+ 1988 .align 1
+ 1989 .weak HAL_ADC_ConvHalfCpltCallback
+ 1990 .syntax unified
+ 1991 .code 16
+ 1992 .thumb_func
+ 1993 .fpu softvfp
+ 1995 HAL_ADC_ConvHalfCpltCallback:
+ 1996 .LFB55:
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ ARM GAS /tmp/ccnlUpWq.s page 83
+
+
+ 1997 .loc 1 1805 0
+ 1998 .cfi_startproc
+ 1999 @ args = 0, pretend = 0, frame = 0
+ 2000 @ frame_needed = 0, uses_anonymous_args = 0
+ 2001 @ link register save eliminated.
+ 2002 .LVL174:
+1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2003 .loc 1 1812 0
+ 2004 @ sp needed
+ 2005 0000 7047 bx lr
+ 2006 .cfi_endproc
+ 2007 .LFE55:
+ 2009 .section .text.ADC_DMAHalfConvCplt,"ax",%progbits
+ 2010 .align 1
+ 2011 .syntax unified
+ 2012 .code 16
+ 2013 .thumb_func
+ 2014 .fpu softvfp
+ 2016 ADC_DMAHalfConvCplt:
+ 2017 .LFB66:
+2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA half transfer complete callback.
+2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma)
+2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2018 .loc 1 2427 0
+ 2019 .cfi_startproc
+ 2020 @ args = 0, pretend = 0, frame = 0
+ 2021 @ frame_needed = 0, uses_anonymous_args = 0
+ 2022 .LVL175:
+ 2023 0000 10B5 push {r4, lr}
+ 2024 .LCFI15:
+ 2025 .cfi_def_cfa_offset 8
+ 2026 .cfi_offset 4, -8
+ 2027 .cfi_offset 14, -4
+2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
+2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
+ 2028 .loc 1 2429 0
+ 2029 0002 406A ldr r0, [r0, #36]
+ 2030 .LVL176:
+2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Half conversion callback */
+2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ConvHalfCpltCallback(hadc);
+2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ConvHalfCpltCallback(hadc);
+ 2031 .loc 1 2435 0
+ 2032 0004 FFF7FEFF bl HAL_ADC_ConvHalfCpltCallback
+ 2033 .LVL177:
+2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2034 .loc 1 2437 0
+ 2035 @ sp needed
+ 2036 0008 10BD pop {r4, pc}
+ ARM GAS /tmp/ccnlUpWq.s page 84
+
+
+ 2037 .cfi_endproc
+ 2038 .LFE66:
+ 2040 .section .text.HAL_ADC_LevelOutOfWindowCallback,"ax",%progbits
+ 2041 .align 1
+ 2042 .weak HAL_ADC_LevelOutOfWindowCallback
+ 2043 .syntax unified
+ 2044 .code 16
+ 2045 .thumb_func
+ 2046 .fpu softvfp
+ 2048 HAL_ADC_LevelOutOfWindowCallback:
+ 2049 .LFB56:
+1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 2050 .loc 1 1820 0
+ 2051 .cfi_startproc
+ 2052 @ args = 0, pretend = 0, frame = 0
+ 2053 @ frame_needed = 0, uses_anonymous_args = 0
+ 2054 @ link register save eliminated.
+ 2055 .LVL178:
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2056 .loc 1 1827 0
+ 2057 @ sp needed
+ 2058 0000 7047 bx lr
+ 2059 .cfi_endproc
+ 2060 .LFE56:
+ 2062 .section .text.HAL_ADC_ErrorCallback,"ax",%progbits
+ 2063 .align 1
+ 2064 .weak HAL_ADC_ErrorCallback
+ 2065 .syntax unified
+ 2066 .code 16
+ 2067 .thumb_func
+ 2068 .fpu softvfp
+ 2070 HAL_ADC_ErrorCallback:
+ 2071 .LFB57:
+1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Prevent unused argument(s) compilation warning */
+ 2072 .loc 1 1836 0
+ 2073 .cfi_startproc
+ 2074 @ args = 0, pretend = 0, frame = 0
+ 2075 @ frame_needed = 0, uses_anonymous_args = 0
+ 2076 @ link register save eliminated.
+ 2077 .LVL179:
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2078 .loc 1 1843 0
+ 2079 @ sp needed
+ 2080 0000 7047 bx lr
+ 2081 .cfi_endproc
+ 2082 .LFE57:
+ 2084 .section .text.ADC_DMAError,"ax",%progbits
+ 2085 .align 1
+ 2086 .syntax unified
+ 2087 .code 16
+ 2088 .thumb_func
+ 2089 .fpu softvfp
+ 2091 ADC_DMAError:
+ 2092 .LFB67:
+2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /**
+2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @brief DMA error callback
+ ARM GAS /tmp/ccnlUpWq.s page 85
+
+
+2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @param hdma pointer to DMA handle.
+2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** * @retval None
+2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** */
+2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** static void ADC_DMAError(DMA_HandleTypeDef *hdma)
+2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2093 .loc 1 2445 0
+ 2094 .cfi_startproc
+ 2095 @ args = 0, pretend = 0, frame = 0
+ 2096 @ frame_needed = 0, uses_anonymous_args = 0
+ 2097 .LVL180:
+ 2098 0000 10B5 push {r4, lr}
+ 2099 .LCFI16:
+ 2100 .cfi_def_cfa_offset 8
+ 2101 .cfi_offset 4, -8
+ 2102 .cfi_offset 14, -4
+2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Retrieve ADC handle corresponding to current DMA handle */
+2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent;
+ 2103 .loc 1 2447 0
+ 2104 0002 406A ldr r0, [r0, #36]
+ 2105 .LVL181:
+2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC state */
+2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA);
+ 2106 .loc 1 2450 0
+ 2107 0004 836B ldr r3, [r0, #56]
+ 2108 0006 4022 movs r2, #64
+ 2109 0008 1343 orrs r3, r2
+ 2110 000a 8363 str r3, [r0, #56]
+2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Set ADC error code to DMA error */
+2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_DMA);
+ 2111 .loc 1 2453 0
+ 2112 000c C36B ldr r3, [r0, #60]
+ 2113 000e 3C3A subs r2, r2, #60
+ 2114 0010 1343 orrs r3, r2
+ 2115 0012 C363 str r3, [r0, #60]
+2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Error callback */
+2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1)
+2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->ErrorCallback(hadc);
+2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #else
+2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_ErrorCallback(hadc);
+ 2116 .loc 1 2459 0
+ 2117 0014 FFF7FEFF bl HAL_ADC_ErrorCallback
+ 2118 .LVL182:
+2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2119 .loc 1 2461 0
+ 2120 @ sp needed
+ 2121 0018 10BD pop {r4, pc}
+ 2122 .cfi_endproc
+ 2123 .LFE67:
+ 2125 .section .text.HAL_ADC_IRQHandler,"ax",%progbits
+ 2126 .align 1
+ 2127 .global HAL_ADC_IRQHandler
+ 2128 .syntax unified
+ 2129 .code 16
+ ARM GAS /tmp/ccnlUpWq.s page 86
+
+
+ 2130 .thumb_func
+ 2131 .fpu softvfp
+ 2133 HAL_ADC_IRQHandler:
+ 2134 .LFB53:
+1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ 2135 .loc 1 1665 0
+ 2136 .cfi_startproc
+ 2137 @ args = 0, pretend = 0, frame = 0
+ 2138 @ frame_needed = 0, uses_anonymous_args = 0
+ 2139 .LVL183:
+ 2140 0000 10B5 push {r4, lr}
+ 2141 .LCFI17:
+ 2142 .cfi_def_cfa_offset 8
+ 2143 .cfi_offset 4, -8
+ 2144 .cfi_offset 14, -4
+ 2145 0002 0400 movs r4, r0
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
+ 2146 .loc 1 1672 0
+ 2147 0004 0368 ldr r3, [r0]
+ 2148 0006 1A68 ldr r2, [r3]
+ 2149 0008 5207 lsls r2, r2, #29
+ 2150 000a 02D5 bpl .L167
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
+ 2151 .loc 1 1672 0 is_stmt 0 discriminator 1
+ 2152 000c 5A68 ldr r2, [r3, #4]
+ 2153 000e 5207 lsls r2, r2, #29
+ 2154 0010 05D4 bmi .L168
+ 2155 .L167:
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2156 .loc 1 1673 0 is_stmt 1 discriminator 3
+ 2157 0012 1A68 ldr r2, [r3]
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS) && __HAL_ADC_GET_IT_SOURCE(hadc, ADC_IT_EOS)) )
+ 2158 .loc 1 1672 0 discriminator 3
+ 2159 0014 1207 lsls r2, r2, #28
+ 2160 0016 29D5 bpl .L169
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2161 .loc 1 1673 0
+ 2162 0018 5A68 ldr r2, [r3, #4]
+ 2163 001a 1207 lsls r2, r2, #28
+ 2164 001c 26D5 bpl .L169
+ 2165 .L168:
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2166 .loc 1 1676 0
+ 2167 001e A26B ldr r2, [r4, #56]
+ 2168 0020 D206 lsls r2, r2, #27
+ 2169 0022 04D4 bmi .L170
+1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2170 .loc 1 1679 0
+ 2171 0024 A16B ldr r1, [r4, #56]
+ 2172 0026 8022 movs r2, #128
+ 2173 0028 9200 lsls r2, r2, #2
+ 2174 002a 0A43 orrs r2, r1
+ 2175 002c A263 str r2, [r4, #56]
+ 2176 .L170:
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 2177 .loc 1 1684 0
+ 2178 002e D968 ldr r1, [r3, #12]
+ ARM GAS /tmp/ccnlUpWq.s page 87
+
+
+ 2179 0030 C022 movs r2, #192
+ 2180 0032 1201 lsls r2, r2, #4
+ 2181 0034 1142 tst r1, r2
+ 2182 0036 13D1 bne .L171
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2183 .loc 1 1685 0 discriminator 1
+ 2184 0038 A27E ldrb r2, [r4, #26]
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** (hadc->Init.ContinuousConvMode == DISABLE) )
+ 2185 .loc 1 1684 0 discriminator 1
+ 2186 003a 002A cmp r2, #0
+ 2187 003c 10D1 bne .L171
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2188 .loc 1 1688 0
+ 2189 003e 1A68 ldr r2, [r3]
+ 2190 0040 1207 lsls r2, r2, #28
+ 2191 0042 0DD5 bpl .L171
+1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2192 .loc 1 1692 0
+ 2193 0044 9A68 ldr r2, [r3, #8]
+ 2194 0046 5207 lsls r2, r2, #29
+ 2195 0048 31D4 bmi .L172
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2196 .loc 1 1698 0
+ 2197 004a 5A68 ldr r2, [r3, #4]
+ 2198 004c 0C21 movs r1, #12
+ 2199 004e 8A43 bics r2, r1
+ 2200 0050 5A60 str r2, [r3, #4]
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_ADC_STATE_REG_BUSY,
+ 2201 .loc 1 1701 0
+ 2202 0052 A36B ldr r3, [r4, #56]
+ 2203 0054 204A ldr r2, .L178
+ 2204 0056 1340 ands r3, r2
+ 2205 0058 0432 adds r2, r2, #4
+ 2206 005a FF32 adds r2, r2, #255
+ 2207 005c 1343 orrs r3, r2
+ 2208 005e A363 str r3, [r4, #56]
+ 2209 .L171:
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 2210 .loc 1 1722 0
+ 2211 0060 2000 movs r0, r4
+ 2212 .LVL184:
+ 2213 0062 FFF7FEFF bl HAL_ADC_ConvCpltCallback
+ 2214 .LVL185:
+1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2215 .loc 1 1731 0
+ 2216 0066 2368 ldr r3, [r4]
+ 2217 0068 0C22 movs r2, #12
+ 2218 006a 1A60 str r2, [r3]
+ 2219 .L169:
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2220 .loc 1 1735 0
+ 2221 006c 2368 ldr r3, [r4]
+ 2222 006e 1A68 ldr r2, [r3]
+ 2223 0070 1206 lsls r2, r2, #24
+ 2224 0072 02D5 bpl .L173
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2225 .loc 1 1735 0 is_stmt 0 discriminator 1
+ ARM GAS /tmp/ccnlUpWq.s page 88
+
+
+ 2226 0074 5B68 ldr r3, [r3, #4]
+ 2227 0076 1B06 lsls r3, r3, #24
+ 2228 0078 22D4 bmi .L177
+ 2229 .L173:
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2230 .loc 1 1753 0 is_stmt 1
+ 2231 007a 2368 ldr r3, [r4]
+ 2232 007c 1A68 ldr r2, [r3]
+ 2233 007e D206 lsls r2, r2, #27
+ 2234 0080 14D5 bpl .L166
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2235 .loc 1 1753 0 is_stmt 0 discriminator 1
+ 2236 0082 5A68 ldr r2, [r3, #4]
+ 2237 0084 D206 lsls r2, r2, #27
+ 2238 0086 11D5 bpl .L166
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
+ 2239 .loc 1 1761 0 is_stmt 1
+ 2240 0088 A26A ldr r2, [r4, #40]
+ 2241 008a 012A cmp r2, #1
+ 2242 008c 02D0 beq .L175
+1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2243 .loc 1 1762 0 discriminator 1
+ 2244 008e DA68 ldr r2, [r3, #12]
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_IS_BIT_SET(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN) )
+ 2245 .loc 1 1761 0 discriminator 1
+ 2246 0090 D207 lsls r2, r2, #31
+ 2247 0092 08D5 bpl .L176
+ 2248 .L175:
+1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2249 .loc 1 1765 0
+ 2250 0094 E26B ldr r2, [r4, #60]
+ 2251 0096 0221 movs r1, #2
+ 2252 0098 0A43 orrs r2, r1
+ 2253 009a E263 str r2, [r4, #60]
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2254 .loc 1 1768 0
+ 2255 009c 1022 movs r2, #16
+ 2256 009e 1A60 str r2, [r3]
+1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 2257 .loc 1 1773 0
+ 2258 00a0 2000 movs r0, r4
+ 2259 00a2 FFF7FEFF bl HAL_ADC_ErrorCallback
+ 2260 .LVL186:
+ 2261 .L176:
+1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2262 .loc 1 1778 0
+ 2263 00a6 2368 ldr r3, [r4]
+ 2264 00a8 1022 movs r2, #16
+ 2265 00aa 1A60 str r2, [r3]
+ 2266 .L166:
+1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2267 .loc 1 1781 0
+ 2268 @ sp needed
+ 2269 .LVL187:
+ 2270 00ac 10BD pop {r4, pc}
+ 2271 .LVL188:
+ 2272 .L172:
+ ARM GAS /tmp/ccnlUpWq.s page 89
+
+
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2273 .loc 1 1708 0
+ 2274 00ae A36B ldr r3, [r4, #56]
+ 2275 00b0 2022 movs r2, #32
+ 2276 00b2 1343 orrs r3, r2
+ 2277 00b4 A363 str r3, [r4, #56]
+1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2278 .loc 1 1711 0
+ 2279 00b6 E36B ldr r3, [r4, #60]
+ 2280 00b8 1F3A subs r2, r2, #31
+ 2281 00ba 1343 orrs r3, r2
+ 2282 00bc E363 str r3, [r4, #60]
+ 2283 00be CFE7 b .L171
+ 2284 .LVL189:
+ 2285 .L177:
+1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2286 .loc 1 1738 0
+ 2287 00c0 A26B ldr r2, [r4, #56]
+ 2288 00c2 8023 movs r3, #128
+ 2289 00c4 5B02 lsls r3, r3, #9
+ 2290 00c6 1343 orrs r3, r2
+ 2291 00c8 A363 str r3, [r4, #56]
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */
+ 2292 .loc 1 1743 0
+ 2293 00ca 2000 movs r0, r4
+ 2294 00cc FFF7FEFF bl HAL_ADC_LevelOutOfWindowCallback
+ 2295 .LVL190:
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2296 .loc 1 1747 0
+ 2297 00d0 2368 ldr r3, [r4]
+ 2298 00d2 8022 movs r2, #128
+ 2299 00d4 1A60 str r2, [r3]
+ 2300 00d6 D0E7 b .L173
+ 2301 .L179:
+ 2302 .align 2
+ 2303 .L178:
+ 2304 00d8 FEFEFFFF .word -258
+ 2305 .cfi_endproc
+ 2306 .LFE53:
+ 2308 .section .text.HAL_ADC_ConfigChannel,"ax",%progbits
+ 2309 .align 1
+ 2310 .global HAL_ADC_ConfigChannel
+ 2311 .syntax unified
+ 2312 .code 16
+ 2313 .thumb_func
+ 2314 .fpu softvfp
+ 2316 HAL_ADC_ConfigChannel:
+ 2317 .LFB58:
+1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 2318 .loc 1 1890 0
+ 2319 .cfi_startproc
+ 2320 @ args = 0, pretend = 0, frame = 8
+ 2321 @ frame_needed = 0, uses_anonymous_args = 0
+ 2322 .LVL191:
+ 2323 0000 30B5 push {r4, r5, lr}
+ 2324 .LCFI18:
+ 2325 .cfi_def_cfa_offset 12
+ ARM GAS /tmp/ccnlUpWq.s page 90
+
+
+ 2326 .cfi_offset 4, -12
+ 2327 .cfi_offset 5, -8
+ 2328 .cfi_offset 14, -4
+ 2329 0002 83B0 sub sp, sp, #12
+ 2330 .LCFI19:
+ 2331 .cfi_def_cfa_offset 24
+ 2332 0004 0400 movs r4, r0
+ 2333 .LVL192:
+1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2334 .loc 1 1892 0
+ 2335 0006 0023 movs r3, #0
+ 2336 0008 0193 str r3, [sp, #4]
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2337 .loc 1 1905 0
+ 2338 000a 3433 adds r3, r3, #52
+ 2339 000c C35C ldrb r3, [r0, r3]
+ 2340 000e 012B cmp r3, #1
+ 2341 0010 00D1 bne .LCB2176
+ 2342 0012 8AE0 b .L190 @long jump
+ 2343 .LCB2176:
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2344 .loc 1 1905 0 is_stmt 0 discriminator 2
+ 2345 0014 3423 movs r3, #52
+ 2346 0016 0122 movs r2, #1
+ 2347 0018 C254 strb r2, [r0, r3]
+1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2348 .loc 1 1913 0 is_stmt 1 discriminator 2
+ 2349 001a 0368 ldr r3, [r0]
+ 2350 001c 9A68 ldr r2, [r3, #8]
+ 2351 001e 5207 lsls r2, r2, #29
+ 2352 0020 75D4 bmi .L182
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2353 .loc 1 1917 0
+ 2354 0022 434A ldr r2, .L201
+ 2355 0024 4868 ldr r0, [r1, #4]
+ 2356 .LVL193:
+ 2357 0026 9042 cmp r0, r2
+ 2358 0028 56D0 beq .L183
+1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2359 .loc 1 1921 0
+ 2360 002a 9A6A ldr r2, [r3, #40]
+ 2361 002c 0120 movs r0, #1
+ 2362 002e 0D68 ldr r5, [r1]
+ 2363 0030 A840 lsls r0, r0, r5
+ 2364 0032 0243 orrs r2, r0
+ 2365 0034 9A62 str r2, [r3, #40]
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2366 .loc 1 1928 0
+ 2367 0036 E36A ldr r3, [r4, #44]
+ 2368 0038 8022 movs r2, #128
+ 2369 003a 5205 lsls r2, r2, #21
+ 2370 003c 9342 cmp r3, r2
+ 2371 003e 1ED0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2372 .loc 1 1928 0 is_stmt 0 discriminator 1
+ 2373 0040 012B cmp r3, #1
+ 2374 0042 1CD0 beq .L184
+ ARM GAS /tmp/ccnlUpWq.s page 91
+
+
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2375 .loc 1 1928 0 discriminator 2
+ 2376 0044 022B cmp r3, #2
+ 2377 0046 1AD0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2378 .loc 1 1928 0 discriminator 3
+ 2379 0048 032B cmp r3, #3
+ 2380 004a 18D0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2381 .loc 1 1928 0 discriminator 4
+ 2382 004c 042B cmp r3, #4
+ 2383 004e 16D0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2384 .loc 1 1928 0 discriminator 5
+ 2385 0050 052B cmp r3, #5
+ 2386 0052 14D0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2387 .loc 1 1928 0 discriminator 6
+ 2388 0054 062B cmp r3, #6
+ 2389 0056 12D0 beq .L184
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2390 .loc 1 1928 0 discriminator 7
+ 2391 0058 072B cmp r3, #7
+ 2392 005a 10D0 beq .L184
+1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2393 .loc 1 1932 0 is_stmt 1
+ 2394 005c 2268 ldr r2, [r4]
+ 2395 005e 5069 ldr r0, [r2, #20]
+ 2396 0060 0723 movs r3, #7
+ 2397 0062 0340 ands r3, r0
+ 2398 0064 8868 ldr r0, [r1, #8]
+ 2399 0066 9842 cmp r0, r3
+ 2400 0068 09D0 beq .L184
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2401 .loc 1 1936 0
+ 2402 006a 5069 ldr r0, [r2, #20]
+ 2403 006c 0723 movs r3, #7
+ 2404 006e 9843 bics r0, r3
+ 2405 0070 5061 str r0, [r2, #20]
+1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2406 .loc 1 1939 0
+ 2407 0072 2068 ldr r0, [r4]
+ 2408 0074 4269 ldr r2, [r0, #20]
+ 2409 0076 8D68 ldr r5, [r1, #8]
+ 2410 0078 2B40 ands r3, r5
+ 2411 007a 1343 orrs r3, r2
+ 2412 007c 4361 str r3, [r0, #20]
+ 2413 .L184:
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2414 .loc 1 1949 0
+ 2415 007e 0B68 ldr r3, [r1]
+ 2416 0080 1A00 movs r2, r3
+ 2417 0082 103A subs r2, r2, #16
+ 2418 0084 022A cmp r2, #2
+ 2419 0086 4CD8 bhi .L191
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2420 .loc 1 1954 0
+ ARM GAS /tmp/ccnlUpWq.s page 92
+
+
+ 2421 0088 2A4A ldr r2, .L201+4
+ 2422 008a 1268 ldr r2, [r2]
+ 2423 008c 102B cmp r3, #16
+ 2424 008e 0ED0 beq .L192
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2425 .loc 1 1954 0 is_stmt 0 discriminator 1
+ 2426 0090 112B cmp r3, #17
+ 2427 0092 09D0 beq .L198
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2428 .loc 1 1954 0
+ 2429 0094 8023 movs r3, #128
+ 2430 0096 5B04 lsls r3, r3, #17
+ 2431 .L186:
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2432 .loc 1 1954 0 discriminator 8
+ 2433 0098 1343 orrs r3, r2
+ 2434 009a 264A ldr r2, .L201+4
+ 2435 009c 1360 str r3, [r2]
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2436 .loc 1 1957 0 is_stmt 1 discriminator 8
+ 2437 009e 0B68 ldr r3, [r1]
+ 2438 00a0 102B cmp r3, #16
+ 2439 00a2 07D0 beq .L199
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+ 2440 .loc 1 1891 0
+ 2441 00a4 0020 movs r0, #0
+ 2442 00a6 37E0 b .L185
+ 2443 .L198:
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2444 .loc 1 1954 0
+ 2445 00a8 8023 movs r3, #128
+ 2446 00aa DB03 lsls r3, r3, #15
+ 2447 00ac F4E7 b .L186
+ 2448 .L192:
+ 2449 00ae 8023 movs r3, #128
+ 2450 00b0 1B04 lsls r3, r3, #16
+ 2451 00b2 F1E7 b .L186
+ 2452 .L199:
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** while(wait_loop_index != 0U)
+ 2453 .loc 1 1961 0
+ 2454 00b4 204B ldr r3, .L201+8
+ 2455 00b6 1868 ldr r0, [r3]
+ 2456 00b8 2049 ldr r1, .L201+12
+ 2457 .LVL194:
+ 2458 00ba FFF7FEFF bl __aeabi_uidiv
+ 2459 .LVL195:
+ 2460 00be 8300 lsls r3, r0, #2
+ 2461 00c0 1818 adds r0, r3, r0
+ 2462 00c2 4300 lsls r3, r0, #1
+ 2463 00c4 0193 str r3, [sp, #4]
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2464 .loc 1 1962 0
+ 2465 00c6 02E0 b .L187
+ 2466 .L188:
+1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2467 .loc 1 1964 0
+ 2468 00c8 019B ldr r3, [sp, #4]
+ ARM GAS /tmp/ccnlUpWq.s page 93
+
+
+ 2469 00ca 013B subs r3, r3, #1
+ 2470 00cc 0193 str r3, [sp, #4]
+ 2471 .L187:
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2472 .loc 1 1962 0
+ 2473 00ce 019B ldr r3, [sp, #4]
+ 2474 00d0 002B cmp r3, #0
+ 2475 00d2 F9D1 bne .L188
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+ 2476 .loc 1 1891 0
+ 2477 00d4 0020 movs r0, #0
+ 2478 00d6 1FE0 b .L185
+ 2479 .LVL196:
+ 2480 .L183:
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2481 .loc 1 1973 0
+ 2482 00d8 9A6A ldr r2, [r3, #40]
+ 2483 00da 0120 movs r0, #1
+ 2484 00dc 0D68 ldr r5, [r1]
+ 2485 00de A840 lsls r0, r0, r5
+ 2486 00e0 8243 bics r2, r0
+ 2487 00e2 9A62 str r2, [r3, #40]
+1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2488 .loc 1 1978 0
+ 2489 00e4 0B68 ldr r3, [r1]
+ 2490 00e6 1A00 movs r2, r3
+ 2491 00e8 103A subs r2, r2, #16
+ 2492 00ea 022A cmp r2, #2
+ 2493 00ec 1BD8 bhi .L195
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2494 .loc 1 1983 0
+ 2495 00ee 114A ldr r2, .L201+4
+ 2496 00f0 1268 ldr r2, [r2]
+ 2497 00f2 102B cmp r3, #16
+ 2498 00f4 09D0 beq .L196
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2499 .loc 1 1983 0 is_stmt 0 discriminator 1
+ 2500 00f6 112B cmp r3, #17
+ 2501 00f8 05D0 beq .L200
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2502 .loc 1 1983 0
+ 2503 00fa 114B ldr r3, .L201+16
+ 2504 .L189:
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2505 .loc 1 1983 0 discriminator 8
+ 2506 00fc 1340 ands r3, r2
+ 2507 00fe 0D4A ldr r2, .L201+4
+ 2508 0100 1360 str r3, [r2]
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+ 2509 .loc 1 1891 0 is_stmt 1 discriminator 8
+ 2510 0102 0020 movs r0, #0
+ 2511 0104 08E0 b .L185
+ 2512 .L200:
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2513 .loc 1 1983 0
+ 2514 0106 0F4B ldr r3, .L201+20
+ 2515 0108 F8E7 b .L189
+ ARM GAS /tmp/ccnlUpWq.s page 94
+
+
+ 2516 .L196:
+ 2517 010a 0F4B ldr r3, .L201+24
+ 2518 010c F6E7 b .L189
+ 2519 .LVL197:
+ 2520 .L182:
+1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2521 .loc 1 1995 0
+ 2522 010e 836B ldr r3, [r0, #56]
+ 2523 0110 2022 movs r2, #32
+ 2524 0112 1343 orrs r3, r2
+ 2525 0114 8363 str r3, [r0, #56]
+ 2526 .LVL198:
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2527 .loc 1 1997 0
+ 2528 0116 0120 movs r0, #1
+ 2529 .LVL199:
+ 2530 .L185:
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2531 .loc 1 2001 0
+ 2532 0118 3423 movs r3, #52
+ 2533 011a 0022 movs r2, #0
+ 2534 011c E254 strb r2, [r4, r3]
+ 2535 .LVL200:
+ 2536 .L181:
+2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2537 .loc 1 2005 0
+ 2538 011e 03B0 add sp, sp, #12
+ 2539 @ sp needed
+ 2540 .LVL201:
+ 2541 0120 30BD pop {r4, r5, pc}
+ 2542 .LVL202:
+ 2543 .L191:
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** __IO uint32_t wait_loop_index = 0U;
+ 2544 .loc 1 1891 0
+ 2545 0122 0020 movs r0, #0
+ 2546 0124 F8E7 b .L185
+ 2547 .L195:
+ 2548 0126 0020 movs r0, #0
+ 2549 0128 F6E7 b .L185
+ 2550 .LVL203:
+ 2551 .L190:
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2552 .loc 1 1905 0
+ 2553 012a 0220 movs r0, #2
+ 2554 .LVL204:
+ 2555 012c F7E7 b .L181
+ 2556 .L202:
+ 2557 012e C046 .align 2
+ 2558 .L201:
+ 2559 0130 01100000 .word 4097
+ 2560 0134 08270140 .word 1073817352
+ 2561 0138 00000000 .word SystemCoreClock
+ 2562 013c 40420F00 .word 1000000
+ 2563 0140 FFFFFFFE .word -16777217
+ 2564 0144 FFFFBFFF .word -4194305
+ 2565 0148 FFFF7FFF .word -8388609
+ 2566 .cfi_endproc
+ ARM GAS /tmp/ccnlUpWq.s page 95
+
+
+ 2567 .LFE58:
+ 2569 .section .text.HAL_ADC_AnalogWDGConfig,"ax",%progbits
+ 2570 .align 1
+ 2571 .global HAL_ADC_AnalogWDGConfig
+ 2572 .syntax unified
+ 2573 .code 16
+ 2574 .thumb_func
+ 2575 .fpu softvfp
+ 2577 HAL_ADC_AnalogWDGConfig:
+ 2578 .LFB59:
+2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 2579 .loc 1 2023 0
+ 2580 .cfi_startproc
+ 2581 @ args = 0, pretend = 0, frame = 0
+ 2582 @ frame_needed = 0, uses_anonymous_args = 0
+ 2583 .LVL205:
+ 2584 0000 70B5 push {r4, r5, r6, lr}
+ 2585 .LCFI20:
+ 2586 .cfi_def_cfa_offset 16
+ 2587 .cfi_offset 4, -16
+ 2588 .cfi_offset 5, -12
+ 2589 .cfi_offset 6, -8
+ 2590 .cfi_offset 14, -4
+ 2591 .LVL206:
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2592 .loc 1 2044 0
+ 2593 0002 3423 movs r3, #52
+ 2594 0004 C35C ldrb r3, [r0, r3]
+ 2595 0006 012B cmp r3, #1
+ 2596 0008 49D0 beq .L208
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2597 .loc 1 2044 0 is_stmt 0 discriminator 2
+ 2598 000a 3423 movs r3, #52
+ 2599 000c 0122 movs r2, #1
+ 2600 000e C254 strb r2, [r0, r3]
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2601 .loc 1 2051 0 is_stmt 1 discriminator 2
+ 2602 0010 0368 ldr r3, [r0]
+ 2603 0012 9A68 ldr r2, [r3, #8]
+ 2604 0014 5207 lsls r2, r2, #29
+ 2605 0016 38D4 bmi .L205
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR1_AWDEN |
+ 2606 .loc 1 2058 0
+ 2607 0018 DA68 ldr r2, [r3, #12]
+ 2608 001a 224C ldr r4, .L210
+ 2609 001c 2240 ands r2, r4
+ 2610 001e DA60 str r2, [r3, #12]
+2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
+ 2611 .loc 1 2062 0
+ 2612 0020 0468 ldr r4, [r0]
+ 2613 0022 E368 ldr r3, [r4, #12]
+2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2614 .loc 1 2063 0
+ 2615 0024 4A68 ldr r2, [r1, #4]
+ 2616 0026 9206 lsls r2, r2, #26
+2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** ADC_CFGR_AWDCH(AnalogWDGConfig->Channel) );
+ 2617 .loc 1 2062 0
+ ARM GAS /tmp/ccnlUpWq.s page 96
+
+
+ 2618 0028 0D68 ldr r5, [r1]
+ 2619 002a 2A43 orrs r2, r5
+ 2620 002c 1343 orrs r3, r2
+ 2621 002e E360 str r3, [r4, #12]
+2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted = ADC_AWD1THRESHOLD_SHIFT_RESOLUTION(hadc, AnalogWDGConfig->LowThres
+ 2622 .loc 1 2067 0
+ 2623 0030 0468 ldr r4, [r0]
+ 2624 0032 E368 ldr r3, [r4, #12]
+ 2625 0034 DB08 lsrs r3, r3, #3
+ 2626 0036 0322 movs r2, #3
+ 2627 0038 1340 ands r3, r2
+ 2628 003a 5B00 lsls r3, r3, #1
+ 2629 003c CD68 ldr r5, [r1, #12]
+ 2630 003e 9D40 lsls r5, r5, r3
+ 2631 0040 2B00 movs r3, r5
+ 2632 .LVL207:
+2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2633 .loc 1 2068 0
+ 2634 0042 E568 ldr r5, [r4, #12]
+ 2635 0044 ED08 lsrs r5, r5, #3
+ 2636 0046 2A40 ands r2, r5
+ 2637 0048 5200 lsls r2, r2, #1
+ 2638 004a 0D69 ldr r5, [r1, #16]
+ 2639 004c 9540 lsls r5, r5, r2
+ 2640 .LVL208:
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** hadc->Instance->TR |= ( ADC_TRX_HIGHTHRESHOLD (tmpAWDHighThresholdShifted) |
+ 2641 .loc 1 2071 0
+ 2642 004e 226A ldr r2, [r4, #32]
+ 2643 0050 154E ldr r6, .L210+4
+ 2644 0052 3240 ands r2, r6
+ 2645 0054 2262 str r2, [r4, #32]
+2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** tmpAWDLowThresholdShifted );
+ 2646 .loc 1 2072 0
+ 2647 0056 0468 ldr r4, [r0]
+ 2648 0058 226A ldr r2, [r4, #32]
+ 2649 005a 1B04 lsls r3, r3, #16
+ 2650 .LVL209:
+ 2651 005c 2B43 orrs r3, r5
+ 2652 005e 1343 orrs r3, r2
+ 2653 0060 2362 str r3, [r4, #32]
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2654 .loc 1 2078 0
+ 2655 0062 0368 ldr r3, [r0]
+ 2656 0064 8022 movs r2, #128
+ 2657 0066 1A60 str r2, [r3]
+2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** {
+ 2658 .loc 1 2081 0
+ 2659 0068 0B7A ldrb r3, [r1, #8]
+ 2660 006a 012B cmp r3, #1
+ 2661 006c 06D0 beq .L209
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2662 .loc 1 2089 0
+ 2663 006e 0268 ldr r2, [r0]
+ 2664 0070 5368 ldr r3, [r2, #4]
+ 2665 0072 8021 movs r1, #128
+ 2666 .LVL210:
+ 2667 0074 8B43 bics r3, r1
+ ARM GAS /tmp/ccnlUpWq.s page 97
+
+
+ 2668 0076 5360 str r3, [r2, #4]
+2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2669 .loc 1 2024 0
+ 2670 0078 0023 movs r3, #0
+ 2671 007a 0BE0 b .L207
+ 2672 .LVL211:
+ 2673 .L209:
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2674 .loc 1 2084 0
+ 2675 007c 0268 ldr r2, [r0]
+ 2676 007e 5368 ldr r3, [r2, #4]
+ 2677 0080 8021 movs r1, #128
+ 2678 .LVL212:
+ 2679 0082 0B43 orrs r3, r1
+ 2680 0084 5360 str r3, [r2, #4]
+2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2681 .loc 1 2024 0
+ 2682 0086 0023 movs r3, #0
+ 2683 0088 04E0 b .L207
+ 2684 .LVL213:
+ 2685 .L205:
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2686 .loc 1 2098 0
+ 2687 008a 836B ldr r3, [r0, #56]
+ 2688 008c 2022 movs r2, #32
+ 2689 008e 1343 orrs r3, r2
+ 2690 0090 8363 str r3, [r0, #56]
+ 2691 .LVL214:
+2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2692 .loc 1 2100 0
+ 2693 0092 0123 movs r3, #1
+ 2694 .LVL215:
+ 2695 .L207:
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2696 .loc 1 2105 0
+ 2697 0094 3422 movs r2, #52
+ 2698 0096 0021 movs r1, #0
+ 2699 0098 8154 strb r1, [r0, r2]
+ 2700 .LVL216:
+ 2701 .L204:
+2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2702 .loc 1 2109 0
+ 2703 009a 1800 movs r0, r3
+ 2704 .LVL217:
+ 2705 @ sp needed
+ 2706 009c 70BD pop {r4, r5, r6, pc}
+ 2707 .LVL218:
+ 2708 .L208:
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2709 .loc 1 2044 0
+ 2710 009e 0223 movs r3, #2
+ 2711 00a0 FBE7 b .L204
+ 2712 .L211:
+ 2713 00a2 C046 .align 2
+ 2714 .L210:
+ 2715 00a4 FFFF3F83 .word -2092957697
+ 2716 00a8 00F000F0 .word -268374016
+ ARM GAS /tmp/ccnlUpWq.s page 98
+
+
+ 2717 .cfi_endproc
+ 2718 .LFE59:
+ 2720 .section .text.HAL_ADC_GetState,"ax",%progbits
+ 2721 .align 1
+ 2722 .global HAL_ADC_GetState
+ 2723 .syntax unified
+ 2724 .code 16
+ 2725 .thumb_func
+ 2726 .fpu softvfp
+ 2728 HAL_ADC_GetState:
+ 2729 .LFB60:
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** /* Check the parameters */
+ 2730 .loc 1 2145 0
+ 2731 .cfi_startproc
+ 2732 @ args = 0, pretend = 0, frame = 0
+ 2733 @ frame_needed = 0, uses_anonymous_args = 0
+ 2734 @ link register save eliminated.
+ 2735 .LVL219:
+2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2736 .loc 1 2150 0
+ 2737 0000 806B ldr r0, [r0, #56]
+ 2738 .LVL220:
+2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2739 .loc 1 2151 0
+ 2740 @ sp needed
+ 2741 0002 7047 bx lr
+ 2742 .cfi_endproc
+ 2743 .LFE60:
+ 2745 .section .text.HAL_ADC_GetError,"ax",%progbits
+ 2746 .align 1
+ 2747 .global HAL_ADC_GetError
+ 2748 .syntax unified
+ 2749 .code 16
+ 2750 .thumb_func
+ 2751 .fpu softvfp
+ 2753 HAL_ADC_GetError:
+ 2754 .LFB61:
+2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** return hadc->ErrorCode;
+ 2755 .loc 1 2159 0
+ 2756 .cfi_startproc
+ 2757 @ args = 0, pretend = 0, frame = 0
+ 2758 @ frame_needed = 0, uses_anonymous_args = 0
+ 2759 @ link register save eliminated.
+ 2760 .LVL221:
+2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c **** }
+ 2761 .loc 1 2160 0
+ 2762 0000 C06B ldr r0, [r0, #60]
+ 2763 .LVL222:
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc.c ****
+ 2764 .loc 1 2161 0
+ 2765 @ sp needed
+ 2766 0002 7047 bx lr
+ 2767 .cfi_endproc
+ 2768 .LFE61:
+ 2770 .text
+ 2771 .Letext0:
+ 2772 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ ARM GAS /tmp/ccnlUpWq.s page 99
+
+
+ 2773 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 2774 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 2775 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 2776 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 2777 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 2778 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 2779 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
+ 2780 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccnlUpWq.s page 100
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_adc.c
+ /tmp/ccnlUpWq.s:16 .text.ADC_ConversionStop:0000000000000000 $t
+ /tmp/ccnlUpWq.s:22 .text.ADC_ConversionStop:0000000000000000 ADC_ConversionStop
+ /tmp/ccnlUpWq.s:106 .text.ADC_Disable:0000000000000000 $t
+ /tmp/ccnlUpWq.s:112 .text.ADC_Disable:0000000000000000 ADC_Disable
+ /tmp/ccnlUpWq.s:228 .text.ADC_Enable:0000000000000000 $t
+ /tmp/ccnlUpWq.s:234 .text.ADC_Enable:0000000000000000 ADC_Enable
+ /tmp/ccnlUpWq.s:371 .text.ADC_Enable:000000000000009c $d
+ /tmp/ccnlUpWq.s:378 .text.HAL_ADC_MspInit:0000000000000000 $t
+ /tmp/ccnlUpWq.s:385 .text.HAL_ADC_MspInit:0000000000000000 HAL_ADC_MspInit
+ /tmp/ccnlUpWq.s:400 .text.HAL_ADC_Init:0000000000000000 $t
+ /tmp/ccnlUpWq.s:407 .text.HAL_ADC_Init:0000000000000000 HAL_ADC_Init
+ /tmp/ccnlUpWq.s:704 .text.HAL_ADC_Init:0000000000000170 $d
+ /tmp/ccnlUpWq.s:711 .text.HAL_ADC_MspDeInit:0000000000000000 $t
+ /tmp/ccnlUpWq.s:718 .text.HAL_ADC_MspDeInit:0000000000000000 HAL_ADC_MspDeInit
+ /tmp/ccnlUpWq.s:733 .text.HAL_ADC_DeInit:0000000000000000 $t
+ /tmp/ccnlUpWq.s:740 .text.HAL_ADC_DeInit:0000000000000000 HAL_ADC_DeInit
+ /tmp/ccnlUpWq.s:868 .text.HAL_ADC_DeInit:0000000000000094 $d
+ /tmp/ccnlUpWq.s:876 .text.HAL_ADC_Start:0000000000000000 $t
+ /tmp/ccnlUpWq.s:883 .text.HAL_ADC_Start:0000000000000000 HAL_ADC_Start
+ /tmp/ccnlUpWq.s:972 .text.HAL_ADC_Start:000000000000005c $d
+ /tmp/ccnlUpWq.s:977 .text.HAL_ADC_Stop:0000000000000000 $t
+ /tmp/ccnlUpWq.s:984 .text.HAL_ADC_Stop:0000000000000000 HAL_ADC_Stop
+ /tmp/ccnlUpWq.s:1053 .text.HAL_ADC_Stop:0000000000000040 $d
+ /tmp/ccnlUpWq.s:1058 .text.HAL_ADC_PollForConversion:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1065 .text.HAL_ADC_PollForConversion:0000000000000000 HAL_ADC_PollForConversion
+ /tmp/ccnlUpWq.s:1228 .text.HAL_ADC_PollForConversion:00000000000000c0 $d
+ /tmp/ccnlUpWq.s:1233 .text.HAL_ADC_PollForEvent:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1240 .text.HAL_ADC_PollForEvent:0000000000000000 HAL_ADC_PollForEvent
+ /tmp/ccnlUpWq.s:1351 .text.HAL_ADC_Start_IT:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1358 .text.HAL_ADC_Start_IT:0000000000000000 HAL_ADC_Start_IT
+ /tmp/ccnlUpWq.s:1474 .text.HAL_ADC_Start_IT:0000000000000084 $d
+ /tmp/ccnlUpWq.s:1479 .text.HAL_ADC_Stop_IT:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1486 .text.HAL_ADC_Stop_IT:0000000000000000 HAL_ADC_Stop_IT
+ /tmp/ccnlUpWq.s:1561 .text.HAL_ADC_Stop_IT:000000000000004c $d
+ /tmp/ccnlUpWq.s:1566 .text.HAL_ADC_Start_DMA:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1573 .text.HAL_ADC_Start_DMA:0000000000000000 HAL_ADC_Start_DMA
+ /tmp/ccnlUpWq.s:1702 .text.HAL_ADC_Start_DMA:0000000000000098 $d
+ /tmp/ccnlUpWq.s:1889 .text.ADC_DMAConvCplt:0000000000000000 ADC_DMAConvCplt
+ /tmp/ccnlUpWq.s:2016 .text.ADC_DMAHalfConvCplt:0000000000000000 ADC_DMAHalfConvCplt
+ /tmp/ccnlUpWq.s:2091 .text.ADC_DMAError:0000000000000000 ADC_DMAError
+ /tmp/ccnlUpWq.s:1710 .text.HAL_ADC_Stop_DMA:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1717 .text.HAL_ADC_Stop_DMA:0000000000000000 HAL_ADC_Stop_DMA
+ /tmp/ccnlUpWq.s:1830 .text.HAL_ADC_Stop_DMA:0000000000000078 $d
+ /tmp/ccnlUpWq.s:1835 .text.HAL_ADC_GetValue:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1842 .text.HAL_ADC_GetValue:0000000000000000 HAL_ADC_GetValue
+ /tmp/ccnlUpWq.s:1861 .text.HAL_ADC_ConvCpltCallback:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1868 .text.HAL_ADC_ConvCpltCallback:0000000000000000 HAL_ADC_ConvCpltCallback
+ /tmp/ccnlUpWq.s:1883 .text.ADC_DMAConvCplt:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1983 .text.ADC_DMAConvCplt:000000000000006c $d
+ /tmp/ccnlUpWq.s:1988 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 $t
+ /tmp/ccnlUpWq.s:1995 .text.HAL_ADC_ConvHalfCpltCallback:0000000000000000 HAL_ADC_ConvHalfCpltCallback
+ /tmp/ccnlUpWq.s:2010 .text.ADC_DMAHalfConvCplt:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2041 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2048 .text.HAL_ADC_LevelOutOfWindowCallback:0000000000000000 HAL_ADC_LevelOutOfWindowCallback
+ /tmp/ccnlUpWq.s:2063 .text.HAL_ADC_ErrorCallback:0000000000000000 $t
+ ARM GAS /tmp/ccnlUpWq.s page 101
+
+
+ /tmp/ccnlUpWq.s:2070 .text.HAL_ADC_ErrorCallback:0000000000000000 HAL_ADC_ErrorCallback
+ /tmp/ccnlUpWq.s:2085 .text.ADC_DMAError:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2126 .text.HAL_ADC_IRQHandler:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2133 .text.HAL_ADC_IRQHandler:0000000000000000 HAL_ADC_IRQHandler
+ /tmp/ccnlUpWq.s:2304 .text.HAL_ADC_IRQHandler:00000000000000d8 $d
+ /tmp/ccnlUpWq.s:2309 .text.HAL_ADC_ConfigChannel:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2316 .text.HAL_ADC_ConfigChannel:0000000000000000 HAL_ADC_ConfigChannel
+ /tmp/ccnlUpWq.s:2559 .text.HAL_ADC_ConfigChannel:0000000000000130 $d
+ /tmp/ccnlUpWq.s:2570 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2577 .text.HAL_ADC_AnalogWDGConfig:0000000000000000 HAL_ADC_AnalogWDGConfig
+ /tmp/ccnlUpWq.s:2715 .text.HAL_ADC_AnalogWDGConfig:00000000000000a4 $d
+ /tmp/ccnlUpWq.s:2721 .text.HAL_ADC_GetState:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2728 .text.HAL_ADC_GetState:0000000000000000 HAL_ADC_GetState
+ /tmp/ccnlUpWq.s:2746 .text.HAL_ADC_GetError:0000000000000000 $t
+ /tmp/ccnlUpWq.s:2753 .text.HAL_ADC_GetError:0000000000000000 HAL_ADC_GetError
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+__aeabi_uidiv
+SystemCoreClock
+HAL_DMA_Start_IT
+HAL_DMA_Abort
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc.o b/fw/midi-dials/build/stm32f0xx_hal_adc.o
new file mode 100644
index 0000000..4b8bda9
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc_ex.d b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.d
new file mode 100644
index 0000000..48ccdfe
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_adc_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.lst
new file mode 100644
index 0000000..10ac331
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.lst
@@ -0,0 +1,382 @@
+ARM GAS /tmp/ccrR1nOM.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 "stm32f0xx_hal_adc_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_ADCEx_Calibration_Start,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_ADCEx_Calibration_Start
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_ADCEx_Calibration_Start:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @file stm32f0xx_hal_adc_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @brief This file provides firmware functions to manage the following
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * functionalities of the Analog to Digital Convertor (ADC)
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * + Operation functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * ++ Calibration (ADC automatic self-calibration)
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * Other functions (generic functions) are available in file
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * "stm32f0xx_hal_adc.c".
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** *
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** @verbatim
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** [..]
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** (@) Sections "ADC peripheral features" and "How to use this driver" are
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** available in file of generic functions "stm32l1xx_hal_adc.c".
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** [..]
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** @endverbatim
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ******************************************************************************
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @attention
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** *
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * All rights reserved.</center></h2>
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** *
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * License. You may obtain a copy of the License at:
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** *
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ******************************************************************************
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Includes ------------------------------------------------------------------*/
+ ARM GAS /tmp/ccrR1nOM.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** #include "stm32f0xx_hal.h"
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @{
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /** @defgroup ADCEx ADCEx
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @brief ADC HAL module driver
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @{
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** #ifdef HAL_ADC_MODULE_ENABLED
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private typedef -----------------------------------------------------------*/
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private define ------------------------------------------------------------*/
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /** @defgroup ADCEx_Private_Constants ADCEx Private Constants
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @{
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Fixed timeout values for ADC calibration, enable settling time, disable */
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* settling time. */
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Values defined to be higher than worst cases: low clock frequency, */
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* maximum prescaler. */
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Ex of profile low frequency : Clock source at 0.1 MHz, ADC clock */
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* prescaler 4. */
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Unit: ms */
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** #define ADC_DISABLE_TIMEOUT 2
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** #define ADC_CALIBRATION_TIMEOUT 2U
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /**
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @}
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private macros -------------------------------------------------------------*/
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private variables ---------------------------------------------------------*/
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private function prototypes -----------------------------------------------*/
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Private functions ---------------------------------------------------------*/
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /** @defgroup ADCEx_Exported_Functions ADCEx Exported Functions
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @{
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /** @defgroup ADCEx_Exported_Functions_Group1 Extended Initialization/de-initialization functions
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @brief Extended Initialization and Configuration functions
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** *
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** @verbatim
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ===============================================================================
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ##### IO operation functions #####
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ===============================================================================
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** [..] This section provides functions allowing to:
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** (+) Perform the ADC calibration.
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** @endverbatim
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @{
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /**
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @brief Perform an ADC automatic self-calibration
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * Calibration prerequisite: ADC must be disabled (execute this
+ ARM GAS /tmp/ccrR1nOM.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * function before HAL_ADC_Start() or after HAL_ADC_Stop() ).
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @note Calibration factor can be read after calibration, using function
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * HAL_ADC_GetValue() (value on 7 bits: from DR[6;0]).
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @param hadc ADC handle
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** * @retval HAL status
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** */
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc)
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** {
+ 26 .loc 1 98 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 70B5 push {r4, r5, r6, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 16
+ 34 .cfi_offset 4, -16
+ 35 .cfi_offset 5, -12
+ 36 .cfi_offset 6, -8
+ 37 .cfi_offset 14, -4
+ 38 0002 0400 movs r4, r0
+ 39 .LVL1:
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_StatusTypeDef tmp_hal_status = HAL_OK;
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** uint32_t tickstart = 0U;
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** uint32_t backup_setting_adc_dma_transfer = 0; /* Note: Variable not declared as volatile because
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Check the parameters */
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance));
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Process locked */
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** __HAL_LOCK(hadc);
+ 40 .loc 1 107 0
+ 41 0004 3423 movs r3, #52
+ 42 0006 C35C ldrb r3, [r0, r3]
+ 43 0008 012B cmp r3, #1
+ 44 000a 4CD0 beq .L8
+ 45 .loc 1 107 0 is_stmt 0 discriminator 2
+ 46 000c 3423 movs r3, #52
+ 47 000e 0122 movs r2, #1
+ 48 0010 C254 strb r2, [r0, r3]
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Calibration prerequisite: ADC must be disabled. */
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** if (ADC_IS_ENABLE(hadc) == RESET)
+ 49 .loc 1 110 0 is_stmt 1 discriminator 2
+ 50 0012 0368 ldr r3, [r0]
+ 51 0014 9968 ldr r1, [r3, #8]
+ 52 0016 0232 adds r2, r2, #2
+ 53 0018 0A40 ands r2, r1
+ 54 001a 012A cmp r2, #1
+ 55 001c 05D1 bne .L3
+ 56 .loc 1 110 0 is_stmt 0 discriminator 1
+ 57 001e 1A68 ldr r2, [r3]
+ 58 0020 D207 lsls r2, r2, #31
+ 59 0022 37D4 bmi .L4
+ 60 .loc 1 110 0 discriminator 4
+ 61 0024 DA68 ldr r2, [r3, #12]
+ 62 0026 1204 lsls r2, r2, #16
+ ARM GAS /tmp/ccrR1nOM.s page 4
+
+
+ 63 0028 34D4 bmi .L4
+ 64 .L3:
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** {
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Set ADC state */
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State,
+ 65 .loc 1 113 0 is_stmt 1
+ 66 002a A26B ldr r2, [r4, #56]
+ 67 002c 1F49 ldr r1, .L10
+ 68 002e 0A40 ands r2, r1
+ 69 0030 0631 adds r1, r1, #6
+ 70 0032 FF31 adds r1, r1, #255
+ 71 0034 0A43 orrs r2, r1
+ 72 0036 A263 str r2, [r4, #56]
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_REG_BUSY,
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_BUSY_INTERNAL);
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Disable ADC DMA transfer request during calibration */
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Note: Specificity of this STM32 serie: Calibration factor is */
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* available in data register and also transfered by DMA. */
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* To not insert ADC calibration factor among ADC conversion data */
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* in array variable, DMA transfer must be disabled during */
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* calibration. */
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** backup_setting_adc_dma_transfer = READ_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN | ADC_CFGR1_D
+ 73 .loc 1 123 0
+ 74 0038 DE68 ldr r6, [r3, #12]
+ 75 003a 0131 adds r1, r1, #1
+ 76 003c 0E40 ands r6, r1
+ 77 .LVL2:
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** CLEAR_BIT(hadc->Instance->CFGR1, ADC_CFGR1_DMAEN | ADC_CFGR1_DMACFG);
+ 78 .loc 1 124 0
+ 79 003e DA68 ldr r2, [r3, #12]
+ 80 0040 8A43 bics r2, r1
+ 81 0042 DA60 str r2, [r3, #12]
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Start ADC calibration */
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** hadc->Instance->CR |= ADC_CR_ADCAL;
+ 82 .loc 1 127 0
+ 83 0044 2268 ldr r2, [r4]
+ 84 0046 9168 ldr r1, [r2, #8]
+ 85 0048 8023 movs r3, #128
+ 86 004a 1B06 lsls r3, r3, #24
+ 87 004c 0B43 orrs r3, r1
+ 88 004e 9360 str r3, [r2, #8]
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** tickstart = HAL_GetTick();
+ 89 .loc 1 129 0
+ 90 0050 FFF7FEFF bl HAL_GetTick
+ 91 .LVL3:
+ 92 0054 0500 movs r5, r0
+ 93 .LVL4:
+ 94 .L5:
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Wait for calibration completion */
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** while(HAL_IS_BIT_SET(hadc->Instance->CR, ADC_CR_ADCAL))
+ 95 .loc 1 132 0
+ 96 0056 2368 ldr r3, [r4]
+ 97 0058 9A68 ldr r2, [r3, #8]
+ ARM GAS /tmp/ccrR1nOM.s page 5
+
+
+ 98 005a 002A cmp r2, #0
+ 99 005c 0FDA bge .L9
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** {
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** if((HAL_GetTick() - tickstart) > ADC_CALIBRATION_TIMEOUT)
+ 100 .loc 1 134 0
+ 101 005e FFF7FEFF bl HAL_GetTick
+ 102 .LVL5:
+ 103 0062 401B subs r0, r0, r5
+ 104 0064 0228 cmp r0, #2
+ 105 0066 F6D9 bls .L5
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** {
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Update ADC state machine to error */
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State,
+ 106 .loc 1 137 0
+ 107 0068 A36B ldr r3, [r4, #56]
+ 108 006a 1222 movs r2, #18
+ 109 006c 9343 bics r3, r2
+ 110 006e 023A subs r2, r2, #2
+ 111 0070 1343 orrs r3, r2
+ 112 0072 A363 str r3, [r4, #56]
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_ERROR_INTERNAL);
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Process unlocked */
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc);
+ 113 .loc 1 142 0
+ 114 0074 3423 movs r3, #52
+ 115 0076 0022 movs r2, #0
+ 116 0078 E254 strb r2, [r4, r3]
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** return HAL_ERROR;
+ 117 .loc 1 144 0
+ 118 007a 0120 movs r0, #1
+ 119 007c 12E0 b .L2
+ 120 .L9:
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** }
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** }
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Restore ADC DMA transfer request after calibration */
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** SET_BIT(hadc->Instance->CFGR1, backup_setting_adc_dma_transfer);
+ 121 .loc 1 149 0
+ 122 007e DA68 ldr r2, [r3, #12]
+ 123 0080 1643 orrs r6, r2
+ 124 .LVL6:
+ 125 0082 DE60 str r6, [r3, #12]
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Set ADC state */
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** ADC_STATE_CLR_SET(hadc->State,
+ 126 .loc 1 152 0
+ 127 0084 A36B ldr r3, [r4, #56]
+ 128 0086 0322 movs r2, #3
+ 129 0088 9343 bics r3, r2
+ 130 008a 023A subs r2, r2, #2
+ 131 008c 1343 orrs r3, r2
+ 132 008e A363 str r3, [r4, #56]
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** uint32_t tickstart = 0U;
+ 133 .loc 1 99 0
+ ARM GAS /tmp/ccrR1nOM.s page 6
+
+
+ 134 0090 0020 movs r0, #0
+ 135 0092 04E0 b .L7
+ 136 .LVL7:
+ 137 .L4:
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_BUSY_INTERNAL,
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** HAL_ADC_STATE_READY);
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** }
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** else
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** {
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Update ADC state machine to error */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG);
+ 138 .loc 1 159 0
+ 139 0094 A36B ldr r3, [r4, #56]
+ 140 0096 2022 movs r2, #32
+ 141 0098 1343 orrs r3, r2
+ 142 009a A363 str r3, [r4, #56]
+ 143 .LVL8:
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** tmp_hal_status = HAL_ERROR;
+ 144 .loc 1 161 0
+ 145 009c 0120 movs r0, #1
+ 146 .LVL9:
+ 147 .L7:
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** }
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Process unlocked */
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** __HAL_UNLOCK(hadc);
+ 148 .loc 1 165 0
+ 149 009e 3423 movs r3, #52
+ 150 00a0 0022 movs r2, #0
+ 151 00a2 E254 strb r2, [r4, r3]
+ 152 .LVL10:
+ 153 .L2:
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** /* Return function status */
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** return tmp_hal_status;
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c **** }
+ 154 .loc 1 169 0
+ 155 @ sp needed
+ 156 .LVL11:
+ 157 00a4 70BD pop {r4, r5, r6, pc}
+ 158 .LVL12:
+ 159 .L8:
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_adc_ex.c ****
+ 160 .loc 1 107 0
+ 161 00a6 0220 movs r0, #2
+ 162 .LVL13:
+ 163 00a8 FCE7 b .L2
+ 164 .L11:
+ 165 00aa C046 .align 2
+ 166 .L10:
+ 167 00ac FDFEFFFF .word -259
+ 168 .cfi_endproc
+ 169 .LFE40:
+ 171 .text
+ 172 .Letext0:
+ 173 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ ARM GAS /tmp/ccrR1nOM.s page 7
+
+
+ 174 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 175 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 176 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 177 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 178 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 179 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 180 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
+ 181 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccrR1nOM.s page 8
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_adc_ex.c
+ /tmp/ccrR1nOM.s:16 .text.HAL_ADCEx_Calibration_Start:0000000000000000 $t
+ /tmp/ccrR1nOM.s:23 .text.HAL_ADCEx_Calibration_Start:0000000000000000 HAL_ADCEx_Calibration_Start
+ /tmp/ccrR1nOM.s:167 .text.HAL_ADCEx_Calibration_Start:00000000000000ac $d
+
+UNDEFINED SYMBOLS
+HAL_GetTick
diff --git a/fw/midi-dials/build/stm32f0xx_hal_adc_ex.o b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.o
new file mode 100644
index 0000000..dc0fdd9
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_adc_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_cortex.d b/fw/midi-dials/build/stm32f0xx_hal_cortex.d
new file mode 100644
index 0000000..cd6456a
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_cortex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_cortex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_cortex.lst b/fw/midi-dials/build/stm32f0xx_hal_cortex.lst
new file mode 100644
index 0000000..4017aae
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_cortex.lst
@@ -0,0 +1,3024 @@
+ARM GAS /tmp/ccwGqVnP.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 "stm32f0xx_hal_cortex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_NVIC_SetPriority,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_NVIC_SetPriority
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_NVIC_SetPriority:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @file stm32f0xx_hal_cortex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief CORTEX HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * functionalities of the CORTEX:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * + Peripheral Control functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @verbatim
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### How to use this driver #####
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *** How to configure Interrupts using CORTEX HAL driver ***
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ===========================================================
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This section provides functions allowing to configure the NVIC interrupts (IRQ).
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** The Cortex-M0 exceptions are managed by CMSIS functions.
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Enable and Configure the priority of the selected IRQ Channels.
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** The priority can be 0..3.
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Lower priority values gives higher priority.
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Priority Order:
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#@) Lowest priority.
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#@) Lowest hardware priority (IRQn position).
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Configure the priority of the selected IRQ Channels using HAL_NVIC_SetPriority()
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (#) Enable the selected IRQ Channels using HAL_NVIC_EnableIRQ()
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ ARM GAS /tmp/ccwGqVnP.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** -@- Negative value of IRQn_Type are not allowed.
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *** How to configure Systick using CORTEX HAL driver ***
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ========================================================
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Setup SysTick Timer for time base.
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) The HAL_SYSTICK_Config()function calls the SysTick_Config() function which
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** is a CMSIS function that:
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick Reload register with value passed as function parameter.
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick IRQ priority to the lowest value (0x03).
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Resets the SysTick Counter register.
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Configures the SysTick Counter clock source to be Core Clock Source (HCLK).
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Enables the SysTick Interrupt.
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Starts the SysTick Counter.
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) You can change the SysTick Clock source to be HCLK_Div8 by calling the macro
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8) just after the
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Config() function call. The HAL_SYSTICK_CLKSourceConfig() macro is defined
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** inside the stm32f0xx_hal_cortex.h file.
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) You can change the SysTick IRQ priority by calling the
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_NVIC_SetPriority(SysTick_IRQn,...) function just after the HAL_SYSTICK_Config() function
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** call. The HAL_NVIC_SetPriority() call the NVIC_SetPriority() function which is a CMSIS funct
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (+) To adjust the SysTick time base, use the following formula:
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s)
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Reload Value is the parameter to be passed for HAL_SYSTICK_Config() function
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (++) Reload Value should not exceed 0xFFFFFF
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ******************************************************************************
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @attention
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * All rights reserved.</center></h2>
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * the "License"; You may not use this file except in compliance with the
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * License. You may obtain a copy of the License at:
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * opensource.org/licenses/BSD-3-Clause
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ******************************************************************************
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Includes ------------------------------------------------------------------*/
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** #include "stm32f0xx_hal.h"
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX CORTEX
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief CORTEX CORTEX HAL module driver
+ ARM GAS /tmp/ccwGqVnP.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** #ifdef HAL_CORTEX_MODULE_ENABLED
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private typedef -----------------------------------------------------------*/
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private define ------------------------------------------------------------*/
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private macro -------------------------------------------------------------*/
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private variables ---------------------------------------------------------*/
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Private function prototypes -----------------------------------------------*/
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Exported functions ---------------------------------------------------------*/
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions CORTEX Exported Functions
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initialization and Configuration functions
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @verbatim
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### Initialization and de-initialization functions #####
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This section provides the CORTEX HAL driver functions allowing to configure Interrupts
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** Systick functionalities
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Sets the priority of an interrupt.
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number .
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to stm32f0xx.h file)
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param PreemptPriority The preemption priority for the IRQn channel.
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be a value between 0 and 3.
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * A lower priority value indicates a higher priority
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param SubPriority the subpriority level for the IRQ channel.
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * with stm32f0xx devices, this parameter is a dummy value and it is ignored, because
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * no subpriority supported in Cortex M0 based products.
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 26 .loc 1 137 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 70B5 push {r4, r5, r6, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 16
+ 34 .cfi_offset 4, -16
+ 35 .cfi_offset 5, -12
+ ARM GAS /tmp/ccwGqVnP.s page 4
+
+
+ 36 .cfi_offset 6, -8
+ 37 .cfi_offset 14, -4
+ 38 .LVL1:
+ 39 .LBB32:
+ 40 .LBB33:
+ 41 .file 2 "Drivers/CMSIS/Include/core_cm0.h"
+ 1:Drivers/CMSIS/Include/core_cm0.h **** /**************************************************************************//**
+ 2:Drivers/CMSIS/Include/core_cm0.h **** * @file core_cm0.h
+ 3:Drivers/CMSIS/Include/core_cm0.h **** * @brief CMSIS Cortex-M0 Core Peripheral Access Layer Header File
+ 4:Drivers/CMSIS/Include/core_cm0.h **** * @version V5.0.5
+ 5:Drivers/CMSIS/Include/core_cm0.h **** * @date 28. May 2018
+ 6:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/
+ 7:Drivers/CMSIS/Include/core_cm0.h **** /*
+ 8:Drivers/CMSIS/Include/core_cm0.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ 9:Drivers/CMSIS/Include/core_cm0.h **** *
+ 10:Drivers/CMSIS/Include/core_cm0.h **** * SPDX-License-Identifier: Apache-2.0
+ 11:Drivers/CMSIS/Include/core_cm0.h **** *
+ 12:Drivers/CMSIS/Include/core_cm0.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
+ 13:Drivers/CMSIS/Include/core_cm0.h **** * not use this file except in compliance with the License.
+ 14:Drivers/CMSIS/Include/core_cm0.h **** * You may obtain a copy of the License at
+ 15:Drivers/CMSIS/Include/core_cm0.h **** *
+ 16:Drivers/CMSIS/Include/core_cm0.h **** * www.apache.org/licenses/LICENSE-2.0
+ 17:Drivers/CMSIS/Include/core_cm0.h **** *
+ 18:Drivers/CMSIS/Include/core_cm0.h **** * Unless required by applicable law or agreed to in writing, software
+ 19:Drivers/CMSIS/Include/core_cm0.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ 20:Drivers/CMSIS/Include/core_cm0.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ 21:Drivers/CMSIS/Include/core_cm0.h **** * See the License for the specific language governing permissions and
+ 22:Drivers/CMSIS/Include/core_cm0.h **** * limitations under the License.
+ 23:Drivers/CMSIS/Include/core_cm0.h **** */
+ 24:Drivers/CMSIS/Include/core_cm0.h ****
+ 25:Drivers/CMSIS/Include/core_cm0.h **** #if defined ( __ICCARM__ )
+ 26:Drivers/CMSIS/Include/core_cm0.h **** #pragma system_include /* treat file as system include file for MISRA check */
+ 27:Drivers/CMSIS/Include/core_cm0.h **** #elif defined (__clang__)
+ 28:Drivers/CMSIS/Include/core_cm0.h **** #pragma clang system_header /* treat file as system include file */
+ 29:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 30:Drivers/CMSIS/Include/core_cm0.h ****
+ 31:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CORE_CM0_H_GENERIC
+ 32:Drivers/CMSIS/Include/core_cm0.h **** #define __CORE_CM0_H_GENERIC
+ 33:Drivers/CMSIS/Include/core_cm0.h ****
+ 34:Drivers/CMSIS/Include/core_cm0.h **** #include <stdint.h>
+ 35:Drivers/CMSIS/Include/core_cm0.h ****
+ 36:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus
+ 37:Drivers/CMSIS/Include/core_cm0.h **** extern "C" {
+ 38:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 39:Drivers/CMSIS/Include/core_cm0.h ****
+ 40:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 41:Drivers/CMSIS/Include/core_cm0.h **** \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions
+ 42:Drivers/CMSIS/Include/core_cm0.h **** CMSIS violates the following MISRA-C:2004 rules:
+ 43:Drivers/CMSIS/Include/core_cm0.h ****
+ 44:Drivers/CMSIS/Include/core_cm0.h **** \li Required Rule 8.5, object/function definition in header file.<br>
+ 45:Drivers/CMSIS/Include/core_cm0.h **** Function definitions in header files are used to allow 'inlining'.
+ 46:Drivers/CMSIS/Include/core_cm0.h ****
+ 47:Drivers/CMSIS/Include/core_cm0.h **** \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
+ 48:Drivers/CMSIS/Include/core_cm0.h **** Unions are used for effective representation of core registers.
+ 49:Drivers/CMSIS/Include/core_cm0.h ****
+ 50:Drivers/CMSIS/Include/core_cm0.h **** \li Advisory Rule 19.7, Function-like macro defined.<br>
+ 51:Drivers/CMSIS/Include/core_cm0.h **** Function-like macros are used to allow more efficient code.
+ ARM GAS /tmp/ccwGqVnP.s page 5
+
+
+ 52:Drivers/CMSIS/Include/core_cm0.h **** */
+ 53:Drivers/CMSIS/Include/core_cm0.h ****
+ 54:Drivers/CMSIS/Include/core_cm0.h ****
+ 55:Drivers/CMSIS/Include/core_cm0.h **** /*******************************************************************************
+ 56:Drivers/CMSIS/Include/core_cm0.h **** * CMSIS definitions
+ 57:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/
+ 58:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 59:Drivers/CMSIS/Include/core_cm0.h **** \ingroup Cortex_M0
+ 60:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 61:Drivers/CMSIS/Include/core_cm0.h **** */
+ 62:Drivers/CMSIS/Include/core_cm0.h ****
+ 63:Drivers/CMSIS/Include/core_cm0.h **** #include "cmsis_version.h"
+ 64:Drivers/CMSIS/Include/core_cm0.h ****
+ 65:Drivers/CMSIS/Include/core_cm0.h **** /* CMSIS CM0 definitions */
+ 66:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:16] C
+ 67:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0] C
+ 68:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_CMSIS_VERSION ((__CM0_CMSIS_VERSION_MAIN << 16U) | \
+ 69:Drivers/CMSIS/Include/core_cm0.h **** __CM0_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS HAL
+ 70:Drivers/CMSIS/Include/core_cm0.h ****
+ 71:Drivers/CMSIS/Include/core_cm0.h **** #define __CORTEX_M (0U) /*!< Cortex-M Core */
+ 72:Drivers/CMSIS/Include/core_cm0.h ****
+ 73:Drivers/CMSIS/Include/core_cm0.h **** /** __FPU_USED indicates whether an FPU is used or not.
+ 74:Drivers/CMSIS/Include/core_cm0.h **** This core does not support an FPU at all
+ 75:Drivers/CMSIS/Include/core_cm0.h **** */
+ 76:Drivers/CMSIS/Include/core_cm0.h **** #define __FPU_USED 0U
+ 77:Drivers/CMSIS/Include/core_cm0.h ****
+ 78:Drivers/CMSIS/Include/core_cm0.h **** #if defined ( __CC_ARM )
+ 79:Drivers/CMSIS/Include/core_cm0.h **** #if defined __TARGET_FPU_VFP
+ 80:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 81:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 82:Drivers/CMSIS/Include/core_cm0.h ****
+ 83:Drivers/CMSIS/Include/core_cm0.h **** #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
+ 84:Drivers/CMSIS/Include/core_cm0.h **** #if defined __ARM_PCS_VFP
+ 85:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 86:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 87:Drivers/CMSIS/Include/core_cm0.h ****
+ 88:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __GNUC__ )
+ 89:Drivers/CMSIS/Include/core_cm0.h **** #if defined (__VFP_FP__) && !defined(__SOFTFP__)
+ 90:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 91:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 92:Drivers/CMSIS/Include/core_cm0.h ****
+ 93:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __ICCARM__ )
+ 94:Drivers/CMSIS/Include/core_cm0.h **** #if defined __ARMVFP__
+ 95:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 96:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 97:Drivers/CMSIS/Include/core_cm0.h ****
+ 98:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __TI_ARM__ )
+ 99:Drivers/CMSIS/Include/core_cm0.h **** #if defined __TI_VFP_SUPPORT__
+ 100:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 101:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 102:Drivers/CMSIS/Include/core_cm0.h ****
+ 103:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __TASKING__ )
+ 104:Drivers/CMSIS/Include/core_cm0.h **** #if defined __FPU_VFP__
+ 105:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 106:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 107:Drivers/CMSIS/Include/core_cm0.h ****
+ 108:Drivers/CMSIS/Include/core_cm0.h **** #elif defined ( __CSMC__ )
+ ARM GAS /tmp/ccwGqVnP.s page 6
+
+
+ 109:Drivers/CMSIS/Include/core_cm0.h **** #if ( __CSMC__ & 0x400U)
+ 110:Drivers/CMSIS/Include/core_cm0.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
+ 111:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 112:Drivers/CMSIS/Include/core_cm0.h ****
+ 113:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 114:Drivers/CMSIS/Include/core_cm0.h ****
+ 115:Drivers/CMSIS/Include/core_cm0.h **** #include "cmsis_compiler.h" /* CMSIS compiler specific defines */
+ 116:Drivers/CMSIS/Include/core_cm0.h ****
+ 117:Drivers/CMSIS/Include/core_cm0.h ****
+ 118:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus
+ 119:Drivers/CMSIS/Include/core_cm0.h **** }
+ 120:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 121:Drivers/CMSIS/Include/core_cm0.h ****
+ 122:Drivers/CMSIS/Include/core_cm0.h **** #endif /* __CORE_CM0_H_GENERIC */
+ 123:Drivers/CMSIS/Include/core_cm0.h ****
+ 124:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CMSIS_GENERIC
+ 125:Drivers/CMSIS/Include/core_cm0.h ****
+ 126:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CORE_CM0_H_DEPENDANT
+ 127:Drivers/CMSIS/Include/core_cm0.h **** #define __CORE_CM0_H_DEPENDANT
+ 128:Drivers/CMSIS/Include/core_cm0.h ****
+ 129:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus
+ 130:Drivers/CMSIS/Include/core_cm0.h **** extern "C" {
+ 131:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 132:Drivers/CMSIS/Include/core_cm0.h ****
+ 133:Drivers/CMSIS/Include/core_cm0.h **** /* check device defines and use defaults */
+ 134:Drivers/CMSIS/Include/core_cm0.h **** #if defined __CHECK_DEVICE_DEFINES
+ 135:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __CM0_REV
+ 136:Drivers/CMSIS/Include/core_cm0.h **** #define __CM0_REV 0x0000U
+ 137:Drivers/CMSIS/Include/core_cm0.h **** #warning "__CM0_REV not defined in device header file; using default!"
+ 138:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 139:Drivers/CMSIS/Include/core_cm0.h ****
+ 140:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __NVIC_PRIO_BITS
+ 141:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_PRIO_BITS 2U
+ 142:Drivers/CMSIS/Include/core_cm0.h **** #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
+ 143:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 144:Drivers/CMSIS/Include/core_cm0.h ****
+ 145:Drivers/CMSIS/Include/core_cm0.h **** #ifndef __Vendor_SysTickConfig
+ 146:Drivers/CMSIS/Include/core_cm0.h **** #define __Vendor_SysTickConfig 0U
+ 147:Drivers/CMSIS/Include/core_cm0.h **** #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
+ 148:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 149:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 150:Drivers/CMSIS/Include/core_cm0.h ****
+ 151:Drivers/CMSIS/Include/core_cm0.h **** /* IO definitions (access restrictions to peripheral registers) */
+ 152:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 153:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_glob_defs CMSIS Global Defines
+ 154:Drivers/CMSIS/Include/core_cm0.h ****
+ 155:Drivers/CMSIS/Include/core_cm0.h **** <strong>IO Type Qualifiers</strong> are used
+ 156:Drivers/CMSIS/Include/core_cm0.h **** \li to specify the access to peripheral variables.
+ 157:Drivers/CMSIS/Include/core_cm0.h **** \li for automatic generation of peripheral register debug information.
+ 158:Drivers/CMSIS/Include/core_cm0.h **** */
+ 159:Drivers/CMSIS/Include/core_cm0.h **** #ifdef __cplusplus
+ 160:Drivers/CMSIS/Include/core_cm0.h **** #define __I volatile /*!< Defines 'read only' permissions */
+ 161:Drivers/CMSIS/Include/core_cm0.h **** #else
+ 162:Drivers/CMSIS/Include/core_cm0.h **** #define __I volatile const /*!< Defines 'read only' permissions */
+ 163:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 164:Drivers/CMSIS/Include/core_cm0.h **** #define __O volatile /*!< Defines 'write only' permissions */
+ 165:Drivers/CMSIS/Include/core_cm0.h **** #define __IO volatile /*!< Defines 'read / write' permissions */
+ ARM GAS /tmp/ccwGqVnP.s page 7
+
+
+ 166:Drivers/CMSIS/Include/core_cm0.h ****
+ 167:Drivers/CMSIS/Include/core_cm0.h **** /* following defines should be used for structure members */
+ 168:Drivers/CMSIS/Include/core_cm0.h **** #define __IM volatile const /*! Defines 'read only' structure member permissions */
+ 169:Drivers/CMSIS/Include/core_cm0.h **** #define __OM volatile /*! Defines 'write only' structure member permissions */
+ 170:Drivers/CMSIS/Include/core_cm0.h **** #define __IOM volatile /*! Defines 'read / write' structure member permissions */
+ 171:Drivers/CMSIS/Include/core_cm0.h ****
+ 172:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group Cortex_M0 */
+ 173:Drivers/CMSIS/Include/core_cm0.h ****
+ 174:Drivers/CMSIS/Include/core_cm0.h ****
+ 175:Drivers/CMSIS/Include/core_cm0.h ****
+ 176:Drivers/CMSIS/Include/core_cm0.h **** /*******************************************************************************
+ 177:Drivers/CMSIS/Include/core_cm0.h **** * Register Abstraction
+ 178:Drivers/CMSIS/Include/core_cm0.h **** Core Register contain:
+ 179:Drivers/CMSIS/Include/core_cm0.h **** - Core Register
+ 180:Drivers/CMSIS/Include/core_cm0.h **** - Core NVIC Register
+ 181:Drivers/CMSIS/Include/core_cm0.h **** - Core SCB Register
+ 182:Drivers/CMSIS/Include/core_cm0.h **** - Core SysTick Register
+ 183:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/
+ 184:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 185:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_register Defines and Type Definitions
+ 186:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions and defines for Cortex-M processor based devices.
+ 187:Drivers/CMSIS/Include/core_cm0.h **** */
+ 188:Drivers/CMSIS/Include/core_cm0.h ****
+ 189:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 190:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 191:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_CORE Status and Control Registers
+ 192:Drivers/CMSIS/Include/core_cm0.h **** \brief Core Register type definitions.
+ 193:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 194:Drivers/CMSIS/Include/core_cm0.h **** */
+ 195:Drivers/CMSIS/Include/core_cm0.h ****
+ 196:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 197:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Application Program Status Register (APSR).
+ 198:Drivers/CMSIS/Include/core_cm0.h **** */
+ 199:Drivers/CMSIS/Include/core_cm0.h **** typedef union
+ 200:Drivers/CMSIS/Include/core_cm0.h **** {
+ 201:Drivers/CMSIS/Include/core_cm0.h **** struct
+ 202:Drivers/CMSIS/Include/core_cm0.h **** {
+ 203:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:28; /*!< bit: 0..27 Reserved */
+ 204:Drivers/CMSIS/Include/core_cm0.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
+ 205:Drivers/CMSIS/Include/core_cm0.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */
+ 206:Drivers/CMSIS/Include/core_cm0.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
+ 207:Drivers/CMSIS/Include/core_cm0.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */
+ 208:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */
+ 209:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */
+ 210:Drivers/CMSIS/Include/core_cm0.h **** } APSR_Type;
+ 211:Drivers/CMSIS/Include/core_cm0.h ****
+ 212:Drivers/CMSIS/Include/core_cm0.h **** /* APSR Register Definitions */
+ 213:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_N_Pos 31U /*!< APSR
+ 214:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR
+ 215:Drivers/CMSIS/Include/core_cm0.h ****
+ 216:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_Z_Pos 30U /*!< APSR
+ 217:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR
+ 218:Drivers/CMSIS/Include/core_cm0.h ****
+ 219:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_C_Pos 29U /*!< APSR
+ 220:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR
+ 221:Drivers/CMSIS/Include/core_cm0.h ****
+ 222:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_V_Pos 28U /*!< APSR
+ ARM GAS /tmp/ccwGqVnP.s page 8
+
+
+ 223:Drivers/CMSIS/Include/core_cm0.h **** #define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR
+ 224:Drivers/CMSIS/Include/core_cm0.h ****
+ 225:Drivers/CMSIS/Include/core_cm0.h ****
+ 226:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 227:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Interrupt Program Status Register (IPSR).
+ 228:Drivers/CMSIS/Include/core_cm0.h **** */
+ 229:Drivers/CMSIS/Include/core_cm0.h **** typedef union
+ 230:Drivers/CMSIS/Include/core_cm0.h **** {
+ 231:Drivers/CMSIS/Include/core_cm0.h **** struct
+ 232:Drivers/CMSIS/Include/core_cm0.h **** {
+ 233:Drivers/CMSIS/Include/core_cm0.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
+ 234:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */
+ 235:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */
+ 236:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */
+ 237:Drivers/CMSIS/Include/core_cm0.h **** } IPSR_Type;
+ 238:Drivers/CMSIS/Include/core_cm0.h ****
+ 239:Drivers/CMSIS/Include/core_cm0.h **** /* IPSR Register Definitions */
+ 240:Drivers/CMSIS/Include/core_cm0.h **** #define IPSR_ISR_Pos 0U /*!< IPSR
+ 241:Drivers/CMSIS/Include/core_cm0.h **** #define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR
+ 242:Drivers/CMSIS/Include/core_cm0.h ****
+ 243:Drivers/CMSIS/Include/core_cm0.h ****
+ 244:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 245:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Special-Purpose Program Status Registers (xPSR).
+ 246:Drivers/CMSIS/Include/core_cm0.h **** */
+ 247:Drivers/CMSIS/Include/core_cm0.h **** typedef union
+ 248:Drivers/CMSIS/Include/core_cm0.h **** {
+ 249:Drivers/CMSIS/Include/core_cm0.h **** struct
+ 250:Drivers/CMSIS/Include/core_cm0.h **** {
+ 251:Drivers/CMSIS/Include/core_cm0.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
+ 252:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:15; /*!< bit: 9..23 Reserved */
+ 253:Drivers/CMSIS/Include/core_cm0.h **** uint32_t T:1; /*!< bit: 24 Thumb bit (read 0) */
+ 254:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved1:3; /*!< bit: 25..27 Reserved */
+ 255:Drivers/CMSIS/Include/core_cm0.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
+ 256:Drivers/CMSIS/Include/core_cm0.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */
+ 257:Drivers/CMSIS/Include/core_cm0.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
+ 258:Drivers/CMSIS/Include/core_cm0.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */
+ 259:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */
+ 260:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */
+ 261:Drivers/CMSIS/Include/core_cm0.h **** } xPSR_Type;
+ 262:Drivers/CMSIS/Include/core_cm0.h ****
+ 263:Drivers/CMSIS/Include/core_cm0.h **** /* xPSR Register Definitions */
+ 264:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_N_Pos 31U /*!< xPSR
+ 265:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR
+ 266:Drivers/CMSIS/Include/core_cm0.h ****
+ 267:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_Z_Pos 30U /*!< xPSR
+ 268:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR
+ 269:Drivers/CMSIS/Include/core_cm0.h ****
+ 270:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_C_Pos 29U /*!< xPSR
+ 271:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR
+ 272:Drivers/CMSIS/Include/core_cm0.h ****
+ 273:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_V_Pos 28U /*!< xPSR
+ 274:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR
+ 275:Drivers/CMSIS/Include/core_cm0.h ****
+ 276:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_T_Pos 24U /*!< xPSR
+ 277:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR
+ 278:Drivers/CMSIS/Include/core_cm0.h ****
+ 279:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_ISR_Pos 0U /*!< xPSR
+ ARM GAS /tmp/ccwGqVnP.s page 9
+
+
+ 280:Drivers/CMSIS/Include/core_cm0.h **** #define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR
+ 281:Drivers/CMSIS/Include/core_cm0.h ****
+ 282:Drivers/CMSIS/Include/core_cm0.h ****
+ 283:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 284:Drivers/CMSIS/Include/core_cm0.h **** \brief Union type to access the Control Registers (CONTROL).
+ 285:Drivers/CMSIS/Include/core_cm0.h **** */
+ 286:Drivers/CMSIS/Include/core_cm0.h **** typedef union
+ 287:Drivers/CMSIS/Include/core_cm0.h **** {
+ 288:Drivers/CMSIS/Include/core_cm0.h **** struct
+ 289:Drivers/CMSIS/Include/core_cm0.h **** {
+ 290:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved0:1; /*!< bit: 0 Reserved */
+ 291:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */
+ 292:Drivers/CMSIS/Include/core_cm0.h **** uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */
+ 293:Drivers/CMSIS/Include/core_cm0.h **** } b; /*!< Structure used for bit access */
+ 294:Drivers/CMSIS/Include/core_cm0.h **** uint32_t w; /*!< Type used for word access */
+ 295:Drivers/CMSIS/Include/core_cm0.h **** } CONTROL_Type;
+ 296:Drivers/CMSIS/Include/core_cm0.h ****
+ 297:Drivers/CMSIS/Include/core_cm0.h **** /* CONTROL Register Definitions */
+ 298:Drivers/CMSIS/Include/core_cm0.h **** #define CONTROL_SPSEL_Pos 1U /*!< CONT
+ 299:Drivers/CMSIS/Include/core_cm0.h **** #define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONT
+ 300:Drivers/CMSIS/Include/core_cm0.h ****
+ 301:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_CORE */
+ 302:Drivers/CMSIS/Include/core_cm0.h ****
+ 303:Drivers/CMSIS/Include/core_cm0.h ****
+ 304:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 305:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 306:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC)
+ 307:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the NVIC Registers
+ 308:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 309:Drivers/CMSIS/Include/core_cm0.h **** */
+ 310:Drivers/CMSIS/Include/core_cm0.h ****
+ 311:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 312:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC).
+ 313:Drivers/CMSIS/Include/core_cm0.h **** */
+ 314:Drivers/CMSIS/Include/core_cm0.h **** typedef struct
+ 315:Drivers/CMSIS/Include/core_cm0.h **** {
+ 316:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ISER[1U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */
+ 317:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED0[31U];
+ 318:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICER[1U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register
+ 319:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RSERVED1[31U];
+ 320:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ISPR[1U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register *
+ 321:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED2[31U];
+ 322:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICPR[1U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register
+ 323:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED3[31U];
+ 324:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED4[64U];
+ 325:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t IP[8U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register */
+ 326:Drivers/CMSIS/Include/core_cm0.h **** } NVIC_Type;
+ 327:Drivers/CMSIS/Include/core_cm0.h ****
+ 328:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_NVIC */
+ 329:Drivers/CMSIS/Include/core_cm0.h ****
+ 330:Drivers/CMSIS/Include/core_cm0.h ****
+ 331:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 332:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 333:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_SCB System Control Block (SCB)
+ 334:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the System Control Block Registers
+ 335:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 336:Drivers/CMSIS/Include/core_cm0.h **** */
+ ARM GAS /tmp/ccwGqVnP.s page 10
+
+
+ 337:Drivers/CMSIS/Include/core_cm0.h ****
+ 338:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 339:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the System Control Block (SCB).
+ 340:Drivers/CMSIS/Include/core_cm0.h **** */
+ 341:Drivers/CMSIS/Include/core_cm0.h **** typedef struct
+ 342:Drivers/CMSIS/Include/core_cm0.h **** {
+ 343:Drivers/CMSIS/Include/core_cm0.h **** __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */
+ 344:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Regi
+ 345:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED0;
+ 346:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset
+ 347:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */
+ 348:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register *
+ 349:Drivers/CMSIS/Include/core_cm0.h **** uint32_t RESERVED1;
+ 350:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SHP[2U]; /*!< Offset: 0x01C (R/W) System Handlers Priority Registe
+ 351:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State
+ 352:Drivers/CMSIS/Include/core_cm0.h **** } SCB_Type;
+ 353:Drivers/CMSIS/Include/core_cm0.h ****
+ 354:Drivers/CMSIS/Include/core_cm0.h **** /* SCB CPUID Register Definitions */
+ 355:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB
+ 356:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB
+ 357:Drivers/CMSIS/Include/core_cm0.h ****
+ 358:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_VARIANT_Pos 20U /*!< SCB
+ 359:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB
+ 360:Drivers/CMSIS/Include/core_cm0.h ****
+ 361:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB
+ 362:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB
+ 363:Drivers/CMSIS/Include/core_cm0.h ****
+ 364:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_PARTNO_Pos 4U /*!< SCB
+ 365:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB
+ 366:Drivers/CMSIS/Include/core_cm0.h ****
+ 367:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_REVISION_Pos 0U /*!< SCB
+ 368:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB
+ 369:Drivers/CMSIS/Include/core_cm0.h ****
+ 370:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Interrupt Control State Register Definitions */
+ 371:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB
+ 372:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB
+ 373:Drivers/CMSIS/Include/core_cm0.h ****
+ 374:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB
+ 375:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB
+ 376:Drivers/CMSIS/Include/core_cm0.h ****
+ 377:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB
+ 378:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB
+ 379:Drivers/CMSIS/Include/core_cm0.h ****
+ 380:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB
+ 381:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB
+ 382:Drivers/CMSIS/Include/core_cm0.h ****
+ 383:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB
+ 384:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB
+ 385:Drivers/CMSIS/Include/core_cm0.h ****
+ 386:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB
+ 387:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB
+ 388:Drivers/CMSIS/Include/core_cm0.h ****
+ 389:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB
+ 390:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB
+ 391:Drivers/CMSIS/Include/core_cm0.h ****
+ 392:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB
+ 393:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB
+ ARM GAS /tmp/ccwGqVnP.s page 11
+
+
+ 394:Drivers/CMSIS/Include/core_cm0.h ****
+ 395:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB
+ 396:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB
+ 397:Drivers/CMSIS/Include/core_cm0.h ****
+ 398:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Application Interrupt and Reset Control Register Definitions */
+ 399:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB
+ 400:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB
+ 401:Drivers/CMSIS/Include/core_cm0.h ****
+ 402:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB
+ 403:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB
+ 404:Drivers/CMSIS/Include/core_cm0.h ****
+ 405:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB
+ 406:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB
+ 407:Drivers/CMSIS/Include/core_cm0.h ****
+ 408:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB
+ 409:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB
+ 410:Drivers/CMSIS/Include/core_cm0.h ****
+ 411:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB
+ 412:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB
+ 413:Drivers/CMSIS/Include/core_cm0.h ****
+ 414:Drivers/CMSIS/Include/core_cm0.h **** /* SCB System Control Register Definitions */
+ 415:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB
+ 416:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB
+ 417:Drivers/CMSIS/Include/core_cm0.h ****
+ 418:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB
+ 419:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB
+ 420:Drivers/CMSIS/Include/core_cm0.h ****
+ 421:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB
+ 422:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB
+ 423:Drivers/CMSIS/Include/core_cm0.h ****
+ 424:Drivers/CMSIS/Include/core_cm0.h **** /* SCB Configuration Control Register Definitions */
+ 425:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_STKALIGN_Pos 9U /*!< SCB
+ 426:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB
+ 427:Drivers/CMSIS/Include/core_cm0.h ****
+ 428:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB
+ 429:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB
+ 430:Drivers/CMSIS/Include/core_cm0.h ****
+ 431:Drivers/CMSIS/Include/core_cm0.h **** /* SCB System Handler Control and State Register Definitions */
+ 432:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB
+ 433:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB
+ 434:Drivers/CMSIS/Include/core_cm0.h ****
+ 435:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_SCB */
+ 436:Drivers/CMSIS/Include/core_cm0.h ****
+ 437:Drivers/CMSIS/Include/core_cm0.h ****
+ 438:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 439:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 440:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_SysTick System Tick Timer (SysTick)
+ 441:Drivers/CMSIS/Include/core_cm0.h **** \brief Type definitions for the System Timer Registers.
+ 442:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 443:Drivers/CMSIS/Include/core_cm0.h **** */
+ 444:Drivers/CMSIS/Include/core_cm0.h ****
+ 445:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 446:Drivers/CMSIS/Include/core_cm0.h **** \brief Structure type to access the System Timer (SysTick).
+ 447:Drivers/CMSIS/Include/core_cm0.h **** */
+ 448:Drivers/CMSIS/Include/core_cm0.h **** typedef struct
+ 449:Drivers/CMSIS/Include/core_cm0.h **** {
+ 450:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Regis
+ ARM GAS /tmp/ccwGqVnP.s page 12
+
+
+ 451:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */
+ 452:Drivers/CMSIS/Include/core_cm0.h **** __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register *
+ 453:Drivers/CMSIS/Include/core_cm0.h **** __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */
+ 454:Drivers/CMSIS/Include/core_cm0.h **** } SysTick_Type;
+ 455:Drivers/CMSIS/Include/core_cm0.h ****
+ 456:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Control / Status Register Definitions */
+ 457:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysT
+ 458:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysT
+ 459:Drivers/CMSIS/Include/core_cm0.h ****
+ 460:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysT
+ 461:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysT
+ 462:Drivers/CMSIS/Include/core_cm0.h ****
+ 463:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_TICKINT_Pos 1U /*!< SysT
+ 464:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysT
+ 465:Drivers/CMSIS/Include/core_cm0.h ****
+ 466:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_ENABLE_Pos 0U /*!< SysT
+ 467:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysT
+ 468:Drivers/CMSIS/Include/core_cm0.h ****
+ 469:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Reload Register Definitions */
+ 470:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_LOAD_RELOAD_Pos 0U /*!< SysT
+ 471:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysT
+ 472:Drivers/CMSIS/Include/core_cm0.h ****
+ 473:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Current Register Definitions */
+ 474:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_VAL_CURRENT_Pos 0U /*!< SysT
+ 475:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysT
+ 476:Drivers/CMSIS/Include/core_cm0.h ****
+ 477:Drivers/CMSIS/Include/core_cm0.h **** /* SysTick Calibration Register Definitions */
+ 478:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_NOREF_Pos 31U /*!< SysT
+ 479:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysT
+ 480:Drivers/CMSIS/Include/core_cm0.h ****
+ 481:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_SKEW_Pos 30U /*!< SysT
+ 482:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysT
+ 483:Drivers/CMSIS/Include/core_cm0.h ****
+ 484:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_TENMS_Pos 0U /*!< SysT
+ 485:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysT
+ 486:Drivers/CMSIS/Include/core_cm0.h ****
+ 487:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_SysTick */
+ 488:Drivers/CMSIS/Include/core_cm0.h ****
+ 489:Drivers/CMSIS/Include/core_cm0.h ****
+ 490:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 491:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 492:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug)
+ 493:Drivers/CMSIS/Include/core_cm0.h **** \brief Cortex-M0 Core Debug Registers (DCB registers, SHCSR, and DFSR) are only accessible ove
+ 494:Drivers/CMSIS/Include/core_cm0.h **** Therefore they are not covered by the Cortex-M0 header file.
+ 495:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 496:Drivers/CMSIS/Include/core_cm0.h **** */
+ 497:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_CoreDebug */
+ 498:Drivers/CMSIS/Include/core_cm0.h ****
+ 499:Drivers/CMSIS/Include/core_cm0.h ****
+ 500:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 501:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 502:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_bitfield Core register bit field macros
+ 503:Drivers/CMSIS/Include/core_cm0.h **** \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk).
+ 504:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 505:Drivers/CMSIS/Include/core_cm0.h **** */
+ 506:Drivers/CMSIS/Include/core_cm0.h ****
+ 507:Drivers/CMSIS/Include/core_cm0.h **** /**
+ ARM GAS /tmp/ccwGqVnP.s page 13
+
+
+ 508:Drivers/CMSIS/Include/core_cm0.h **** \brief Mask and shift a bit field value for use in a register bit range.
+ 509:Drivers/CMSIS/Include/core_cm0.h **** \param[in] field Name of the register bit field.
+ 510:Drivers/CMSIS/Include/core_cm0.h **** \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type.
+ 511:Drivers/CMSIS/Include/core_cm0.h **** \return Masked and shifted value.
+ 512:Drivers/CMSIS/Include/core_cm0.h **** */
+ 513:Drivers/CMSIS/Include/core_cm0.h **** #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
+ 514:Drivers/CMSIS/Include/core_cm0.h ****
+ 515:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 516:Drivers/CMSIS/Include/core_cm0.h **** \brief Mask and shift a register value to extract a bit filed value.
+ 517:Drivers/CMSIS/Include/core_cm0.h **** \param[in] field Name of the register bit field.
+ 518:Drivers/CMSIS/Include/core_cm0.h **** \param[in] value Value of register. This parameter is interpreted as an uint32_t type.
+ 519:Drivers/CMSIS/Include/core_cm0.h **** \return Masked and shifted bit field value.
+ 520:Drivers/CMSIS/Include/core_cm0.h **** */
+ 521:Drivers/CMSIS/Include/core_cm0.h **** #define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
+ 522:Drivers/CMSIS/Include/core_cm0.h ****
+ 523:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of group CMSIS_core_bitfield */
+ 524:Drivers/CMSIS/Include/core_cm0.h ****
+ 525:Drivers/CMSIS/Include/core_cm0.h ****
+ 526:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 527:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_core_register
+ 528:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_core_base Core Definitions
+ 529:Drivers/CMSIS/Include/core_cm0.h **** \brief Definitions for base addresses, unions, and structures.
+ 530:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 531:Drivers/CMSIS/Include/core_cm0.h **** */
+ 532:Drivers/CMSIS/Include/core_cm0.h ****
+ 533:Drivers/CMSIS/Include/core_cm0.h **** /* Memory mapping of Core Hardware */
+ 534:Drivers/CMSIS/Include/core_cm0.h **** #define SCS_BASE (0xE000E000UL) /*!< System Control Space Bas
+ 535:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */
+ 536:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */
+ 537:Drivers/CMSIS/Include/core_cm0.h **** #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Bas
+ 538:Drivers/CMSIS/Include/core_cm0.h ****
+ 539:Drivers/CMSIS/Include/core_cm0.h **** #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct
+ 540:Drivers/CMSIS/Include/core_cm0.h **** #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration st
+ 541:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struc
+ 542:Drivers/CMSIS/Include/core_cm0.h ****
+ 543:Drivers/CMSIS/Include/core_cm0.h ****
+ 544:Drivers/CMSIS/Include/core_cm0.h **** /*@} */
+ 545:Drivers/CMSIS/Include/core_cm0.h ****
+ 546:Drivers/CMSIS/Include/core_cm0.h ****
+ 547:Drivers/CMSIS/Include/core_cm0.h ****
+ 548:Drivers/CMSIS/Include/core_cm0.h **** /*******************************************************************************
+ 549:Drivers/CMSIS/Include/core_cm0.h **** * Hardware Abstraction Layer
+ 550:Drivers/CMSIS/Include/core_cm0.h **** Core Function Interface contains:
+ 551:Drivers/CMSIS/Include/core_cm0.h **** - Core NVIC Functions
+ 552:Drivers/CMSIS/Include/core_cm0.h **** - Core SysTick Functions
+ 553:Drivers/CMSIS/Include/core_cm0.h **** - Core Register Access Functions
+ 554:Drivers/CMSIS/Include/core_cm0.h **** ******************************************************************************/
+ 555:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 556:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
+ 557:Drivers/CMSIS/Include/core_cm0.h **** */
+ 558:Drivers/CMSIS/Include/core_cm0.h ****
+ 559:Drivers/CMSIS/Include/core_cm0.h ****
+ 560:Drivers/CMSIS/Include/core_cm0.h ****
+ 561:Drivers/CMSIS/Include/core_cm0.h **** /* ########################## NVIC functions #################################### */
+ 562:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 563:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface
+ 564:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_NVICFunctions NVIC Functions
+ ARM GAS /tmp/ccwGqVnP.s page 14
+
+
+ 565:Drivers/CMSIS/Include/core_cm0.h **** \brief Functions that manage interrupts and exceptions via the NVIC.
+ 566:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 567:Drivers/CMSIS/Include/core_cm0.h **** */
+ 568:Drivers/CMSIS/Include/core_cm0.h ****
+ 569:Drivers/CMSIS/Include/core_cm0.h **** #ifdef CMSIS_NVIC_VIRTUAL
+ 570:Drivers/CMSIS/Include/core_cm0.h **** #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
+ 571:Drivers/CMSIS/Include/core_cm0.h **** #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
+ 572:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 573:Drivers/CMSIS/Include/core_cm0.h **** #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
+ 574:Drivers/CMSIS/Include/core_cm0.h **** #else
+ 575:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
+ 576:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
+ 577:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_EnableIRQ __NVIC_EnableIRQ
+ 578:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
+ 579:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_DisableIRQ __NVIC_DisableIRQ
+ 580:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
+ 581:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
+ 582:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
+ 583:Drivers/CMSIS/Include/core_cm0.h **** /*#define NVIC_GetActive __NVIC_GetActive not available for Cortex-M0 */
+ 584:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetPriority __NVIC_SetPriority
+ 585:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetPriority __NVIC_GetPriority
+ 586:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SystemReset __NVIC_SystemReset
+ 587:Drivers/CMSIS/Include/core_cm0.h **** #endif /* CMSIS_NVIC_VIRTUAL */
+ 588:Drivers/CMSIS/Include/core_cm0.h ****
+ 589:Drivers/CMSIS/Include/core_cm0.h **** #ifdef CMSIS_VECTAB_VIRTUAL
+ 590:Drivers/CMSIS/Include/core_cm0.h **** #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
+ 591:Drivers/CMSIS/Include/core_cm0.h **** #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
+ 592:Drivers/CMSIS/Include/core_cm0.h **** #endif
+ 593:Drivers/CMSIS/Include/core_cm0.h **** #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
+ 594:Drivers/CMSIS/Include/core_cm0.h **** #else
+ 595:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_SetVector __NVIC_SetVector
+ 596:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_GetVector __NVIC_GetVector
+ 597:Drivers/CMSIS/Include/core_cm0.h **** #endif /* (CMSIS_VECTAB_VIRTUAL) */
+ 598:Drivers/CMSIS/Include/core_cm0.h ****
+ 599:Drivers/CMSIS/Include/core_cm0.h **** #define NVIC_USER_IRQ_OFFSET 16
+ 600:Drivers/CMSIS/Include/core_cm0.h ****
+ 601:Drivers/CMSIS/Include/core_cm0.h ****
+ 602:Drivers/CMSIS/Include/core_cm0.h **** /* The following EXC_RETURN values are saved the LR on exception entry */
+ 603:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after ret
+ 604:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after retu
+ 605:Drivers/CMSIS/Include/core_cm0.h **** #define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after retu
+ 606:Drivers/CMSIS/Include/core_cm0.h ****
+ 607:Drivers/CMSIS/Include/core_cm0.h ****
+ 608:Drivers/CMSIS/Include/core_cm0.h **** /* Interrupt Priorities are WORD accessible only under Armv6-M */
+ 609:Drivers/CMSIS/Include/core_cm0.h **** /* The following MACROS handle generation of the register offset and byte masks */
+ 610:Drivers/CMSIS/Include/core_cm0.h **** #define _BIT_SHIFT(IRQn) ( ((((uint32_t)(int32_t)(IRQn)) ) & 0x03UL) * 8UL)
+ 611:Drivers/CMSIS/Include/core_cm0.h **** #define _SHP_IDX(IRQn) ( (((((uint32_t)(int32_t)(IRQn)) & 0x0FUL)-8UL) >> 2UL) )
+ 612:Drivers/CMSIS/Include/core_cm0.h **** #define _IP_IDX(IRQn) ( (((uint32_t)(int32_t)(IRQn)) >> 2UL) )
+ 613:Drivers/CMSIS/Include/core_cm0.h ****
+ 614:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_SetPriorityGrouping(X) (void)(X)
+ 615:Drivers/CMSIS/Include/core_cm0.h **** #define __NVIC_GetPriorityGrouping() (0U)
+ 616:Drivers/CMSIS/Include/core_cm0.h ****
+ 617:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 618:Drivers/CMSIS/Include/core_cm0.h **** \brief Enable Interrupt
+ 619:Drivers/CMSIS/Include/core_cm0.h **** \details Enables a device specific interrupt in the NVIC interrupt controller.
+ 620:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 621:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ ARM GAS /tmp/ccwGqVnP.s page 15
+
+
+ 622:Drivers/CMSIS/Include/core_cm0.h **** */
+ 623:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
+ 624:Drivers/CMSIS/Include/core_cm0.h **** {
+ 625:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 626:Drivers/CMSIS/Include/core_cm0.h **** {
+ 627:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ISER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
+ 628:Drivers/CMSIS/Include/core_cm0.h **** }
+ 629:Drivers/CMSIS/Include/core_cm0.h **** }
+ 630:Drivers/CMSIS/Include/core_cm0.h ****
+ 631:Drivers/CMSIS/Include/core_cm0.h ****
+ 632:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 633:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Enable status
+ 634:Drivers/CMSIS/Include/core_cm0.h **** \details Returns a device specific interrupt enable status from the NVIC interrupt controller.
+ 635:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 636:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Interrupt is not enabled.
+ 637:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Interrupt is enabled.
+ 638:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ 639:Drivers/CMSIS/Include/core_cm0.h **** */
+ 640:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
+ 641:Drivers/CMSIS/Include/core_cm0.h **** {
+ 642:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 643:Drivers/CMSIS/Include/core_cm0.h **** {
+ 644:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->ISER[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)
+ 645:Drivers/CMSIS/Include/core_cm0.h **** }
+ 646:Drivers/CMSIS/Include/core_cm0.h **** else
+ 647:Drivers/CMSIS/Include/core_cm0.h **** {
+ 648:Drivers/CMSIS/Include/core_cm0.h **** return(0U);
+ 649:Drivers/CMSIS/Include/core_cm0.h **** }
+ 650:Drivers/CMSIS/Include/core_cm0.h **** }
+ 651:Drivers/CMSIS/Include/core_cm0.h ****
+ 652:Drivers/CMSIS/Include/core_cm0.h ****
+ 653:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 654:Drivers/CMSIS/Include/core_cm0.h **** \brief Disable Interrupt
+ 655:Drivers/CMSIS/Include/core_cm0.h **** \details Disables a device specific interrupt in the NVIC interrupt controller.
+ 656:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 657:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ 658:Drivers/CMSIS/Include/core_cm0.h **** */
+ 659:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
+ 660:Drivers/CMSIS/Include/core_cm0.h **** {
+ 661:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 662:Drivers/CMSIS/Include/core_cm0.h **** {
+ 663:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ICER[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
+ 664:Drivers/CMSIS/Include/core_cm0.h **** __DSB();
+ 665:Drivers/CMSIS/Include/core_cm0.h **** __ISB();
+ 666:Drivers/CMSIS/Include/core_cm0.h **** }
+ 667:Drivers/CMSIS/Include/core_cm0.h **** }
+ 668:Drivers/CMSIS/Include/core_cm0.h ****
+ 669:Drivers/CMSIS/Include/core_cm0.h ****
+ 670:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 671:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Pending Interrupt
+ 672:Drivers/CMSIS/Include/core_cm0.h **** \details Reads the NVIC pending register and returns the pending bit for the specified device spe
+ 673:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 674:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Interrupt status is not pending.
+ 675:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Interrupt status is pending.
+ 676:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ 677:Drivers/CMSIS/Include/core_cm0.h **** */
+ 678:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
+ ARM GAS /tmp/ccwGqVnP.s page 16
+
+
+ 679:Drivers/CMSIS/Include/core_cm0.h **** {
+ 680:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 681:Drivers/CMSIS/Include/core_cm0.h **** {
+ 682:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->ISPR[0U] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL)
+ 683:Drivers/CMSIS/Include/core_cm0.h **** }
+ 684:Drivers/CMSIS/Include/core_cm0.h **** else
+ 685:Drivers/CMSIS/Include/core_cm0.h **** {
+ 686:Drivers/CMSIS/Include/core_cm0.h **** return(0U);
+ 687:Drivers/CMSIS/Include/core_cm0.h **** }
+ 688:Drivers/CMSIS/Include/core_cm0.h **** }
+ 689:Drivers/CMSIS/Include/core_cm0.h ****
+ 690:Drivers/CMSIS/Include/core_cm0.h ****
+ 691:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 692:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Pending Interrupt
+ 693:Drivers/CMSIS/Include/core_cm0.h **** \details Sets the pending bit of a device specific interrupt in the NVIC pending register.
+ 694:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 695:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ 696:Drivers/CMSIS/Include/core_cm0.h **** */
+ 697:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
+ 698:Drivers/CMSIS/Include/core_cm0.h **** {
+ 699:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 700:Drivers/CMSIS/Include/core_cm0.h **** {
+ 701:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ISPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
+ 702:Drivers/CMSIS/Include/core_cm0.h **** }
+ 703:Drivers/CMSIS/Include/core_cm0.h **** }
+ 704:Drivers/CMSIS/Include/core_cm0.h ****
+ 705:Drivers/CMSIS/Include/core_cm0.h ****
+ 706:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 707:Drivers/CMSIS/Include/core_cm0.h **** \brief Clear Pending Interrupt
+ 708:Drivers/CMSIS/Include/core_cm0.h **** \details Clears the pending bit of a device specific interrupt in the NVIC pending register.
+ 709:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Device specific interrupt number.
+ 710:Drivers/CMSIS/Include/core_cm0.h **** \note IRQn must not be negative.
+ 711:Drivers/CMSIS/Include/core_cm0.h **** */
+ 712:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+ 713:Drivers/CMSIS/Include/core_cm0.h **** {
+ 714:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 715:Drivers/CMSIS/Include/core_cm0.h **** {
+ 716:Drivers/CMSIS/Include/core_cm0.h **** NVIC->ICPR[0U] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
+ 717:Drivers/CMSIS/Include/core_cm0.h **** }
+ 718:Drivers/CMSIS/Include/core_cm0.h **** }
+ 719:Drivers/CMSIS/Include/core_cm0.h ****
+ 720:Drivers/CMSIS/Include/core_cm0.h ****
+ 721:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 722:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Interrupt Priority
+ 723:Drivers/CMSIS/Include/core_cm0.h **** \details Sets the priority of a device specific interrupt or a processor exception.
+ 724:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt,
+ 725:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception.
+ 726:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number.
+ 727:Drivers/CMSIS/Include/core_cm0.h **** \param [in] priority Priority to set.
+ 728:Drivers/CMSIS/Include/core_cm0.h **** \note The priority cannot be set for every processor exception.
+ 729:Drivers/CMSIS/Include/core_cm0.h **** */
+ 730:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
+ 731:Drivers/CMSIS/Include/core_cm0.h **** {
+ 732:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 42 .loc 2 732 0
+ 43 0002 0028 cmp r0, #0
+ 44 0004 11DB blt .L2
+ ARM GAS /tmp/ccwGqVnP.s page 17
+
+
+ 733:Drivers/CMSIS/Include/core_cm0.h **** {
+ 734:Drivers/CMSIS/Include/core_cm0.h **** NVIC->IP[_IP_IDX(IRQn)] = ((uint32_t)(NVIC->IP[_IP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))
+ 45 .loc 2 734 0
+ 46 0006 8308 lsrs r3, r0, #2
+ 47 0008 144D ldr r5, .L4
+ 48 000a C033 adds r3, r3, #192
+ 49 000c 9B00 lsls r3, r3, #2
+ 50 000e 5C59 ldr r4, [r3, r5]
+ 51 0010 0322 movs r2, #3
+ 52 .LVL2:
+ 53 0012 1040 ands r0, r2
+ 54 .LVL3:
+ 55 0014 C000 lsls r0, r0, #3
+ 56 0016 FC32 adds r2, r2, #252
+ 57 0018 1600 movs r6, r2
+ 58 001a 8640 lsls r6, r6, r0
+ 59 001c B443 bics r4, r6
+ 735:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
+ 60 .loc 2 735 0
+ 61 001e 8901 lsls r1, r1, #6
+ 62 .LVL4:
+ 63 0020 0A40 ands r2, r1
+ 64 0022 8240 lsls r2, r2, r0
+ 734:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
+ 65 .loc 2 734 0
+ 66 0024 2243 orrs r2, r4
+ 67 0026 5A51 str r2, [r3, r5]
+ 68 .LVL5:
+ 69 .L1:
+ 70 .LBE33:
+ 71 .LBE32:
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SetPriority(IRQn,PreemptPriority);
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 72 .loc 1 141 0
+ 73 @ sp needed
+ 74 0028 70BD pop {r4, r5, r6, pc}
+ 75 .LVL6:
+ 76 .L2:
+ 77 .LBB35:
+ 78 .LBB34:
+ 736:Drivers/CMSIS/Include/core_cm0.h **** }
+ 737:Drivers/CMSIS/Include/core_cm0.h **** else
+ 738:Drivers/CMSIS/Include/core_cm0.h **** {
+ 739:Drivers/CMSIS/Include/core_cm0.h **** SCB->SHP[_SHP_IDX(IRQn)] = ((uint32_t)(SCB->SHP[_SHP_IDX(IRQn)] & ~(0xFFUL << _BIT_SHIFT(IRQn))
+ 79 .loc 2 739 0
+ 80 002a C0B2 uxtb r0, r0
+ 81 002c 0F23 movs r3, #15
+ 82 002e 0340 ands r3, r0
+ 83 0030 083B subs r3, r3, #8
+ 84 0032 9B08 lsrs r3, r3, #2
+ 85 0034 0633 adds r3, r3, #6
+ 86 0036 9B00 lsls r3, r3, #2
+ 87 0038 094A ldr r2, .L4+4
+ 88 .LVL7:
+ 89 003a 9446 mov ip, r2
+ ARM GAS /tmp/ccwGqVnP.s page 18
+
+
+ 90 003c 6344 add r3, r3, ip
+ 91 003e 5D68 ldr r5, [r3, #4]
+ 92 0040 0324 movs r4, #3
+ 93 0042 2040 ands r0, r4
+ 94 .LVL8:
+ 95 0044 C000 lsls r0, r0, #3
+ 96 0046 FF22 movs r2, #255
+ 97 0048 1400 movs r4, r2
+ 98 004a 8440 lsls r4, r4, r0
+ 99 004c A543 bics r5, r4
+ 740:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
+ 100 .loc 2 740 0
+ 101 004e 8901 lsls r1, r1, #6
+ 102 .LVL9:
+ 103 0050 1140 ands r1, r2
+ 104 0052 8140 lsls r1, r1, r0
+ 739:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
+ 105 .loc 2 739 0
+ 106 0054 2943 orrs r1, r5
+ 107 0056 5960 str r1, [r3, #4]
+ 108 .LVL10:
+ 109 .LBE34:
+ 110 .LBE35:
+ 111 .loc 1 141 0
+ 112 0058 E6E7 b .L1
+ 113 .L5:
+ 114 005a C046 .align 2
+ 115 .L4:
+ 116 005c 00E100E0 .word -536813312
+ 117 0060 00ED00E0 .word -536810240
+ 118 .cfi_endproc
+ 119 .LFE40:
+ 121 .section .text.HAL_NVIC_EnableIRQ,"ax",%progbits
+ 122 .align 1
+ 123 .global HAL_NVIC_EnableIRQ
+ 124 .syntax unified
+ 125 .code 16
+ 126 .thumb_func
+ 127 .fpu softvfp
+ 129 HAL_NVIC_EnableIRQ:
+ 130 .LFB41:
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Enables a device specific interrupt in the NVIC interrupt controller.
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @note To configure interrupts priority correctly, the NVIC_PriorityGroupConfig()
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * function should be called before.
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number.
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 131 .loc 1 153 0
+ 132 .cfi_startproc
+ 133 @ args = 0, pretend = 0, frame = 0
+ 134 @ frame_needed = 0, uses_anonymous_args = 0
+ ARM GAS /tmp/ccwGqVnP.s page 19
+
+
+ 135 @ link register save eliminated.
+ 136 .LVL11:
+ 137 .LBB36:
+ 138 .LBB37:
+ 625:Drivers/CMSIS/Include/core_cm0.h **** {
+ 139 .loc 2 625 0
+ 140 0000 0028 cmp r0, #0
+ 141 0002 05DB blt .L6
+ 627:Drivers/CMSIS/Include/core_cm0.h **** }
+ 142 .loc 2 627 0
+ 143 0004 1F23 movs r3, #31
+ 144 0006 1840 ands r0, r3
+ 145 .LVL12:
+ 146 0008 1E3B subs r3, r3, #30
+ 147 000a 8340 lsls r3, r3, r0
+ 148 000c 014A ldr r2, .L8
+ 149 000e 1360 str r3, [r2]
+ 150 .LVL13:
+ 151 .L6:
+ 152 .LBE37:
+ 153 .LBE36:
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Enable interrupt */
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_EnableIRQ(IRQn);
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 154 .loc 1 159 0
+ 155 @ sp needed
+ 156 0010 7047 bx lr
+ 157 .L9:
+ 158 0012 C046 .align 2
+ 159 .L8:
+ 160 0014 00E100E0 .word -536813312
+ 161 .cfi_endproc
+ 162 .LFE41:
+ 164 .section .text.HAL_NVIC_DisableIRQ,"ax",%progbits
+ 165 .align 1
+ 166 .global HAL_NVIC_DisableIRQ
+ 167 .syntax unified
+ 168 .code 16
+ 169 .thumb_func
+ 170 .fpu softvfp
+ 172 HAL_NVIC_DisableIRQ:
+ 173 .LFB42:
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Disables a device specific interrupt in the NVIC interrupt controller.
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number.
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 174 .loc 1 169 0
+ 175 .cfi_startproc
+ ARM GAS /tmp/ccwGqVnP.s page 20
+
+
+ 176 @ args = 0, pretend = 0, frame = 0
+ 177 @ frame_needed = 0, uses_anonymous_args = 0
+ 178 @ link register save eliminated.
+ 179 .LVL14:
+ 180 .LBB38:
+ 181 .LBB39:
+ 661:Drivers/CMSIS/Include/core_cm0.h **** {
+ 182 .loc 2 661 0
+ 183 0000 0028 cmp r0, #0
+ 184 0002 0ADB blt .L10
+ 663:Drivers/CMSIS/Include/core_cm0.h **** __DSB();
+ 185 .loc 2 663 0
+ 186 0004 1F23 movs r3, #31
+ 187 0006 1840 ands r0, r3
+ 188 .LVL15:
+ 189 0008 1E3B subs r3, r3, #30
+ 190 000a 8340 lsls r3, r3, r0
+ 191 000c 0349 ldr r1, .L12
+ 192 000e 8022 movs r2, #128
+ 193 0010 8B50 str r3, [r1, r2]
+ 194 .LBB40:
+ 195 .LBB41:
+ 196 .file 3 "Drivers/CMSIS/Include/cmsis_gcc.h"
+ 1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
+ 2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
+ 3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
+ 4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
+ 5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
+ 6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
+ 7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
+ 8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
+ 9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
+ 10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
+ 11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
+ 12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
+ 13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
+ 14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
+ 15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
+ 16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
+ 17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
+ 18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
+ 19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+ 20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ 21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
+ 22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
+ 23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 24:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
+ 26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
+ 27:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
+ 29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
+ 31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
+ 32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
+ 33:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
+ ARM GAS /tmp/ccwGqVnP.s page 21
+
+
+ 35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
+ 36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
+ 37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 38:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
+ 40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
+ 41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
+ 42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
+ 44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
+ 45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
+ 47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
+ 48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
+ 50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
+ 51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
+ 53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
+ 54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
+ 56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
+ 57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
+ 59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
+ 60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
+ 62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
+ 63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
+ 65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
+ 66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
+ 68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
+ 69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
+ 71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
+ 73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
+ 74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
+ 75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
+ 76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
+ 77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
+ 79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
+ 81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
+ 82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
+ 83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
+ 84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
+ 85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
+ 87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
+ 89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
+ 90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
+ 91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
+ ARM GAS /tmp/ccwGqVnP.s page 22
+
+
+ 92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
+ 93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
+ 95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
+ 97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
+ 98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
+ 99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
+ 100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
+ 101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
+ 103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
+ 104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
+ 105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
+ 106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
+ 107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
+ 108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
+ 109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
+ 111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
+ 112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
+ 114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
+ 115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 116:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 117:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
+ 119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
+ 120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
+ 121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
+ 122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 123:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
+ 126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
+ 127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
+ 128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
+ 130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
+ 132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 133:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 134:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
+ 137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
+ 138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
+ 139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
+ 141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
+ 143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 144:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 145:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
+ 148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
+ ARM GAS /tmp/ccwGqVnP.s page 23
+
+
+ 149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
+ 150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
+ 152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 154:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
+ 156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 158:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 159:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
+ 163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
+ 164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
+ 165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
+ 167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 169:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
+ 171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 174:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 175:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
+ 178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
+ 179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
+ 180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
+ 182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
+ 184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 185:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 186:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
+ 190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
+ 191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
+ 192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
+ 194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
+ 196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 198:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 199:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
+ 202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
+ 203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
+ 204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
+ ARM GAS /tmp/ccwGqVnP.s page 24
+
+
+ 206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 208:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
+ 210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 212:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 213:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
+ 216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
+ 217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
+ 218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
+ 220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 222:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
+ 224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 226:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 227:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
+ 230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
+ 231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
+ 232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
+ 234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 236:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
+ 238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 240:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 241:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
+ 244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
+ 245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
+ 246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
+ 248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 250:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
+ 252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 254:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 255:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
+ 259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
+ 260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
+ 261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
+ ARM GAS /tmp/ccwGqVnP.s page 25
+
+
+ 263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 265:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
+ 267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 270:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 271:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
+ 274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
+ 275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
+ 276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
+ 278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
+ 280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 281:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 282:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
+ 286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
+ 287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
+ 288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
+ 290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
+ 292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 294:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 295:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
+ 298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
+ 299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
+ 300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
+ 302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 304:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
+ 306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 308:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 309:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
+ 313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
+ 314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
+ 315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
+ 317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 319:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ ARM GAS /tmp/ccwGqVnP.s page 26
+
+
+ 320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
+ 321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 324:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 325:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
+ 328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
+ 329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
+ 330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
+ 332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
+ 334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 335:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 336:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
+ 340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
+ 341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
+ 342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
+ 344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
+ 346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 348:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 349:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
+ 353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
+ 354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
+ 355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
+ 357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 359:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
+ 361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 363:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 364:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
+ 367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
+ 368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
+ 369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
+ 371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
+ 373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 375:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 376:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ ARM GAS /tmp/ccwGqVnP.s page 27
+
+
+ 377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
+ 379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
+ 380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
+ 381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
+ 383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 385:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
+ 387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 389:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 390:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
+ 394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
+ 395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
+ 396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
+ 398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 400:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
+ 402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 405:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 406:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
+ 409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
+ 410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
+ 411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
+ 413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
+ 415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 416:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 417:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
+ 421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
+ 422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
+ 423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
+ 425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
+ 427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 429:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 430:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ 432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ 433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
+ ARM GAS /tmp/ccwGqVnP.s page 28
+
+
+ 434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
+ 436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
+ 437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
+ 438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
+ 440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
+ 442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 443:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 444:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
+ 447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
+ 448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
+ 449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
+ 451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
+ 453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 454:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 455:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
+ 458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
+ 459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
+ 460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
+ 462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 464:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
+ 466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 468:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 469:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
+ 473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
+ 474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
+ 475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
+ 477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 479:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
+ 481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 484:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 485:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
+ 488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
+ 489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
+ 490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ ARM GAS /tmp/ccwGqVnP.s page 29
+
+
+ 491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
+ 492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
+ 494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 495:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 496:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
+ 500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
+ 501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
+ 502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
+ 504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
+ 506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 508:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 509:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
+ 512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
+ 513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
+ 514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
+ 515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
+ 517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
+ 519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 520:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 521:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
+ 524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
+ 525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
+ 526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
+ 528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 530:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
+ 532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 534:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 535:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
+ 539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
+ 540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
+ 541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
+ 543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 545:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
+ 547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ ARM GAS /tmp/ccwGqVnP.s page 30
+
+
+ 548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 550:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 551:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
+ 554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
+ 555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
+ 556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
+ 558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
+ 560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 561:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 562:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
+ 566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
+ 567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
+ 568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
+ 570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
+ 572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 574:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
+ 576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
+ 577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
+ 578:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 579:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ 581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
+ 582:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
+ 585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
+ 587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
+ 588:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
+ 590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
+ 591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
+ 593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ 595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ 596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
+ 597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
+ 598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
+ 601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
+ 602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 604:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ ARM GAS /tmp/ccwGqVnP.s page 31
+
+
+ 605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
+ 606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
+ 608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
+ 610:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
+ 612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
+ 613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
+ 615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ 617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
+ 618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
+ 619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
+ 622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
+ 623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 626:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 627:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
+ 630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
+ 632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
+ 633:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
+ 635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
+ 636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
+ 638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ 640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ 641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
+ 642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
+ 643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
+ 645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 647:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 648:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
+ 652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
+ 654:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
+ 656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
+ 657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
+ 659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ 661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
+ ARM GAS /tmp/ccwGqVnP.s page 32
+
+
+ 662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
+ 663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
+ 665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 668:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 669:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
+ 672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
+ 674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
+ 675:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
+ 677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
+ 678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
+ 680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ 682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ 683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
+ 684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
+ 685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
+ 688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
+ 689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 691:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 692:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
+ 696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
+ 698:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
+ 700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
+ 701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
+ 703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ 705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
+ 706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
+ 707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
+ 710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
+ 711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 714:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 715:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
+ 718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ ARM GAS /tmp/ccwGqVnP.s page 33
+
+
+ 719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
+ 720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
+ 721:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
+ 723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
+ 724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
+ 726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
+ 728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
+ 729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
+ 730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
+ 731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
+ 733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 735:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 736:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
+ 738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
+ 740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
+ 741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
+ 742:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
+ 744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
+ 745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
+ 747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
+ 749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
+ 750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
+ 751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
+ 753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 756:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
+ 758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
+ 759:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 760:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
+ 763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
+ 764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
+ 765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
+ 767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
+ 769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
+ 770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
+ 771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
+ 772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
+ 773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
+ 774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
+ 775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ ARM GAS /tmp/ccwGqVnP.s page 34
+
+
+ 776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
+ 777:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
+ 779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
+ 780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
+ 783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 785:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 786:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
+ 789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
+ 790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
+ 791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
+ 793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
+ 795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
+ 796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
+ 797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
+ 798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
+ 799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
+ 800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
+ 801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
+ 803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
+ 806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 808:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 809:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
+ 811:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 812:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
+ 814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
+ 815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
+ 816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
+ 817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 818:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
+ 820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
+ 821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
+ 822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
+ 823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
+ 824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
+ 825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
+ 826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
+ 827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
+ 828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
+ 829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
+ 830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
+ 831:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ ARM GAS /tmp/ccwGqVnP.s page 35
+
+
+ 833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
+ 834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
+ 835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
+ 837:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
+ 840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
+ 841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
+ 843:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 844:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
+ 847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
+ 848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
+ 849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
+ 851:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 852:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
+ 855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
+ 856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
+ 858:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 859:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
+ 862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
+ 863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
+ 864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
+ 865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
+ 867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
+ 869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 870:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 871:Drivers/CMSIS/Include/cmsis_gcc.h ****
+ 872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
+ 873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
+ 874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
+ 875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
+ 876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
+ 877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
+ 878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
+ 879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
+ 197 .loc 3 879 0
+ 198 .syntax divided
+ 199 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
+ 200 0012 BFF34F8F dsb 0xF
+ 201 @ 0 "" 2
+ 202 .thumb
+ 203 .syntax unified
+ 204 .LBE41:
+ 205 .LBE40:
+ 206 .LBB42:
+ ARM GAS /tmp/ccwGqVnP.s page 36
+
+
+ 207 .LBB43:
+ 868:Drivers/CMSIS/Include/cmsis_gcc.h **** }
+ 208 .loc 3 868 0
+ 209 .syntax divided
+ 210 @ 868 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
+ 211 0016 BFF36F8F isb 0xF
+ 212 @ 0 "" 2
+ 213 .LVL16:
+ 214 .thumb
+ 215 .syntax unified
+ 216 .L10:
+ 217 .LBE43:
+ 218 .LBE42:
+ 219 .LBE39:
+ 220 .LBE38:
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Disable interrupt */
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_DisableIRQ(IRQn);
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 221 .loc 1 175 0
+ 222 @ sp needed
+ 223 001a 7047 bx lr
+ 224 .L13:
+ 225 .align 2
+ 226 .L12:
+ 227 001c 00E100E0 .word -536813312
+ 228 .cfi_endproc
+ 229 .LFE42:
+ 231 .section .text.HAL_NVIC_SystemReset,"ax",%progbits
+ 232 .align 1
+ 233 .global HAL_NVIC_SystemReset
+ 234 .syntax unified
+ 235 .code 16
+ 236 .thumb_func
+ 237 .fpu softvfp
+ 239 HAL_NVIC_SystemReset:
+ 240 .LFB43:
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initiates a system reset request to reset the MCU.
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SystemReset(void)
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 241 .loc 1 182 0
+ 242 .cfi_startproc
+ 243 @ Volatile: function does not return.
+ 244 @ args = 0, pretend = 0, frame = 0
+ 245 @ frame_needed = 0, uses_anonymous_args = 0
+ 246 @ link register save eliminated.
+ 247 .LBB50:
+ 248 .LBB51:
+ 249 .LBB52:
+ 250 .LBB53:
+ 251 .loc 3 879 0
+ ARM GAS /tmp/ccwGqVnP.s page 37
+
+
+ 252 .syntax divided
+ 253 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
+ 254 0000 BFF34F8F dsb 0xF
+ 255 @ 0 "" 2
+ 256 .thumb
+ 257 .syntax unified
+ 258 .LBE53:
+ 259 .LBE52:
+ 741:Drivers/CMSIS/Include/core_cm0.h **** }
+ 742:Drivers/CMSIS/Include/core_cm0.h **** }
+ 743:Drivers/CMSIS/Include/core_cm0.h ****
+ 744:Drivers/CMSIS/Include/core_cm0.h ****
+ 745:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 746:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Priority
+ 747:Drivers/CMSIS/Include/core_cm0.h **** \details Reads the priority of a device specific interrupt or a processor exception.
+ 748:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt,
+ 749:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception.
+ 750:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number.
+ 751:Drivers/CMSIS/Include/core_cm0.h **** \return Interrupt Priority.
+ 752:Drivers/CMSIS/Include/core_cm0.h **** Value is aligned automatically to the implemented priority bits of the microc
+ 753:Drivers/CMSIS/Include/core_cm0.h **** */
+ 754:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
+ 755:Drivers/CMSIS/Include/core_cm0.h **** {
+ 756:Drivers/CMSIS/Include/core_cm0.h ****
+ 757:Drivers/CMSIS/Include/core_cm0.h **** if ((int32_t)(IRQn) >= 0)
+ 758:Drivers/CMSIS/Include/core_cm0.h **** {
+ 759:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((NVIC->IP[ _IP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U -
+ 760:Drivers/CMSIS/Include/core_cm0.h **** }
+ 761:Drivers/CMSIS/Include/core_cm0.h **** else
+ 762:Drivers/CMSIS/Include/core_cm0.h **** {
+ 763:Drivers/CMSIS/Include/core_cm0.h **** return((uint32_t)(((SCB->SHP[_SHP_IDX(IRQn)] >> _BIT_SHIFT(IRQn) ) & (uint32_t)0xFFUL) >> (8U -
+ 764:Drivers/CMSIS/Include/core_cm0.h **** }
+ 765:Drivers/CMSIS/Include/core_cm0.h **** }
+ 766:Drivers/CMSIS/Include/core_cm0.h ****
+ 767:Drivers/CMSIS/Include/core_cm0.h ****
+ 768:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 769:Drivers/CMSIS/Include/core_cm0.h **** \brief Encode Priority
+ 770:Drivers/CMSIS/Include/core_cm0.h **** \details Encodes the priority for an interrupt with the given priority group,
+ 771:Drivers/CMSIS/Include/core_cm0.h **** preemptive priority value, and subpriority value.
+ 772:Drivers/CMSIS/Include/core_cm0.h **** In case of a conflict between priority grouping and available
+ 773:Drivers/CMSIS/Include/core_cm0.h **** priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
+ 774:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PriorityGroup Used priority group.
+ 775:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PreemptPriority Preemptive priority value (starting from 0).
+ 776:Drivers/CMSIS/Include/core_cm0.h **** \param [in] SubPriority Subpriority value (starting from 0).
+ 777:Drivers/CMSIS/Include/core_cm0.h **** \return Encoded priority. Value can be used in the function \ref NVIC_SetP
+ 778:Drivers/CMSIS/Include/core_cm0.h **** */
+ 779:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uin
+ 780:Drivers/CMSIS/Include/core_cm0.h **** {
+ 781:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used
+ 782:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PreemptPriorityBits;
+ 783:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SubPriorityBits;
+ 784:Drivers/CMSIS/Include/core_cm0.h ****
+ 785:Drivers/CMSIS/Include/core_cm0.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV
+ 786:Drivers/CMSIS/Include/core_cm0.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
+ 787:Drivers/CMSIS/Include/core_cm0.h ****
+ 788:Drivers/CMSIS/Include/core_cm0.h **** return (
+ 789:Drivers/CMSIS/Include/core_cm0.h **** ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits
+ ARM GAS /tmp/ccwGqVnP.s page 38
+
+
+ 790:Drivers/CMSIS/Include/core_cm0.h **** ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
+ 791:Drivers/CMSIS/Include/core_cm0.h **** );
+ 792:Drivers/CMSIS/Include/core_cm0.h **** }
+ 793:Drivers/CMSIS/Include/core_cm0.h ****
+ 794:Drivers/CMSIS/Include/core_cm0.h ****
+ 795:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 796:Drivers/CMSIS/Include/core_cm0.h **** \brief Decode Priority
+ 797:Drivers/CMSIS/Include/core_cm0.h **** \details Decodes an interrupt priority value with a given priority group to
+ 798:Drivers/CMSIS/Include/core_cm0.h **** preemptive priority value and subpriority value.
+ 799:Drivers/CMSIS/Include/core_cm0.h **** In case of a conflict between priority grouping and available
+ 800:Drivers/CMSIS/Include/core_cm0.h **** priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set.
+ 801:Drivers/CMSIS/Include/core_cm0.h **** \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC
+ 802:Drivers/CMSIS/Include/core_cm0.h **** \param [in] PriorityGroup Used priority group.
+ 803:Drivers/CMSIS/Include/core_cm0.h **** \param [out] pPreemptPriority Preemptive priority value (starting from 0).
+ 804:Drivers/CMSIS/Include/core_cm0.h **** \param [out] pSubPriority Subpriority value (starting from 0).
+ 805:Drivers/CMSIS/Include/core_cm0.h **** */
+ 806:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* cons
+ 807:Drivers/CMSIS/Include/core_cm0.h **** {
+ 808:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used
+ 809:Drivers/CMSIS/Include/core_cm0.h **** uint32_t PreemptPriorityBits;
+ 810:Drivers/CMSIS/Include/core_cm0.h **** uint32_t SubPriorityBits;
+ 811:Drivers/CMSIS/Include/core_cm0.h ****
+ 812:Drivers/CMSIS/Include/core_cm0.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV
+ 813:Drivers/CMSIS/Include/core_cm0.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
+ 814:Drivers/CMSIS/Include/core_cm0.h ****
+ 815:Drivers/CMSIS/Include/core_cm0.h **** *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1
+ 816:Drivers/CMSIS/Include/core_cm0.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
+ 817:Drivers/CMSIS/Include/core_cm0.h **** }
+ 818:Drivers/CMSIS/Include/core_cm0.h ****
+ 819:Drivers/CMSIS/Include/core_cm0.h ****
+ 820:Drivers/CMSIS/Include/core_cm0.h ****
+ 821:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 822:Drivers/CMSIS/Include/core_cm0.h **** \brief Set Interrupt Vector
+ 823:Drivers/CMSIS/Include/core_cm0.h **** \details Sets an interrupt vector in SRAM based interrupt vector table.
+ 824:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt,
+ 825:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception.
+ 826:Drivers/CMSIS/Include/core_cm0.h **** Address 0 must be mapped to SRAM.
+ 827:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number
+ 828:Drivers/CMSIS/Include/core_cm0.h **** \param [in] vector Address of interrupt handler function
+ 829:Drivers/CMSIS/Include/core_cm0.h **** */
+ 830:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
+ 831:Drivers/CMSIS/Include/core_cm0.h **** {
+ 832:Drivers/CMSIS/Include/core_cm0.h **** uint32_t *vectors = (uint32_t *)0x0U;
+ 833:Drivers/CMSIS/Include/core_cm0.h **** vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
+ 834:Drivers/CMSIS/Include/core_cm0.h **** }
+ 835:Drivers/CMSIS/Include/core_cm0.h ****
+ 836:Drivers/CMSIS/Include/core_cm0.h ****
+ 837:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 838:Drivers/CMSIS/Include/core_cm0.h **** \brief Get Interrupt Vector
+ 839:Drivers/CMSIS/Include/core_cm0.h **** \details Reads an interrupt vector from interrupt vector table.
+ 840:Drivers/CMSIS/Include/core_cm0.h **** The interrupt number can be positive to specify a device specific interrupt,
+ 841:Drivers/CMSIS/Include/core_cm0.h **** or negative to specify a processor exception.
+ 842:Drivers/CMSIS/Include/core_cm0.h **** \param [in] IRQn Interrupt number.
+ 843:Drivers/CMSIS/Include/core_cm0.h **** \return Address of interrupt handler function
+ 844:Drivers/CMSIS/Include/core_cm0.h **** */
+ 845:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
+ 846:Drivers/CMSIS/Include/core_cm0.h **** {
+ ARM GAS /tmp/ccwGqVnP.s page 39
+
+
+ 847:Drivers/CMSIS/Include/core_cm0.h **** uint32_t *vectors = (uint32_t *)0x0U;
+ 848:Drivers/CMSIS/Include/core_cm0.h **** return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
+ 849:Drivers/CMSIS/Include/core_cm0.h **** }
+ 850:Drivers/CMSIS/Include/core_cm0.h ****
+ 851:Drivers/CMSIS/Include/core_cm0.h ****
+ 852:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 853:Drivers/CMSIS/Include/core_cm0.h **** \brief System Reset
+ 854:Drivers/CMSIS/Include/core_cm0.h **** \details Initiates a system reset request to reset the MCU.
+ 855:Drivers/CMSIS/Include/core_cm0.h **** */
+ 856:Drivers/CMSIS/Include/core_cm0.h **** __NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
+ 857:Drivers/CMSIS/Include/core_cm0.h **** {
+ 858:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); /* Ensure all outstanding memor
+ 859:Drivers/CMSIS/Include/core_cm0.h **** buffered write are completed
+ 860:Drivers/CMSIS/Include/core_cm0.h **** SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
+ 260 .loc 2 860 0
+ 261 0004 034B ldr r3, .L16
+ 262 0006 044A ldr r2, .L16+4
+ 263 0008 DA60 str r2, [r3, #12]
+ 264 .LBB54:
+ 265 .LBB55:
+ 266 .loc 3 879 0
+ 267 .syntax divided
+ 268 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
+ 269 000a BFF34F8F dsb 0xF
+ 270 @ 0 "" 2
+ 271 .thumb
+ 272 .syntax unified
+ 273 .L15:
+ 274 .LBE55:
+ 275 .LBE54:
+ 861:Drivers/CMSIS/Include/core_cm0.h **** SCB_AIRCR_SYSRESETREQ_Msk);
+ 862:Drivers/CMSIS/Include/core_cm0.h **** __DSB(); /* Ensure completion of memory
+ 863:Drivers/CMSIS/Include/core_cm0.h ****
+ 864:Drivers/CMSIS/Include/core_cm0.h **** for(;;) /* wait until reset */
+ 865:Drivers/CMSIS/Include/core_cm0.h **** {
+ 866:Drivers/CMSIS/Include/core_cm0.h **** __NOP();
+ 276 .loc 2 866 0
+ 277 .syntax divided
+ 278 @ 866 "Drivers/CMSIS/Include/core_cm0.h" 1
+ 279 000e C046 nop
+ 280 @ 0 "" 2
+ 281 .thumb
+ 282 .syntax unified
+ 283 0010 FDE7 b .L15
+ 284 .L17:
+ 285 0012 C046 .align 2
+ 286 .L16:
+ 287 0014 00ED00E0 .word -536810240
+ 288 0018 0400FA05 .word 100270084
+ 289 .LBE51:
+ 290 .LBE50:
+ 291 .cfi_endproc
+ 292 .LFE43:
+ 294 .section .text.HAL_SYSTICK_Config,"ax",%progbits
+ 295 .align 1
+ 296 .global HAL_SYSTICK_Config
+ 297 .syntax unified
+ ARM GAS /tmp/ccwGqVnP.s page 40
+
+
+ 298 .code 16
+ 299 .thumb_func
+ 300 .fpu softvfp
+ 302 HAL_SYSTICK_Config:
+ 303 .LFB44:
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* System Reset */
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SystemReset();
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Initializes the System Timer and its interrupt, and starts the System Tick Timer.
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * Counter is in free running mode to generate periodic interrupts.
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param TicksNumb Specifies the ticks Number of ticks between two interrupts.
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval status: - 0 Function succeeded.
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 1 Function failed.
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 304 .loc 1 195 0
+ 305 .cfi_startproc
+ 306 @ args = 0, pretend = 0, frame = 0
+ 307 @ frame_needed = 0, uses_anonymous_args = 0
+ 308 @ link register save eliminated.
+ 309 .LVL17:
+ 310 .LBB56:
+ 311 .LBB57:
+ 867:Drivers/CMSIS/Include/core_cm0.h **** }
+ 868:Drivers/CMSIS/Include/core_cm0.h **** }
+ 869:Drivers/CMSIS/Include/core_cm0.h ****
+ 870:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of CMSIS_Core_NVICFunctions */
+ 871:Drivers/CMSIS/Include/core_cm0.h ****
+ 872:Drivers/CMSIS/Include/core_cm0.h ****
+ 873:Drivers/CMSIS/Include/core_cm0.h **** /* ########################## FPU functions #################################### */
+ 874:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 875:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface
+ 876:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_FpuFunctions FPU Functions
+ 877:Drivers/CMSIS/Include/core_cm0.h **** \brief Function that provides FPU type.
+ 878:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 879:Drivers/CMSIS/Include/core_cm0.h **** */
+ 880:Drivers/CMSIS/Include/core_cm0.h ****
+ 881:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 882:Drivers/CMSIS/Include/core_cm0.h **** \brief get FPU type
+ 883:Drivers/CMSIS/Include/core_cm0.h **** \details returns the FPU type
+ 884:Drivers/CMSIS/Include/core_cm0.h **** \returns
+ 885:Drivers/CMSIS/Include/core_cm0.h **** - \b 0: No FPU
+ 886:Drivers/CMSIS/Include/core_cm0.h **** - \b 1: Single precision FPU
+ 887:Drivers/CMSIS/Include/core_cm0.h **** - \b 2: Double + Single precision FPU
+ 888:Drivers/CMSIS/Include/core_cm0.h **** */
+ 889:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t SCB_GetFPUType(void)
+ 890:Drivers/CMSIS/Include/core_cm0.h **** {
+ 891:Drivers/CMSIS/Include/core_cm0.h **** return 0U; /* No FPU */
+ 892:Drivers/CMSIS/Include/core_cm0.h **** }
+ 893:Drivers/CMSIS/Include/core_cm0.h ****
+ 894:Drivers/CMSIS/Include/core_cm0.h ****
+ 895:Drivers/CMSIS/Include/core_cm0.h **** /*@} end of CMSIS_Core_FpuFunctions */
+ 896:Drivers/CMSIS/Include/core_cm0.h ****
+ 897:Drivers/CMSIS/Include/core_cm0.h ****
+ ARM GAS /tmp/ccwGqVnP.s page 41
+
+
+ 898:Drivers/CMSIS/Include/core_cm0.h ****
+ 899:Drivers/CMSIS/Include/core_cm0.h **** /* ################################## SysTick function ########################################
+ 900:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 901:Drivers/CMSIS/Include/core_cm0.h **** \ingroup CMSIS_Core_FunctionInterface
+ 902:Drivers/CMSIS/Include/core_cm0.h **** \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
+ 903:Drivers/CMSIS/Include/core_cm0.h **** \brief Functions that configure the System.
+ 904:Drivers/CMSIS/Include/core_cm0.h **** @{
+ 905:Drivers/CMSIS/Include/core_cm0.h **** */
+ 906:Drivers/CMSIS/Include/core_cm0.h ****
+ 907:Drivers/CMSIS/Include/core_cm0.h **** #if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
+ 908:Drivers/CMSIS/Include/core_cm0.h ****
+ 909:Drivers/CMSIS/Include/core_cm0.h **** /**
+ 910:Drivers/CMSIS/Include/core_cm0.h **** \brief System Tick Configuration
+ 911:Drivers/CMSIS/Include/core_cm0.h **** \details Initializes the System Timer and its interrupt, and starts the System Tick Timer.
+ 912:Drivers/CMSIS/Include/core_cm0.h **** Counter is in free running mode to generate periodic interrupts.
+ 913:Drivers/CMSIS/Include/core_cm0.h **** \param [in] ticks Number of ticks between two interrupts.
+ 914:Drivers/CMSIS/Include/core_cm0.h **** \return 0 Function succeeded.
+ 915:Drivers/CMSIS/Include/core_cm0.h **** \return 1 Function failed.
+ 916:Drivers/CMSIS/Include/core_cm0.h **** \note When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
+ 917:Drivers/CMSIS/Include/core_cm0.h **** function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.
+ 918:Drivers/CMSIS/Include/core_cm0.h **** must contain a vendor-specific implementation of this function.
+ 919:Drivers/CMSIS/Include/core_cm0.h **** */
+ 920:Drivers/CMSIS/Include/core_cm0.h **** __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
+ 921:Drivers/CMSIS/Include/core_cm0.h **** {
+ 922:Drivers/CMSIS/Include/core_cm0.h **** if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
+ 312 .loc 2 922 0
+ 313 0000 0138 subs r0, r0, #1
+ 314 .LVL18:
+ 315 0002 0A4B ldr r3, .L21
+ 316 0004 9842 cmp r0, r3
+ 317 0006 0FD8 bhi .L20
+ 923:Drivers/CMSIS/Include/core_cm0.h **** {
+ 924:Drivers/CMSIS/Include/core_cm0.h **** return (1UL); /* Reload value impossible */
+ 925:Drivers/CMSIS/Include/core_cm0.h **** }
+ 926:Drivers/CMSIS/Include/core_cm0.h ****
+ 927:Drivers/CMSIS/Include/core_cm0.h **** SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
+ 318 .loc 2 927 0
+ 319 0008 094A ldr r2, .L21+4
+ 320 000a 5060 str r0, [r2, #4]
+ 321 .LVL19:
+ 322 .LBB58:
+ 323 .LBB59:
+ 739:Drivers/CMSIS/Include/core_cm0.h **** (((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL) << _BIT_SHIFT(IRQn)));
+ 324 .loc 2 739 0
+ 325 000c 0948 ldr r0, .L21+8
+ 326 .LVL20:
+ 327 000e 036A ldr r3, [r0, #32]
+ 328 0010 1B02 lsls r3, r3, #8
+ 329 0012 1B0A lsrs r3, r3, #8
+ 330 0014 C021 movs r1, #192
+ 331 0016 0906 lsls r1, r1, #24
+ 332 0018 0B43 orrs r3, r1
+ 333 001a 0362 str r3, [r0, #32]
+ 334 .LVL21:
+ 335 .LBE59:
+ 336 .LBE58:
+ 928:Drivers/CMSIS/Include/core_cm0.h **** NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Int
+ ARM GAS /tmp/ccwGqVnP.s page 42
+
+
+ 929:Drivers/CMSIS/Include/core_cm0.h **** SysTick->VAL = 0UL; /* Load the SysTick Counter Val
+ 337 .loc 2 929 0
+ 338 001c 0023 movs r3, #0
+ 339 001e 9360 str r3, [r2, #8]
+ 930:Drivers/CMSIS/Include/core_cm0.h **** SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
+ 340 .loc 2 930 0
+ 341 0020 0733 adds r3, r3, #7
+ 342 0022 1360 str r3, [r2]
+ 931:Drivers/CMSIS/Include/core_cm0.h **** SysTick_CTRL_TICKINT_Msk |
+ 932:Drivers/CMSIS/Include/core_cm0.h **** SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTi
+ 933:Drivers/CMSIS/Include/core_cm0.h **** return (0UL); /* Function successful */
+ 343 .loc 2 933 0
+ 344 0024 0020 movs r0, #0
+ 345 .LVL22:
+ 346 .L18:
+ 347 .LBE57:
+ 348 .LBE56:
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return SysTick_Config(TicksNumb);
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 349 .loc 1 197 0
+ 350 @ sp needed
+ 351 0026 7047 bx lr
+ 352 .LVL23:
+ 353 .L20:
+ 354 .LBB61:
+ 355 .LBB60:
+ 924:Drivers/CMSIS/Include/core_cm0.h **** }
+ 356 .loc 2 924 0
+ 357 0028 0120 movs r0, #1
+ 358 .LVL24:
+ 359 .LBE60:
+ 360 .LBE61:
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return SysTick_Config(TicksNumb);
+ 361 .loc 1 196 0
+ 362 002a FCE7 b .L18
+ 363 .L22:
+ 364 .align 2
+ 365 .L21:
+ 366 002c FFFFFF00 .word 16777215
+ 367 0030 10E000E0 .word -536813552
+ 368 0034 00ED00E0 .word -536810240
+ 369 .cfi_endproc
+ 370 .LFE44:
+ 372 .section .text.HAL_NVIC_GetPriority,"ax",%progbits
+ 373 .align 1
+ 374 .global HAL_NVIC_GetPriority
+ 375 .syntax unified
+ 376 .code 16
+ 377 .thumb_func
+ 378 .fpu softvfp
+ 380 HAL_NVIC_GetPriority:
+ 381 .LFB45:
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @}
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group2 Peripheral Control functions
+ ARM GAS /tmp/ccwGqVnP.s page 43
+
+
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Cortex control functions
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** *
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @verbatim
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ##### Peripheral Control functions #####
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** ==============================================================================
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** [..]
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** This subsection provides a set of functions allowing to control the CORTEX
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** (NVIC, SYSTICK) functionalities.
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** @endverbatim
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @{
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Gets the priority of an interrupt.
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number.
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPriority(IRQn_Type IRQn)
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 382 .loc 1 227 0
+ 383 .cfi_startproc
+ 384 @ args = 0, pretend = 0, frame = 0
+ 385 @ frame_needed = 0, uses_anonymous_args = 0
+ 386 @ link register save eliminated.
+ 387 .LVL25:
+ 388 .LBB64:
+ 389 .LBB65:
+ 757:Drivers/CMSIS/Include/core_cm0.h **** {
+ 390 .loc 2 757 0
+ 391 0000 0028 cmp r0, #0
+ 392 0002 0CDB blt .L24
+ 759:Drivers/CMSIS/Include/core_cm0.h **** }
+ 393 .loc 2 759 0
+ 394 0004 8308 lsrs r3, r0, #2
+ 395 0006 C033 adds r3, r3, #192
+ 396 0008 9B00 lsls r3, r3, #2
+ 397 000a 0E4A ldr r2, .L26
+ 398 000c 9B58 ldr r3, [r3, r2]
+ 399 000e 0322 movs r2, #3
+ 400 0010 1040 ands r0, r2
+ 401 .LVL26:
+ 402 0012 C000 lsls r0, r0, #3
+ 403 0014 C340 lsrs r3, r3, r0
+ 404 0016 9B09 lsrs r3, r3, #6
+ 405 0018 0320 movs r0, #3
+ 406 001a 1840 ands r0, r3
+ 407 .LVL27:
+ 408 .L23:
+ 409 .LBE65:
+ 410 .LBE64:
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Get priority for Cortex-M system or device specific interrupts */
+ ARM GAS /tmp/ccwGqVnP.s page 44
+
+
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return NVIC_GetPriority(IRQn);
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 411 .loc 1 230 0
+ 412 @ sp needed
+ 413 001c 7047 bx lr
+ 414 .LVL28:
+ 415 .L24:
+ 416 .LBB67:
+ 417 .LBB66:
+ 763:Drivers/CMSIS/Include/core_cm0.h **** }
+ 418 .loc 2 763 0
+ 419 001e C0B2 uxtb r0, r0
+ 420 0020 0F23 movs r3, #15
+ 421 0022 0340 ands r3, r0
+ 422 0024 083B subs r3, r3, #8
+ 423 0026 9B08 lsrs r3, r3, #2
+ 424 0028 0633 adds r3, r3, #6
+ 425 002a 9B00 lsls r3, r3, #2
+ 426 002c 064A ldr r2, .L26+4
+ 427 002e 9446 mov ip, r2
+ 428 0030 6344 add r3, r3, ip
+ 429 0032 5B68 ldr r3, [r3, #4]
+ 430 0034 0322 movs r2, #3
+ 431 0036 1040 ands r0, r2
+ 432 .LVL29:
+ 433 0038 C000 lsls r0, r0, #3
+ 434 003a C340 lsrs r3, r3, r0
+ 435 003c 9B09 lsrs r3, r3, #6
+ 436 003e 0320 movs r0, #3
+ 437 0040 1840 ands r0, r3
+ 438 .LVL30:
+ 439 .LBE66:
+ 440 .LBE67:
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 441 .loc 1 229 0
+ 442 0042 EBE7 b .L23
+ 443 .L27:
+ 444 .align 2
+ 445 .L26:
+ 446 0044 00E100E0 .word -536813312
+ 447 0048 00ED00E0 .word -536810240
+ 448 .cfi_endproc
+ 449 .LFE45:
+ 451 .section .text.HAL_NVIC_SetPendingIRQ,"ax",%progbits
+ 452 .align 1
+ 453 .global HAL_NVIC_SetPendingIRQ
+ 454 .syntax unified
+ 455 .code 16
+ 456 .thumb_func
+ 457 .fpu softvfp
+ 459 HAL_NVIC_SetPendingIRQ:
+ 460 .LFB46:
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Sets Pending bit of an external interrupt.
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ ARM GAS /tmp/ccwGqVnP.s page 45
+
+
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn)
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 461 .loc 1 240 0
+ 462 .cfi_startproc
+ 463 @ args = 0, pretend = 0, frame = 0
+ 464 @ frame_needed = 0, uses_anonymous_args = 0
+ 465 @ link register save eliminated.
+ 466 .LVL31:
+ 467 .LBB68:
+ 468 .LBB69:
+ 699:Drivers/CMSIS/Include/core_cm0.h **** {
+ 469 .loc 2 699 0
+ 470 0000 0028 cmp r0, #0
+ 471 0002 07DB blt .L28
+ 701:Drivers/CMSIS/Include/core_cm0.h **** }
+ 472 .loc 2 701 0
+ 473 0004 1F23 movs r3, #31
+ 474 0006 1840 ands r0, r3
+ 475 .LVL32:
+ 476 0008 1E3B subs r3, r3, #30
+ 477 000a 8340 lsls r3, r3, r0
+ 478 000c 0249 ldr r1, .L30
+ 479 000e 8022 movs r2, #128
+ 480 0010 5200 lsls r2, r2, #1
+ 481 0012 8B50 str r3, [r1, r2]
+ 482 .LVL33:
+ 483 .L28:
+ 484 .LBE69:
+ 485 .LBE68:
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Set interrupt pending */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_SetPendingIRQ(IRQn);
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 486 .loc 1 246 0
+ 487 @ sp needed
+ 488 0014 7047 bx lr
+ 489 .L31:
+ 490 0016 C046 .align 2
+ 491 .L30:
+ 492 0018 00E100E0 .word -536813312
+ 493 .cfi_endproc
+ 494 .LFE46:
+ 496 .section .text.HAL_NVIC_GetPendingIRQ,"ax",%progbits
+ 497 .align 1
+ 498 .global HAL_NVIC_GetPendingIRQ
+ 499 .syntax unified
+ 500 .code 16
+ 501 .thumb_func
+ 502 .fpu softvfp
+ 504 HAL_NVIC_GetPendingIRQ:
+ 505 .LFB47:
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ ARM GAS /tmp/ccwGqVnP.s page 46
+
+
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Gets Pending Interrupt (reads the pending register in the NVIC
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * and returns the pending bit for the specified interrupt).
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number.
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval status: - 0 Interrupt status is not pending.
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * - 1 Interrupt status is pending.
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn)
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 506 .loc 1 258 0
+ 507 .cfi_startproc
+ 508 @ args = 0, pretend = 0, frame = 0
+ 509 @ frame_needed = 0, uses_anonymous_args = 0
+ 510 @ link register save eliminated.
+ 511 .LVL34:
+ 512 .LBB70:
+ 513 .LBB71:
+ 680:Drivers/CMSIS/Include/core_cm0.h **** {
+ 514 .loc 2 680 0
+ 515 0000 0028 cmp r0, #0
+ 516 0002 09DB blt .L34
+ 682:Drivers/CMSIS/Include/core_cm0.h **** }
+ 517 .loc 2 682 0
+ 518 0004 054A ldr r2, .L35
+ 519 0006 8023 movs r3, #128
+ 520 0008 5B00 lsls r3, r3, #1
+ 521 000a D358 ldr r3, [r2, r3]
+ 522 000c 1F22 movs r2, #31
+ 523 000e 1040 ands r0, r2
+ 524 .LVL35:
+ 525 0010 C340 lsrs r3, r3, r0
+ 526 0012 0120 movs r0, #1
+ 527 0014 1840 ands r0, r3
+ 528 .LVL36:
+ 529 .L32:
+ 530 .LBE71:
+ 531 .LBE70:
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Return 1 if pending else 0 */
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** return NVIC_GetPendingIRQ(IRQn);
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 532 .loc 1 264 0
+ 533 @ sp needed
+ 534 0016 7047 bx lr
+ 535 .LVL37:
+ 536 .L34:
+ 537 .LBB73:
+ 538 .LBB72:
+ 686:Drivers/CMSIS/Include/core_cm0.h **** }
+ 539 .loc 2 686 0
+ 540 0018 0020 movs r0, #0
+ 541 .LVL38:
+ 542 .LBE72:
+ ARM GAS /tmp/ccwGqVnP.s page 47
+
+
+ 543 .LBE73:
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 544 .loc 1 263 0
+ 545 001a FCE7 b .L32
+ 546 .L36:
+ 547 .align 2
+ 548 .L35:
+ 549 001c 00E100E0 .word -536813312
+ 550 .cfi_endproc
+ 551 .LFE47:
+ 553 .section .text.HAL_NVIC_ClearPendingIRQ,"ax",%progbits
+ 554 .align 1
+ 555 .global HAL_NVIC_ClearPendingIRQ
+ 556 .syntax unified
+ 557 .code 16
+ 558 .thumb_func
+ 559 .fpu softvfp
+ 561 HAL_NVIC_ClearPendingIRQ:
+ 562 .LFB48:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Clears the pending bit of an external interrupt.
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param IRQn External interrupt number.
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn)
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 563 .loc 1 274 0
+ 564 .cfi_startproc
+ 565 @ args = 0, pretend = 0, frame = 0
+ 566 @ frame_needed = 0, uses_anonymous_args = 0
+ 567 @ link register save eliminated.
+ 568 .LVL39:
+ 569 .LBB74:
+ 570 .LBB75:
+ 714:Drivers/CMSIS/Include/core_cm0.h **** {
+ 571 .loc 2 714 0
+ 572 0000 0028 cmp r0, #0
+ 573 0002 07DB blt .L37
+ 716:Drivers/CMSIS/Include/core_cm0.h **** }
+ 574 .loc 2 716 0
+ 575 0004 1F23 movs r3, #31
+ 576 0006 1840 ands r0, r3
+ 577 .LVL40:
+ 578 0008 1E3B subs r3, r3, #30
+ 579 000a 8340 lsls r3, r3, r0
+ 580 000c 0249 ldr r1, .L39
+ 581 000e C022 movs r2, #192
+ 582 0010 5200 lsls r2, r2, #1
+ 583 0012 8B50 str r3, [r1, r2]
+ 584 .LVL41:
+ 585 .L37:
+ 586 .LBE75:
+ 587 .LBE74:
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ ARM GAS /tmp/ccwGqVnP.s page 48
+
+
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Clear pending interrupt */
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** NVIC_ClearPendingIRQ(IRQn);
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 588 .loc 1 280 0
+ 589 @ sp needed
+ 590 0014 7047 bx lr
+ 591 .L40:
+ 592 0016 C046 .align 2
+ 593 .L39:
+ 594 0018 00E100E0 .word -536813312
+ 595 .cfi_endproc
+ 596 .LFE48:
+ 598 .section .text.HAL_SYSTICK_CLKSourceConfig,"ax",%progbits
+ 599 .align 1
+ 600 .global HAL_SYSTICK_CLKSourceConfig
+ 601 .syntax unified
+ 602 .code 16
+ 603 .thumb_func
+ 604 .fpu softvfp
+ 606 HAL_SYSTICK_CLKSourceConfig:
+ 607 .LFB49:
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief Configures the SysTick clock source.
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @param CLKSource specifies the SysTick clock source.
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * This parameter can be one of the following values:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK_DIV8: AHB clock divided by 8 selected as SysTick clock
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK: AHB clock selected as SysTick clock source.
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource)
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 608 .loc 1 291 0
+ 609 .cfi_startproc
+ 610 @ args = 0, pretend = 0, frame = 0
+ 611 @ frame_needed = 0, uses_anonymous_args = 0
+ 612 @ link register save eliminated.
+ 613 .LVL42:
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* Check the parameters */
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** assert_param(IS_SYSTICK_CLK_SOURCE(CLKSource));
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** if (CLKSource == SYSTICK_CLKSOURCE_HCLK)
+ 614 .loc 1 294 0
+ 615 0000 0428 cmp r0, #4
+ 616 0002 05D0 beq .L44
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK;
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** else
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK;
+ 617 .loc 1 300 0
+ 618 0004 054A ldr r2, .L45
+ 619 0006 1368 ldr r3, [r2]
+ 620 0008 0421 movs r1, #4
+ 621 000a 8B43 bics r3, r1
+ ARM GAS /tmp/ccwGqVnP.s page 49
+
+
+ 622 000c 1360 str r3, [r2]
+ 623 .L41:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 624 .loc 1 302 0
+ 625 @ sp needed
+ 626 000e 7047 bx lr
+ 627 .L44:
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 628 .loc 1 296 0
+ 629 0010 024A ldr r2, .L45
+ 630 0012 1368 ldr r3, [r2]
+ 631 0014 0421 movs r1, #4
+ 632 0016 0B43 orrs r3, r1
+ 633 0018 1360 str r3, [r2]
+ 634 001a F8E7 b .L41
+ 635 .L46:
+ 636 .align 2
+ 637 .L45:
+ 638 001c 10E000E0 .word -536813552
+ 639 .cfi_endproc
+ 640 .LFE49:
+ 642 .section .text.HAL_SYSTICK_Callback,"ax",%progbits
+ 643 .align 1
+ 644 .weak HAL_SYSTICK_Callback
+ 645 .syntax unified
+ 646 .code 16
+ 647 .thumb_func
+ 648 .fpu softvfp
+ 650 HAL_SYSTICK_Callback:
+ 651 .LFB51:
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief This function handles SYSTICK interrupt request.
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** void HAL_SYSTICK_IRQHandler(void)
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Callback();
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /**
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @brief SYSTICK callback.
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** * @retval None
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** __weak void HAL_SYSTICK_Callback(void)
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** {
+ 652 .loc 1 318 0
+ 653 .cfi_startproc
+ 654 @ args = 0, pretend = 0, frame = 0
+ 655 @ frame_needed = 0, uses_anonymous_args = 0
+ 656 @ link register save eliminated.
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** the HAL_SYSTICK_Callback could be implemented in the user file
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 657 .loc 1 322 0
+ ARM GAS /tmp/ccwGqVnP.s page 50
+
+
+ 658 @ sp needed
+ 659 0000 7047 bx lr
+ 660 .cfi_endproc
+ 661 .LFE51:
+ 663 .section .text.HAL_SYSTICK_IRQHandler,"ax",%progbits
+ 664 .align 1
+ 665 .global HAL_SYSTICK_IRQHandler
+ 666 .syntax unified
+ 667 .code 16
+ 668 .thumb_func
+ 669 .fpu softvfp
+ 671 HAL_SYSTICK_IRQHandler:
+ 672 .LFB50:
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** HAL_SYSTICK_Callback();
+ 673 .loc 1 309 0
+ 674 .cfi_startproc
+ 675 @ args = 0, pretend = 0, frame = 0
+ 676 @ frame_needed = 0, uses_anonymous_args = 0
+ 677 0000 10B5 push {r4, lr}
+ 678 .LCFI1:
+ 679 .cfi_def_cfa_offset 8
+ 680 .cfi_offset 4, -8
+ 681 .cfi_offset 14, -4
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c **** }
+ 682 .loc 1 310 0
+ 683 0002 FFF7FEFF bl HAL_SYSTICK_Callback
+ 684 .LVL43:
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_cortex.c ****
+ 685 .loc 1 311 0
+ 686 @ sp needed
+ 687 0006 10BD pop {r4, pc}
+ 688 .cfi_endproc
+ 689 .LFE50:
+ 691 .text
+ 692 .Letext0:
+ 693 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 694 .file 5 "/usr/include/newlib/machine/_default_types.h"
+ 695 .file 6 "/usr/include/newlib/sys/_stdint.h"
+ 696 .file 7 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 697 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccwGqVnP.s page 51
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_cortex.c
+ /tmp/ccwGqVnP.s:16 .text.HAL_NVIC_SetPriority:0000000000000000 $t
+ /tmp/ccwGqVnP.s:23 .text.HAL_NVIC_SetPriority:0000000000000000 HAL_NVIC_SetPriority
+ /tmp/ccwGqVnP.s:116 .text.HAL_NVIC_SetPriority:000000000000005c $d
+ /tmp/ccwGqVnP.s:122 .text.HAL_NVIC_EnableIRQ:0000000000000000 $t
+ /tmp/ccwGqVnP.s:129 .text.HAL_NVIC_EnableIRQ:0000000000000000 HAL_NVIC_EnableIRQ
+ /tmp/ccwGqVnP.s:160 .text.HAL_NVIC_EnableIRQ:0000000000000014 $d
+ /tmp/ccwGqVnP.s:165 .text.HAL_NVIC_DisableIRQ:0000000000000000 $t
+ /tmp/ccwGqVnP.s:172 .text.HAL_NVIC_DisableIRQ:0000000000000000 HAL_NVIC_DisableIRQ
+ /tmp/ccwGqVnP.s:227 .text.HAL_NVIC_DisableIRQ:000000000000001c $d
+ /tmp/ccwGqVnP.s:232 .text.HAL_NVIC_SystemReset:0000000000000000 $t
+ /tmp/ccwGqVnP.s:239 .text.HAL_NVIC_SystemReset:0000000000000000 HAL_NVIC_SystemReset
+ /tmp/ccwGqVnP.s:287 .text.HAL_NVIC_SystemReset:0000000000000014 $d
+ /tmp/ccwGqVnP.s:295 .text.HAL_SYSTICK_Config:0000000000000000 $t
+ /tmp/ccwGqVnP.s:302 .text.HAL_SYSTICK_Config:0000000000000000 HAL_SYSTICK_Config
+ /tmp/ccwGqVnP.s:366 .text.HAL_SYSTICK_Config:000000000000002c $d
+ /tmp/ccwGqVnP.s:373 .text.HAL_NVIC_GetPriority:0000000000000000 $t
+ /tmp/ccwGqVnP.s:380 .text.HAL_NVIC_GetPriority:0000000000000000 HAL_NVIC_GetPriority
+ /tmp/ccwGqVnP.s:446 .text.HAL_NVIC_GetPriority:0000000000000044 $d
+ /tmp/ccwGqVnP.s:452 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 $t
+ /tmp/ccwGqVnP.s:459 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 HAL_NVIC_SetPendingIRQ
+ /tmp/ccwGqVnP.s:492 .text.HAL_NVIC_SetPendingIRQ:0000000000000018 $d
+ /tmp/ccwGqVnP.s:497 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 $t
+ /tmp/ccwGqVnP.s:504 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 HAL_NVIC_GetPendingIRQ
+ /tmp/ccwGqVnP.s:549 .text.HAL_NVIC_GetPendingIRQ:000000000000001c $d
+ /tmp/ccwGqVnP.s:554 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 $t
+ /tmp/ccwGqVnP.s:561 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 HAL_NVIC_ClearPendingIRQ
+ /tmp/ccwGqVnP.s:594 .text.HAL_NVIC_ClearPendingIRQ:0000000000000018 $d
+ /tmp/ccwGqVnP.s:599 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 $t
+ /tmp/ccwGqVnP.s:606 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 HAL_SYSTICK_CLKSourceConfig
+ /tmp/ccwGqVnP.s:638 .text.HAL_SYSTICK_CLKSourceConfig:000000000000001c $d
+ /tmp/ccwGqVnP.s:643 .text.HAL_SYSTICK_Callback:0000000000000000 $t
+ /tmp/ccwGqVnP.s:650 .text.HAL_SYSTICK_Callback:0000000000000000 HAL_SYSTICK_Callback
+ /tmp/ccwGqVnP.s:664 .text.HAL_SYSTICK_IRQHandler:0000000000000000 $t
+ /tmp/ccwGqVnP.s:671 .text.HAL_SYSTICK_IRQHandler:0000000000000000 HAL_SYSTICK_IRQHandler
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_cortex.o b/fw/midi-dials/build/stm32f0xx_hal_cortex.o
new file mode 100644
index 0000000..c2207f1
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_cortex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_dma.d b/fw/midi-dials/build/stm32f0xx_hal_dma.d
new file mode 100644
index 0000000..a298840
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_dma.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_dma.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_dma.lst b/fw/midi-dials/build/stm32f0xx_hal_dma.lst
new file mode 100644
index 0000000..0e4e1aa
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_dma.lst
@@ -0,0 +1,2507 @@
+ARM GAS /tmp/ccPStHDw.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 "stm32f0xx_hal_dma.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.DMA_SetConfig,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 DMA_SetConfig:
+ 23 .LFB52:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @file stm32f0xx_hal_dma.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DMA HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * This file provides firmware functions to manage the following
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * functionalities of the Direct Memory Access (DMA) peripheral:
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + Initialization and de-initialization functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + IO operation functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * + Peripheral State and errors functions
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ==============================================================================
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### How to use this driver #####
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Enable and configure the peripheral to be connected to the DMA Channel
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (except for internal SRAM / FLASH memories: no initialization is
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** necessary). Please refer to Reference manual for connection between peripherals
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** and DMA requests .
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) For a given Channel, program the required configuration through the following parameters:
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Transfer Direction, Source and Destination data formats,
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Circular or Normal mode, Channel Priority level, Source and Destination Increment mode,
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** using HAL_DMA_Init() function.
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Use HAL_DMA_GetState() function to return the DMA state and HAL_DMA_GetError() in case of er
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** detection.
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (#) Use HAL_DMA_Abort() function to abort the current transfer
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** -@- In Memory-to-Memory transfer mode, Circular mode is not allowed.
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** Polling mode IO operation ***
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =================================
+ ARM GAS /tmp/ccPStHDw.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Start() to start DMA transfer after the configuration of Source
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** address and destination address and the Length of data to be transferred
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_PollForTransfer() to poll for the end of current transfer, in this
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case a fixed Timeout can be configured by User depending from his application.
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** Interrupt mode IO operation ***
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===================================
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the DMA interrupt priority using HAL_NVIC_SetPriority()
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Enable the DMA IRQ handler using HAL_NVIC_EnableIRQ()
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Start_IT() to start DMA transfer after the configuration of
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Source address and destination address and the Length of data to be transferred.
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** In this case the DMA interrupt is configured
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Use HAL_DMA_Channel_IRQHandler() called under DMA_IRQHandler() Interrupt subroutine
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) At the end of data transfer HAL_DMA_IRQHandler() function is executed and user can
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** add his own function by customization of function pointer XferCpltCallback and
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** XferErrorCallback (i.e a member of DMA handle structure).
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *** DMA HAL driver macros list ***
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** =============================================
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Below the list of most used macros in DMA HAL driver.
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (@) You can refer to the DMA HAL driver header file for more useful macros
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ******************************************************************************
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @attention
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * All rights reserved.</center></h2>
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the "License"; You may not use this file except in compliance with the
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * License. You may obtain a copy of the License at:
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * opensource.org/licenses/BSD-3-Clause
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ******************************************************************************
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Includes ------------------------------------------------------------------*/
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #include "stm32f0xx_hal.h"
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA DMA
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DMA HAL module driver
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #ifdef HAL_DMA_MODULE_ENABLED
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ ARM GAS /tmp/ccPStHDw.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private typedef -----------------------------------------------------------*/
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private define ------------------------------------------------------------*/
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private macro -------------------------------------------------------------*/
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private variables ---------------------------------------------------------*/
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Private function prototypes -----------------------------------------------*/
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Private_Functions DMA Private Functions
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma);
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @}
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Exported functions ---------------------------------------------------------*/
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions DMA Exported Functions
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group1 Initialization and de-initialization functions
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Initialization and de-initialization functions
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### Initialization and de-initialization functions #####
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** This section provides functions allowing to initialize the DMA Channel source
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** and destination addresses, incrementation and data sizes, transfer direction,
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** circular/normal mode selection, memory-to-memory mode selection and Channel priority value.
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** The HAL_DMA_Init() function follows the DMA configuration procedures as described in
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** reference manual.
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Initialize the DMA according to the specified
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * parameters in the DMA_InitTypeDef and initialize the associated handle.
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma Pointer to a DMA_HandleTypeDef structure that contains
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma)
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tmp = 0U;
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL == hdma)
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */
+ ARM GAS /tmp/ccPStHDw.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance));
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_DIRECTION(hdma->Init.Direction));
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_INC_STATE(hdma->Init.PeriphInc));
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_INC_STATE(hdma->Init.MemInc));
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PERIPHERAL_DATA_SIZE(hdma->Init.PeriphDataAlignment));
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MEMORY_DATA_SIZE(hdma->Init.MemDataAlignment));
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_MODE(hdma->Init.Mode));
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_PRIORITY(hdma->Init.Priority));
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get the CR register value */
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp = hdma->Instance->CCR;
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR bits */
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp &= ((uint32_t)~(DMA_CCR_PL | DMA_CCR_MSIZE | DMA_CCR_PSIZE | \
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | \
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_DIR));
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Prepare the DMA Channel configuration */
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tmp |= hdma->Init.Direction |
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Write to DMA Channel CR register */
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR = tmp;
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialize DmaBaseAddress and ChannelIndex parameters used
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma);
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialise the error code */
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Initialize the DMA state*/
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Allocate lock resource and initialize it */
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Lock = HAL_UNLOCKED;
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK;
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief DeInitialize the DMA peripheral
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma)
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL == hdma)
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ ARM GAS /tmp/ccPStHDw.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_ALL_INSTANCE(hdma->Instance));
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the selected DMA Channelx */
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN;
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel control register */
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR = 0U;
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel Number of Data to Transfer register */
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CNDTR = 0U;
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel peripheral address register */
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = 0U;
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset DMA Channel memory address register */
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = 0U;
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get DMA Base Address */
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CalcBaseAndBitshift(hdma);
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex;
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clean callbacks */
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset the error code */
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Reset the DMA state */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_RESET;
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK;
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @}
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group2 Input and Output operation functions
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief I/O operation functions
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### IO operation functions #####
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..] This section provides functions allowing to:
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the source, destination address and data length and Start DMA transfer
+ ARM GAS /tmp/ccPStHDw.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Configure the source, destination address and data length and
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** Start DMA transfer with interrupt
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Abort DMA transfer
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Poll for transfer complete
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Handle DMA interrupt request
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Start the DMA Transfer.
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress,
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma);
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the peripheral */
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN;
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure the source, destination address and the data length */
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the Peripheral */
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN;
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Remain BUSY */
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_BUSY;
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status;
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ ARM GAS /tmp/ccPStHDw.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Start the DMA Transfer with interrupt enabled.
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddres
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the parameters */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** assert_param(IS_DMA_BUFFER_SIZE(DataLength));
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma);
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change DMA peripheral state */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_BUSY;
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NONE;
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the peripheral */
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN;
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure the source, destination address and the data length */
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength);
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the transfer complete, & transfer error interrupts */
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half transfer interrupt is optional: enable it only if associated callback is available */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(NULL != hdma->XferHalfCpltCallback )
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_HT | DMA_IT_TE);
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= (DMA_IT_TC | DMA_IT_TE);
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT;
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Enable the Peripheral */
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR |= DMA_CCR_EN;
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Remain BUSY */
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_BUSY;
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status;
+ ARM GAS /tmp/ccPStHDw.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Abort the DMA Transfer.
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable DMA IT */
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE);
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the channel */
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN;
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex);
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state*/
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK;
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Abort the DMA Transfer in Interrupt mode.
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State)
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR;
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ ARM GAS /tmp/ccPStHDw.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable DMA IT */
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE);
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the channel */
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_CCR_EN;
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex;
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Call User Abort callback */
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferAbortCallback != NULL)
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback(hdma);
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status;
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Polling for transfer complete.
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CompleteLevel Specifies the DMA level complete.
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param Timeout Timeout duration.
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, uint32_t CompleteLevel, uint32_t
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t temp;
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tickstart = 0U;
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_BUSY != hdma->State)
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* no transfer ongoing */
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER;
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Polling mode not supported in circular mode */
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if (RESET != (hdma->Instance->CCR & DMA_CCR_CIRC))
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_NOT_SUPPORTED;
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get the level transfer complete flag */
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel)
+ ARM GAS /tmp/ccPStHDw.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Complete flag */
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** temp = DMA_FLAG_TC1 << hdma->ChannelIndex;
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half Transfer Complete flag */
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** temp = DMA_FLAG_HT1 << hdma->ChannelIndex;
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Get tick */
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** tickstart = HAL_GetTick();
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** while(RESET == (hdma->DmaBaseAddress->ISR & temp))
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(RESET != (hdma->DmaBaseAddress->ISR & (DMA_FLAG_TE1 << hdma->ChannelIndex)))
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* When a DMA transfer error occurs */
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex;
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE;
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State= HAL_DMA_STATE_READY;
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check for the Timeout */
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(Timeout != HAL_MAX_DELAY)
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout))
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT;
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_FULL_TRANSFER == CompleteLevel)
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the transfer complete flag */
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex;
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ ARM GAS /tmp/ccPStHDw.s page 11
+
+
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* The selected Channelx EN bit is cleared (DMA is disabled and
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** all transfers are complete) */
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the half transfer complete flag */
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex;
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process unlocked */
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_OK;
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Handle DMA interrupt request.
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval None
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma)
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t flag_it = hdma->DmaBaseAddress->ISR;
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t source_it = hdma->Instance->CCR;
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half Transfer Complete Interrupt management ******************************/
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if ((RESET != (flag_it & (DMA_FLAG_HT1 << hdma->ChannelIndex))) && (RESET != (source_it & DMA_IT_
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the half transfer interrupt */
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT;
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the half transfer complete flag */
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_HT1 << hdma->ChannelIndex;
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA peripheral state is not updated in Half Transfer */
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* State is updated only in Transfer Complete case */
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferHalfCpltCallback != NULL)
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Half transfer callback */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback(hdma);
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Complete Interrupt management ***********************************/
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else if ((RESET != (flag_it & (DMA_FLAG_TC1 << hdma->ChannelIndex))) && (RESET != (source_it & DM
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Instance->CCR & DMA_CCR_CIRC) == 0U)
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Disable the transfer complete & transfer error interrupts */
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* if the DMA mode is not CIRCULAR */
+ ARM GAS /tmp/ccPStHDw.s page 12
+
+
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_TE);
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear the transfer complete flag */
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_TC1 << hdma->ChannelIndex;
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferCpltCallback != NULL)
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer complete callback */
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback(hdma);
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer Error Interrupt management ***************************************/
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else if (( RESET != (flag_it & (DMA_FLAG_TE1 << hdma->ChannelIndex))) && (RESET != (source_it & D
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* When a DMA transfer error occurs */
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* A hardware clear of its EN bits is performed */
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Then, disable all DMA interrupts */
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~(DMA_IT_TC | DMA_IT_HT | DMA_IT_TE);
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = DMA_FLAG_GL1 << hdma->ChannelIndex;
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Update error code */
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ErrorCode = HAL_DMA_ERROR_TE;
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Change the DMA state */
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->State = HAL_DMA_STATE_READY;
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process Unlocked */
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->XferErrorCallback != NULL)
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Transfer error callback */
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback(hdma);
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Register callbacks
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CallbackID User Callback identifer
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter.
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param pCallback pointer to private callback function which has pointer to
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a DMA_HandleTypeDef structure as parameter.
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ ARM GAS /tmp/ccPStHDw.s page 13
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_RegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Callb
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma);
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** switch (CallbackID)
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = pCallback;
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = pCallback;
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = pCallback;
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = pCallback;
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** default:
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR;
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR;
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status;
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief UnRegister callbacks
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param CallbackID User Callback identifer
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * a HAL_DMA_CallbackIDTypeDef ENUM as parameter.
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef HAL_DMA_UnRegisterCallback(DMA_HandleTypeDef *hdma, HAL_DMA_CallbackIDTypeDef Cal
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Process locked */
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_LOCK(hdma);
+ ARM GAS /tmp/ccPStHDw.s page 14
+
+
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(HAL_DMA_STATE_READY == hdma->State)
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** switch (CallbackID)
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_CPLT_CB_ID:
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_HALFCPLT_CB_ID:
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ERROR_CB_ID:
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ABORT_CB_ID:
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** case HAL_DMA_XFER_ALL_CB_ID:
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferCpltCallback = NULL;
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** default:
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR;
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** status = HAL_ERROR;
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Release Lock */
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return status;
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @}
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @defgroup DMA_Exported_Functions_Group3 Peripheral State functions
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Peripheral State functions
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** *
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @verbatim
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ##### State and Errors functions #####
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** ===============================================================================
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** [..]
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** This subsection provides functions allowing to
+ ARM GAS /tmp/ccPStHDw.s page 15
+
+
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Check the DMA state
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** (+) Get error code
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** @endverbatim
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Returns the DMA state.
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL state
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma)
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->State;
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Return the DMA error code
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval DMA Error Code
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->ErrorCode;
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @}
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @}
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /** @addtogroup DMA_Private_Functions
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @{
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief Set the DMA Transfer parameters.
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Channel.
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param SrcAddress The source memory Buffer address
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DstAddress The destination memory Buffer address
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param DataLength The length of data to be transferred from source to destination
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval HAL status
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 25 .loc 1 827 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 .LVL0:
+ ARM GAS /tmp/ccPStHDw.s page 16
+
+
+ 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
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Clear all flags */
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress->IFCR = (DMA_FLAG_GL1 << hdma->ChannelIndex);
+ 37 .loc 1 829 0
+ 38 0002 C56B ldr r5, [r0, #60]
+ 39 0004 0124 movs r4, #1
+ 40 0006 066C ldr r6, [r0, #64]
+ 41 0008 B440 lsls r4, r4, r6
+ 42 000a 6C60 str r4, [r5, #4]
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel data length */
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CNDTR = DataLength;
+ 43 .loc 1 832 0
+ 44 000c 0468 ldr r4, [r0]
+ 45 000e 6360 str r3, [r4, #4]
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Memory to Peripheral */
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH)
+ 46 .loc 1 835 0
+ 47 0010 4368 ldr r3, [r0, #4]
+ 48 .LVL1:
+ 49 0012 102B cmp r3, #16
+ 50 0014 04D0 beq .L4
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel destination address */
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = DstAddress;
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel source address */
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = SrcAddress;
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Peripheral to Memory */
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel source address */
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CPAR = SrcAddress;
+ 51 .loc 1 847 0
+ 52 0016 0368 ldr r3, [r0]
+ 53 0018 9960 str r1, [r3, #8]
+ 54 .LVL2:
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Configure DMA Channel destination address */
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CMAR = DstAddress;
+ 55 .loc 1 850 0
+ 56 001a 0368 ldr r3, [r0]
+ 57 001c DA60 str r2, [r3, #12]
+ 58 .L1:
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 59 .loc 1 852 0
+ 60 @ sp needed
+ 61 001e 70BD pop {r4, r5, r6, pc}
+ ARM GAS /tmp/ccPStHDw.s page 17
+
+
+ 62 .LVL3:
+ 63 .L4:
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 64 .loc 1 838 0
+ 65 0020 0368 ldr r3, [r0]
+ 66 0022 9A60 str r2, [r3, #8]
+ 67 .LVL4:
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 68 .loc 1 841 0
+ 69 0024 0368 ldr r3, [r0]
+ 70 0026 D960 str r1, [r3, #12]
+ 71 0028 F9E7 b .L1
+ 72 .cfi_endproc
+ 73 .LFE52:
+ 75 .global __aeabi_uidiv
+ 76 .section .text.DMA_CalcBaseAndBitshift,"ax",%progbits
+ 77 .align 1
+ 78 .syntax unified
+ 79 .code 16
+ 80 .thumb_func
+ 81 .fpu softvfp
+ 83 DMA_CalcBaseAndBitshift:
+ 84 .LFB53:
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /**
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @brief set the DMA base address and channel index depending on DMA instance
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * the configuration information for the specified DMA Stream.
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** * @retval None
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** */
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** static void DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma)
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 85 .loc 1 861 0
+ 86 .cfi_startproc
+ 87 @ args = 0, pretend = 0, frame = 0
+ 88 @ frame_needed = 0, uses_anonymous_args = 0
+ 89 .LVL5:
+ 90 0000 10B5 push {r4, lr}
+ 91 .LCFI1:
+ 92 .cfi_def_cfa_offset 8
+ 93 .cfi_offset 4, -8
+ 94 .cfi_offset 14, -4
+ 95 0002 0400 movs r4, r0
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #if defined (DMA2)
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* calculation of the channel index */
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if ((uint32_t)(hdma->Instance) < (uint32_t)(DMA2_Channel1))
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA1 */
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Ch
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1;
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** else
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA2 */
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA2_Channel1) / ((uint32_t)DMA2_Ch
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA2;
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ ARM GAS /tmp/ccPStHDw.s page 18
+
+
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #else
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* calculation of the channel index */
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* DMA1 */
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->ChannelIndex = (((uint32_t)hdma->Instance - (uint32_t)DMA1_Channel1) / ((uint32_t)DMA1_Chan
+ 96 .loc 1 879 0
+ 97 0004 0368 ldr r3, [r0]
+ 98 0006 064A ldr r2, .L6
+ 99 0008 9446 mov ip, r2
+ 100 000a 6344 add r3, r3, ip
+ 101 000c 1800 movs r0, r3
+ 102 .LVL6:
+ 103 000e 1421 movs r1, #20
+ 104 0010 FFF7FEFF bl __aeabi_uidiv
+ 105 .LVL7:
+ 106 0014 8000 lsls r0, r0, #2
+ 107 0016 2064 str r0, [r4, #64]
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->DmaBaseAddress = DMA1;
+ 108 .loc 1 880 0
+ 109 0018 024B ldr r3, .L6+4
+ 110 001a E363 str r3, [r4, #60]
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** #endif
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 111 .loc 1 882 0
+ 112 @ sp needed
+ 113 .LVL8:
+ 114 001c 10BD pop {r4, pc}
+ 115 .L7:
+ 116 001e C046 .align 2
+ 117 .L6:
+ 118 0020 F8FFFDBF .word -1073872904
+ 119 0024 00000240 .word 1073872896
+ 120 .cfi_endproc
+ 121 .LFE53:
+ 123 .section .text.HAL_DMA_Init,"ax",%progbits
+ 124 .align 1
+ 125 .global HAL_DMA_Init
+ 126 .syntax unified
+ 127 .code 16
+ 128 .thumb_func
+ 129 .fpu softvfp
+ 131 HAL_DMA_Init:
+ 132 .LFB40:
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t tmp = 0U;
+ 133 .loc 1 139 0
+ 134 .cfi_startproc
+ 135 @ args = 0, pretend = 0, frame = 0
+ 136 @ frame_needed = 0, uses_anonymous_args = 0
+ 137 .LVL9:
+ 138 0000 70B5 push {r4, r5, r6, lr}
+ 139 .LCFI2:
+ 140 .cfi_def_cfa_offset 16
+ 141 .cfi_offset 4, -16
+ 142 .cfi_offset 5, -12
+ 143 .cfi_offset 6, -8
+ 144 .cfi_offset 14, -4
+ 145 0002 041E subs r4, r0, #0
+ 146 .LVL10:
+ ARM GAS /tmp/ccPStHDw.s page 19
+
+
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 147 .loc 1 143 0
+ 148 0004 20D0 beq .L10
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 149 .loc 1 159 0
+ 150 0006 2125 movs r5, #33
+ 151 0008 0223 movs r3, #2
+ 152 000a 4355 strb r3, [r0, r5]
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 153 .loc 1 162 0
+ 154 000c 0168 ldr r1, [r0]
+ 155 000e 0B68 ldr r3, [r1]
+ 156 .LVL11:
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** DMA_CCR_MINC | DMA_CCR_PINC | DMA_CCR_CIRC | \
+ 157 .loc 1 165 0
+ 158 0010 0E4A ldr r2, .L11
+ 159 0012 1A40 ands r2, r3
+ 160 .LVL12:
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
+ 161 .loc 1 170 0
+ 162 0014 4368 ldr r3, [r0, #4]
+ 163 0016 8068 ldr r0, [r0, #8]
+ 164 .LVL13:
+ 165 0018 0343 orrs r3, r0
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment |
+ 166 .loc 1 171 0
+ 167 001a E068 ldr r0, [r4, #12]
+ 168 001c 0343 orrs r3, r0
+ 169 001e 2069 ldr r0, [r4, #16]
+ 170 0020 0343 orrs r3, r0
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.Mode | hdma->Init.Priority;
+ 171 .loc 1 172 0
+ 172 0022 6069 ldr r0, [r4, #20]
+ 173 0024 0343 orrs r3, r0
+ 174 0026 A069 ldr r0, [r4, #24]
+ 175 0028 0343 orrs r3, r0
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 176 .loc 1 173 0
+ 177 002a E069 ldr r0, [r4, #28]
+ 178 002c 0343 orrs r3, r0
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Init.PeriphInc | hdma->Init.MemInc |
+ 179 .loc 1 170 0
+ 180 002e 1343 orrs r3, r2
+ 181 .LVL14:
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 182 .loc 1 176 0
+ 183 0030 0B60 str r3, [r1]
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 184 .loc 1 180 0
+ 185 0032 2000 movs r0, r4
+ 186 0034 FFF7FEFF bl DMA_CalcBaseAndBitshift
+ 187 .LVL15:
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 188 .loc 1 183 0
+ 189 0038 0023 movs r3, #0
+ 190 003a A363 str r3, [r4, #56]
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ ARM GAS /tmp/ccPStHDw.s page 20
+
+
+ 191 .loc 1 186 0
+ 192 003c 0122 movs r2, #1
+ 193 003e 6255 strb r2, [r4, r5]
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 194 .loc 1 189 0
+ 195 0040 1F32 adds r2, r2, #31
+ 196 0042 A354 strb r3, [r4, r2]
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 197 .loc 1 191 0
+ 198 0044 0020 movs r0, #0
+ 199 .L9:
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 200 .loc 1 192 0
+ 201 @ sp needed
+ 202 .LVL16:
+ 203 0046 70BD pop {r4, r5, r6, pc}
+ 204 .LVL17:
+ 205 .L10:
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 206 .loc 1 145 0
+ 207 0048 0120 movs r0, #1
+ 208 .LVL18:
+ 209 004a FCE7 b .L9
+ 210 .L12:
+ 211 .align 2
+ 212 .L11:
+ 213 004c 0FC0FFFF .word -16369
+ 214 .cfi_endproc
+ 215 .LFE40:
+ 217 .section .text.HAL_DMA_DeInit,"ax",%progbits
+ 218 .align 1
+ 219 .global HAL_DMA_DeInit
+ 220 .syntax unified
+ 221 .code 16
+ 222 .thumb_func
+ 223 .fpu softvfp
+ 225 HAL_DMA_DeInit:
+ 226 .LFB41:
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** /* Check the DMA handle allocation */
+ 227 .loc 1 201 0
+ 228 .cfi_startproc
+ 229 @ args = 0, pretend = 0, frame = 0
+ 230 @ frame_needed = 0, uses_anonymous_args = 0
+ 231 .LVL19:
+ 232 0000 70B5 push {r4, r5, r6, lr}
+ 233 .LCFI3:
+ 234 .cfi_def_cfa_offset 16
+ 235 .cfi_offset 4, -16
+ 236 .cfi_offset 5, -12
+ 237 .cfi_offset 6, -8
+ 238 .cfi_offset 14, -4
+ 239 0002 041E subs r4, r0, #0
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 240 .loc 1 203 0
+ 241 0004 1ED0 beq .L15
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 242 .loc 1 212 0
+ ARM GAS /tmp/ccPStHDw.s page 21
+
+
+ 243 0006 0268 ldr r2, [r0]
+ 244 0008 1368 ldr r3, [r2]
+ 245 000a 0126 movs r6, #1
+ 246 000c B343 bics r3, r6
+ 247 000e 1360 str r3, [r2]
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 248 .loc 1 215 0
+ 249 0010 0368 ldr r3, [r0]
+ 250 0012 0025 movs r5, #0
+ 251 0014 1D60 str r5, [r3]
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 252 .loc 1 218 0
+ 253 0016 0368 ldr r3, [r0]
+ 254 0018 5D60 str r5, [r3, #4]
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 255 .loc 1 221 0
+ 256 001a 0368 ldr r3, [r0]
+ 257 001c 9D60 str r5, [r3, #8]
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 258 .loc 1 224 0
+ 259 001e 0368 ldr r3, [r0]
+ 260 0020 DD60 str r5, [r3, #12]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 261 .loc 1 227 0
+ 262 0022 FFF7FEFF bl DMA_CalcBaseAndBitshift
+ 263 .LVL20:
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 264 .loc 1 230 0
+ 265 0026 E36B ldr r3, [r4, #60]
+ 266 0028 226C ldr r2, [r4, #64]
+ 267 002a 9640 lsls r6, r6, r2
+ 268 002c 5E60 str r6, [r3, #4]
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
+ 269 .loc 1 233 0
+ 270 002e A562 str r5, [r4, #40]
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
+ 271 .loc 1 234 0
+ 272 0030 E562 str r5, [r4, #44]
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
+ 273 .loc 1 235 0
+ 274 0032 2563 str r5, [r4, #48]
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 275 .loc 1 236 0
+ 276 0034 6563 str r5, [r4, #52]
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 277 .loc 1 239 0
+ 278 0036 A563 str r5, [r4, #56]
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 279 .loc 1 242 0
+ 280 0038 2123 movs r3, #33
+ 281 003a E554 strb r5, [r4, r3]
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 282 .loc 1 245 0
+ 283 003c 013B subs r3, r3, #1
+ 284 003e E554 strb r5, [r4, r3]
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 285 .loc 1 247 0
+ ARM GAS /tmp/ccPStHDw.s page 22
+
+
+ 286 0040 0020 movs r0, #0
+ 287 .L14:
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 288 .loc 1 248 0
+ 289 @ sp needed
+ 290 .LVL21:
+ 291 0042 70BD pop {r4, r5, r6, pc}
+ 292 .LVL22:
+ 293 .L15:
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 294 .loc 1 205 0
+ 295 0044 0120 movs r0, #1
+ 296 .LVL23:
+ 297 0046 FCE7 b .L14
+ 298 .cfi_endproc
+ 299 .LFE41:
+ 301 .section .text.HAL_DMA_Start,"ax",%progbits
+ 302 .align 1
+ 303 .global HAL_DMA_Start
+ 304 .syntax unified
+ 305 .code 16
+ 306 .thumb_func
+ 307 .fpu softvfp
+ 309 HAL_DMA_Start:
+ 310 .LFB42:
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 311 .loc 1 283 0
+ 312 .cfi_startproc
+ 313 @ args = 0, pretend = 0, frame = 0
+ 314 @ frame_needed = 0, uses_anonymous_args = 0
+ 315 .LVL24:
+ 316 0000 70B5 push {r4, r5, r6, lr}
+ 317 .LCFI4:
+ 318 .cfi_def_cfa_offset 16
+ 319 .cfi_offset 4, -16
+ 320 .cfi_offset 5, -12
+ 321 .cfi_offset 6, -8
+ 322 .cfi_offset 14, -4
+ 323 0002 0400 movs r4, r0
+ 324 .LVL25:
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 325 .loc 1 290 0
+ 326 0004 2020 movs r0, #32
+ 327 .LVL26:
+ 328 0006 205C ldrb r0, [r4, r0]
+ 329 0008 0128 cmp r0, #1
+ 330 000a 1ED0 beq .L19
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 331 .loc 1 290 0 is_stmt 0 discriminator 2
+ 332 000c 2020 movs r0, #32
+ 333 000e 0125 movs r5, #1
+ 334 0010 2554 strb r5, [r4, r0]
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 335 .loc 1 292 0 is_stmt 1 discriminator 2
+ 336 0012 0130 adds r0, r0, #1
+ 337 0014 205C ldrb r0, [r4, r0]
+ 338 0016 0128 cmp r0, #1
+ ARM GAS /tmp/ccPStHDw.s page 23
+
+
+ 339 0018 04D0 beq .L20
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 340 .loc 1 311 0
+ 341 001a 2023 movs r3, #32
+ 342 .LVL27:
+ 343 001c 0022 movs r2, #0
+ 344 .LVL28:
+ 345 001e E254 strb r2, [r4, r3]
+ 346 .LVL29:
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 347 .loc 1 314 0
+ 348 0020 0220 movs r0, #2
+ 349 .LVL30:
+ 350 .L17:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 351 .loc 1 318 0
+ 352 @ sp needed
+ 353 .LVL31:
+ 354 0022 70BD pop {r4, r5, r6, pc}
+ 355 .LVL32:
+ 356 .L20:
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 357 .loc 1 295 0
+ 358 0024 2030 adds r0, r0, #32
+ 359 0026 0135 adds r5, r5, #1
+ 360 0028 2554 strb r5, [r4, r0]
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 361 .loc 1 297 0
+ 362 002a 0020 movs r0, #0
+ 363 002c A063 str r0, [r4, #56]
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 364 .loc 1 300 0
+ 365 002e 2668 ldr r6, [r4]
+ 366 0030 3068 ldr r0, [r6]
+ 367 0032 013D subs r5, r5, #1
+ 368 0034 A843 bics r0, r5
+ 369 0036 3060 str r0, [r6]
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 370 .loc 1 303 0
+ 371 0038 2000 movs r0, r4
+ 372 003a FFF7FEFF bl DMA_SetConfig
+ 373 .LVL33:
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 374 .loc 1 306 0
+ 375 003e 2268 ldr r2, [r4]
+ 376 0040 1368 ldr r3, [r2]
+ 377 0042 2B43 orrs r3, r5
+ 378 0044 1360 str r3, [r2]
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 379 .loc 1 284 0
+ 380 0046 0020 movs r0, #0
+ 381 0048 EBE7 b .L17
+ 382 .LVL34:
+ 383 .L19:
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 384 .loc 1 290 0
+ 385 004a 0220 movs r0, #2
+ ARM GAS /tmp/ccPStHDw.s page 24
+
+
+ 386 004c E9E7 b .L17
+ 387 .cfi_endproc
+ 388 .LFE42:
+ 390 .section .text.HAL_DMA_Start_IT,"ax",%progbits
+ 391 .align 1
+ 392 .global HAL_DMA_Start_IT
+ 393 .syntax unified
+ 394 .code 16
+ 395 .thumb_func
+ 396 .fpu softvfp
+ 398 HAL_DMA_Start_IT:
+ 399 .LFB43:
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 400 .loc 1 330 0
+ 401 .cfi_startproc
+ 402 @ args = 0, pretend = 0, frame = 0
+ 403 @ frame_needed = 0, uses_anonymous_args = 0
+ 404 .LVL35:
+ 405 0000 70B5 push {r4, r5, r6, lr}
+ 406 .LCFI5:
+ 407 .cfi_def_cfa_offset 16
+ 408 .cfi_offset 4, -16
+ 409 .cfi_offset 5, -12
+ 410 .cfi_offset 6, -8
+ 411 .cfi_offset 14, -4
+ 412 0002 0400 movs r4, r0
+ 413 .LVL36:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 414 .loc 1 337 0
+ 415 0004 2020 movs r0, #32
+ 416 .LVL37:
+ 417 0006 205C ldrb r0, [r4, r0]
+ 418 0008 0128 cmp r0, #1
+ 419 000a 32D0 beq .L26
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 420 .loc 1 337 0 is_stmt 0 discriminator 2
+ 421 000c 2020 movs r0, #32
+ 422 000e 0125 movs r5, #1
+ 423 0010 2554 strb r5, [r4, r0]
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 424 .loc 1 339 0 is_stmt 1 discriminator 2
+ 425 0012 0130 adds r0, r0, #1
+ 426 0014 205C ldrb r0, [r4, r0]
+ 427 0016 0128 cmp r0, #1
+ 428 0018 04D0 beq .L27
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 429 .loc 1 370 0
+ 430 001a 2023 movs r3, #32
+ 431 .LVL38:
+ 432 001c 0022 movs r2, #0
+ 433 .LVL39:
+ 434 001e E254 strb r2, [r4, r3]
+ 435 .LVL40:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 436 .loc 1 373 0
+ 437 0020 0220 movs r0, #2
+ 438 .LVL41:
+ ARM GAS /tmp/ccPStHDw.s page 25
+
+
+ 439 .L22:
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 440 .loc 1 377 0
+ 441 @ sp needed
+ 442 .LVL42:
+ 443 0022 70BD pop {r4, r5, r6, pc}
+ 444 .LVL43:
+ 445 .L27:
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 446 .loc 1 342 0
+ 447 0024 2030 adds r0, r0, #32
+ 448 0026 0135 adds r5, r5, #1
+ 449 0028 2554 strb r5, [r4, r0]
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 450 .loc 1 344 0
+ 451 002a 0020 movs r0, #0
+ 452 002c A063 str r0, [r4, #56]
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 453 .loc 1 347 0
+ 454 002e 2568 ldr r5, [r4]
+ 455 0030 2868 ldr r0, [r5]
+ 456 0032 0126 movs r6, #1
+ 457 0034 B043 bics r0, r6
+ 458 0036 2860 str r0, [r5]
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 459 .loc 1 350 0
+ 460 0038 2000 movs r0, r4
+ 461 003a FFF7FEFF bl DMA_SetConfig
+ 462 .LVL44:
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 463 .loc 1 354 0
+ 464 003e E36A ldr r3, [r4, #44]
+ 465 0040 002B cmp r3, #0
+ 466 0042 0BD0 beq .L24
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 467 .loc 1 356 0
+ 468 0044 2268 ldr r2, [r4]
+ 469 0046 1368 ldr r3, [r2]
+ 470 0048 0E21 movs r1, #14
+ 471 004a 0B43 orrs r3, r1
+ 472 004c 1360 str r3, [r2]
+ 473 .L25:
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 474 .loc 1 365 0
+ 475 004e 2268 ldr r2, [r4]
+ 476 0050 1368 ldr r3, [r2]
+ 477 0052 0121 movs r1, #1
+ 478 0054 0B43 orrs r3, r1
+ 479 0056 1360 str r3, [r2]
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 480 .loc 1 331 0
+ 481 0058 0020 movs r0, #0
+ 482 005a E2E7 b .L22
+ 483 .L24:
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->Instance->CCR &= ~DMA_IT_HT;
+ 484 .loc 1 360 0
+ 485 005c 2268 ldr r2, [r4]
+ ARM GAS /tmp/ccPStHDw.s page 26
+
+
+ 486 005e 1368 ldr r3, [r2]
+ 487 0060 0A21 movs r1, #10
+ 488 0062 0B43 orrs r3, r1
+ 489 0064 1360 str r3, [r2]
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 490 .loc 1 361 0
+ 491 0066 2268 ldr r2, [r4]
+ 492 0068 1368 ldr r3, [r2]
+ 493 006a 0639 subs r1, r1, #6
+ 494 006c 8B43 bics r3, r1
+ 495 006e 1360 str r3, [r2]
+ 496 0070 EDE7 b .L25
+ 497 .LVL45:
+ 498 .L26:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 499 .loc 1 337 0
+ 500 0072 0220 movs r0, #2
+ 501 0074 D5E7 b .L22
+ 502 .cfi_endproc
+ 503 .LFE43:
+ 505 .section .text.HAL_DMA_Abort,"ax",%progbits
+ 506 .align 1
+ 507 .global HAL_DMA_Abort
+ 508 .syntax unified
+ 509 .code 16
+ 510 .thumb_func
+ 511 .fpu softvfp
+ 513 HAL_DMA_Abort:
+ 514 .LFB44:
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** if(hdma->State != HAL_DMA_STATE_BUSY)
+ 515 .loc 1 386 0
+ 516 .cfi_startproc
+ 517 @ args = 0, pretend = 0, frame = 0
+ 518 @ frame_needed = 0, uses_anonymous_args = 0
+ 519 .LVL46:
+ 520 0000 10B5 push {r4, lr}
+ 521 .LCFI6:
+ 522 .cfi_def_cfa_offset 8
+ 523 .cfi_offset 4, -8
+ 524 .cfi_offset 14, -4
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 525 .loc 1 387 0
+ 526 0002 2123 movs r3, #33
+ 527 0004 C35C ldrb r3, [r0, r3]
+ 528 0006 022B cmp r3, #2
+ 529 0008 06D0 beq .L29
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 530 .loc 1 390 0
+ 531 000a 0423 movs r3, #4
+ 532 000c 8363 str r3, [r0, #56]
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 533 .loc 1 393 0
+ 534 000e 1C33 adds r3, r3, #28
+ 535 0010 0022 movs r2, #0
+ 536 0012 C254 strb r2, [r0, r3]
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 537 .loc 1 395 0
+ ARM GAS /tmp/ccPStHDw.s page 27
+
+
+ 538 0014 0120 movs r0, #1
+ 539 .LVL47:
+ 540 .L30:
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 541 .loc 1 415 0
+ 542 @ sp needed
+ 543 0016 10BD pop {r4, pc}
+ 544 .LVL48:
+ 545 .L29:
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 546 .loc 1 400 0
+ 547 0018 0268 ldr r2, [r0]
+ 548 001a 1368 ldr r3, [r2]
+ 549 001c 0E21 movs r1, #14
+ 550 001e 8B43 bics r3, r1
+ 551 0020 1360 str r3, [r2]
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 552 .loc 1 403 0
+ 553 0022 0168 ldr r1, [r0]
+ 554 0024 0A68 ldr r2, [r1]
+ 555 0026 0123 movs r3, #1
+ 556 0028 9A43 bics r2, r3
+ 557 002a 0A60 str r2, [r1]
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 558 .loc 1 406 0
+ 559 002c C26B ldr r2, [r0, #60]
+ 560 002e 1900 movs r1, r3
+ 561 0030 046C ldr r4, [r0, #64]
+ 562 0032 A140 lsls r1, r1, r4
+ 563 0034 5160 str r1, [r2, #4]
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 564 .loc 1 409 0
+ 565 0036 2122 movs r2, #33
+ 566 0038 8354 strb r3, [r0, r2]
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 567 .loc 1 412 0
+ 568 003a 1F33 adds r3, r3, #31
+ 569 003c 0022 movs r2, #0
+ 570 003e C254 strb r2, [r0, r3]
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 571 .loc 1 414 0
+ 572 0040 0020 movs r0, #0
+ 573 .LVL49:
+ 574 0042 E8E7 b .L30
+ 575 .cfi_endproc
+ 576 .LFE44:
+ 578 .section .text.HAL_DMA_Abort_IT,"ax",%progbits
+ 579 .align 1
+ 580 .global HAL_DMA_Abort_IT
+ 581 .syntax unified
+ 582 .code 16
+ 583 .thumb_func
+ 584 .fpu softvfp
+ 586 HAL_DMA_Abort_IT:
+ 587 .LFB45:
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 588 .loc 1 424 0
+ ARM GAS /tmp/ccPStHDw.s page 28
+
+
+ 589 .cfi_startproc
+ 590 @ args = 0, pretend = 0, frame = 0
+ 591 @ frame_needed = 0, uses_anonymous_args = 0
+ 592 .LVL50:
+ 593 0000 10B5 push {r4, lr}
+ 594 .LCFI7:
+ 595 .cfi_def_cfa_offset 8
+ 596 .cfi_offset 4, -8
+ 597 .cfi_offset 14, -4
+ 598 .LVL51:
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 599 .loc 1 427 0
+ 600 0002 2123 movs r3, #33
+ 601 0004 C35C ldrb r3, [r0, r3]
+ 602 0006 022B cmp r3, #2
+ 603 0008 03D0 beq .L32
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 604 .loc 1 430 0
+ 605 000a 0423 movs r3, #4
+ 606 000c 8363 str r3, [r0, #56]
+ 607 .LVL52:
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 608 .loc 1 432 0
+ 609 000e 0120 movs r0, #1
+ 610 .LVL53:
+ 611 .L33:
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 612 .loc 1 459 0
+ 613 @ sp needed
+ 614 0010 10BD pop {r4, pc}
+ 615 .LVL54:
+ 616 .L32:
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 617 .loc 1 438 0
+ 618 0012 0268 ldr r2, [r0]
+ 619 0014 1368 ldr r3, [r2]
+ 620 0016 0E21 movs r1, #14
+ 621 0018 8B43 bics r3, r1
+ 622 001a 1360 str r3, [r2]
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 623 .loc 1 441 0
+ 624 001c 0168 ldr r1, [r0]
+ 625 001e 0A68 ldr r2, [r1]
+ 626 0020 0123 movs r3, #1
+ 627 0022 9A43 bics r2, r3
+ 628 0024 0A60 str r2, [r1]
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 629 .loc 1 444 0
+ 630 0026 C26B ldr r2, [r0, #60]
+ 631 0028 1900 movs r1, r3
+ 632 002a 046C ldr r4, [r0, #64]
+ 633 002c A140 lsls r1, r1, r4
+ 634 002e 5160 str r1, [r2, #4]
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 635 .loc 1 447 0
+ 636 0030 2122 movs r2, #33
+ 637 0032 8354 strb r3, [r0, r2]
+ ARM GAS /tmp/ccPStHDw.s page 29
+
+
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 638 .loc 1 450 0
+ 639 0034 1F33 adds r3, r3, #31
+ 640 0036 0022 movs r2, #0
+ 641 0038 C254 strb r2, [r0, r3]
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 642 .loc 1 453 0
+ 643 003a 436B ldr r3, [r0, #52]
+ 644 003c 002B cmp r3, #0
+ 645 003e 02D0 beq .L34
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 646 .loc 1 455 0
+ 647 0040 9847 blx r3
+ 648 .LVL55:
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 649 .loc 1 425 0
+ 650 0042 0020 movs r0, #0
+ 651 0044 E4E7 b .L33
+ 652 .LVL56:
+ 653 .L34:
+ 654 0046 0020 movs r0, #0
+ 655 .LVL57:
+ 656 0048 E2E7 b .L33
+ 657 .cfi_endproc
+ 658 .LFE45:
+ 660 .section .text.HAL_DMA_PollForTransfer,"ax",%progbits
+ 661 .align 1
+ 662 .global HAL_DMA_PollForTransfer
+ 663 .syntax unified
+ 664 .code 16
+ 665 .thumb_func
+ 666 .fpu softvfp
+ 668 HAL_DMA_PollForTransfer:
+ 669 .LFB46:
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t temp;
+ 670 .loc 1 470 0
+ 671 .cfi_startproc
+ 672 @ args = 0, pretend = 0, frame = 8
+ 673 @ frame_needed = 0, uses_anonymous_args = 0
+ 674 .LVL58:
+ 675 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 676 .LCFI8:
+ 677 .cfi_def_cfa_offset 20
+ 678 .cfi_offset 4, -20
+ 679 .cfi_offset 5, -16
+ 680 .cfi_offset 6, -12
+ 681 .cfi_offset 7, -8
+ 682 .cfi_offset 14, -4
+ 683 0002 83B0 sub sp, sp, #12
+ 684 .LCFI9:
+ 685 .cfi_def_cfa_offset 32
+ 686 0004 0400 movs r4, r0
+ 687 0006 0D00 movs r5, r1
+ 688 0008 1700 movs r7, r2
+ 689 .LVL59:
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 690 .loc 1 474 0
+ ARM GAS /tmp/ccPStHDw.s page 30
+
+
+ 691 000a 2123 movs r3, #33
+ 692 000c C35C ldrb r3, [r0, r3]
+ 693 000e 022B cmp r3, #2
+ 694 0010 07D0 beq .L36
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** __HAL_UNLOCK(hdma);
+ 695 .loc 1 477 0
+ 696 0012 0423 movs r3, #4
+ 697 0014 8363 str r3, [r0, #56]
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 698 .loc 1 478 0
+ 699 0016 1C33 adds r3, r3, #28
+ 700 0018 0022 movs r2, #0
+ 701 .LVL60:
+ 702 001a C254 strb r2, [r0, r3]
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 703 .loc 1 479 0
+ 704 001c 0120 movs r0, #1
+ 705 .LVL61:
+ 706 .L37:
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 707 .loc 1 562 0
+ 708 001e 03B0 add sp, sp, #12
+ 709 @ sp needed
+ 710 .LVL62:
+ 711 .LVL63:
+ 712 .LVL64:
+ 713 0020 F0BD pop {r4, r5, r6, r7, pc}
+ 714 .LVL65:
+ 715 .L36:
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 716 .loc 1 483 0
+ 717 0022 0368 ldr r3, [r0]
+ 718 0024 1B68 ldr r3, [r3]
+ 719 0026 9B06 lsls r3, r3, #26
+ 720 0028 24D4 bmi .L48
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 721 .loc 1 490 0
+ 722 002a 0029 cmp r1, #0
+ 723 002c 27D1 bne .L39
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 724 .loc 1 493 0
+ 725 002e 0226 movs r6, #2
+ 726 0030 036C ldr r3, [r0, #64]
+ 727 0032 9E40 lsls r6, r6, r3
+ 728 .LVL66:
+ 729 .L40:
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 730 .loc 1 502 0
+ 731 0034 FFF7FEFF bl HAL_GetTick
+ 732 .LVL67:
+ 733 0038 0190 str r0, [sp, #4]
+ 734 .LVL68:
+ 735 .L43:
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 736 .loc 1 504 0
+ 737 003a E26B ldr r2, [r4, #60]
+ 738 003c 1368 ldr r3, [r2]
+ ARM GAS /tmp/ccPStHDw.s page 31
+
+
+ 739 003e 1E42 tst r6, r3
+ 740 0040 2DD1 bne .L49
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 741 .loc 1 506 0
+ 742 0042 1068 ldr r0, [r2]
+ 743 0044 216C ldr r1, [r4, #64]
+ 744 0046 0823 movs r3, #8
+ 745 0048 8B40 lsls r3, r3, r1
+ 746 004a 0342 tst r3, r0
+ 747 004c 1BD1 bne .L50
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 748 .loc 1 525 0
+ 749 004e 7B1C adds r3, r7, #1
+ 750 0050 F3D0 beq .L43
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 751 .loc 1 527 0
+ 752 0052 002F cmp r7, #0
+ 753 0054 05D0 beq .L44
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 754 .loc 1 527 0 is_stmt 0 discriminator 1
+ 755 0056 FFF7FEFF bl HAL_GetTick
+ 756 .LVL69:
+ 757 005a 019B ldr r3, [sp, #4]
+ 758 005c C01A subs r0, r0, r3
+ 759 005e B842 cmp r0, r7
+ 760 0060 EBD9 bls .L43
+ 761 .L44:
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 762 .loc 1 530 0 is_stmt 1
+ 763 0062 2023 movs r3, #32
+ 764 0064 A363 str r3, [r4, #56]
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 765 .loc 1 533 0
+ 766 0066 2122 movs r2, #33
+ 767 0068 0121 movs r1, #1
+ 768 006a A154 strb r1, [r4, r2]
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 769 .loc 1 536 0
+ 770 006c 0022 movs r2, #0
+ 771 006e E254 strb r2, [r4, r3]
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 772 .loc 1 538 0
+ 773 0070 0120 movs r0, #1
+ 774 0072 D4E7 b .L37
+ 775 .LVL70:
+ 776 .L48:
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return HAL_ERROR;
+ 777 .loc 1 485 0
+ 778 0074 8023 movs r3, #128
+ 779 0076 5B00 lsls r3, r3, #1
+ 780 0078 8363 str r3, [r0, #56]
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 781 .loc 1 486 0
+ 782 007a 0120 movs r0, #1
+ 783 .LVL71:
+ 784 007c CFE7 b .L37
+ 785 .LVL72:
+ ARM GAS /tmp/ccPStHDw.s page 32
+
+
+ 786 .L39:
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 787 .loc 1 498 0
+ 788 007e 0426 movs r6, #4
+ 789 0080 036C ldr r3, [r0, #64]
+ 790 0082 9E40 lsls r6, r6, r3
+ 791 .LVL73:
+ 792 0084 D6E7 b .L40
+ 793 .LVL74:
+ 794 .L50:
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 795 .loc 1 511 0
+ 796 0086 0123 movs r3, #1
+ 797 0088 1800 movs r0, r3
+ 798 008a 8840 lsls r0, r0, r1
+ 799 008c 5060 str r0, [r2, #4]
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 800 .loc 1 514 0
+ 801 008e A363 str r3, [r4, #56]
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 802 .loc 1 517 0
+ 803 0090 2122 movs r2, #33
+ 804 0092 A354 strb r3, [r4, r2]
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 805 .loc 1 520 0
+ 806 0094 1F33 adds r3, r3, #31
+ 807 0096 0022 movs r2, #0
+ 808 0098 E254 strb r2, [r4, r3]
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 809 .loc 1 522 0
+ 810 009a 0120 movs r0, #1
+ 811 009c BFE7 b .L37
+ 812 .L49:
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 813 .loc 1 543 0
+ 814 009e 002D cmp r5, #0
+ 815 00a0 0BD1 bne .L46
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 816 .loc 1 546 0
+ 817 00a2 0223 movs r3, #2
+ 818 00a4 216C ldr r1, [r4, #64]
+ 819 00a6 8B40 lsls r3, r3, r1
+ 820 00a8 5360 str r3, [r2, #4]
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 821 .loc 1 550 0
+ 822 00aa 2123 movs r3, #33
+ 823 00ac 0122 movs r2, #1
+ 824 00ae E254 strb r2, [r4, r3]
+ 825 .L47:
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 826 .loc 1 559 0
+ 827 00b0 2023 movs r3, #32
+ 828 00b2 0022 movs r2, #0
+ 829 00b4 E254 strb r2, [r4, r3]
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 830 .loc 1 561 0
+ 831 00b6 0020 movs r0, #0
+ ARM GAS /tmp/ccPStHDw.s page 33
+
+
+ 832 00b8 B1E7 b .L37
+ 833 .L46:
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 834 .loc 1 555 0
+ 835 00ba 0423 movs r3, #4
+ 836 00bc 216C ldr r1, [r4, #64]
+ 837 00be 8B40 lsls r3, r3, r1
+ 838 00c0 5360 str r3, [r2, #4]
+ 839 00c2 F5E7 b .L47
+ 840 .cfi_endproc
+ 841 .LFE46:
+ 843 .section .text.HAL_DMA_IRQHandler,"ax",%progbits
+ 844 .align 1
+ 845 .global HAL_DMA_IRQHandler
+ 846 .syntax unified
+ 847 .code 16
+ 848 .thumb_func
+ 849 .fpu softvfp
+ 851 HAL_DMA_IRQHandler:
+ 852 .LFB47:
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t flag_it = hdma->DmaBaseAddress->ISR;
+ 853 .loc 1 571 0
+ 854 .cfi_startproc
+ 855 @ args = 0, pretend = 0, frame = 0
+ 856 @ frame_needed = 0, uses_anonymous_args = 0
+ 857 .LVL75:
+ 858 0000 70B5 push {r4, r5, r6, lr}
+ 859 .LCFI10:
+ 860 .cfi_def_cfa_offset 16
+ 861 .cfi_offset 4, -16
+ 862 .cfi_offset 5, -12
+ 863 .cfi_offset 6, -8
+ 864 .cfi_offset 14, -4
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** uint32_t source_it = hdma->Instance->CCR;
+ 865 .loc 1 572 0
+ 866 0002 C36B ldr r3, [r0, #60]
+ 867 0004 1A68 ldr r2, [r3]
+ 868 .LVL76:
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 869 .loc 1 573 0
+ 870 0006 0468 ldr r4, [r0]
+ 871 0008 2568 ldr r5, [r4]
+ 872 .LVL77:
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 873 .loc 1 576 0
+ 874 000a 016C ldr r1, [r0, #64]
+ 875 000c 0423 movs r3, #4
+ 876 000e 8B40 lsls r3, r3, r1
+ 877 0010 1A42 tst r2, r3
+ 878 0012 12D0 beq .L52
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 879 .loc 1 576 0 is_stmt 0 discriminator 1
+ 880 0014 6B07 lsls r3, r5, #29
+ 881 0016 10D5 bpl .L52
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 882 .loc 1 579 0 is_stmt 1
+ 883 0018 2368 ldr r3, [r4]
+ ARM GAS /tmp/ccPStHDw.s page 34
+
+
+ 884 001a 9B06 lsls r3, r3, #26
+ 885 001c 03D4 bmi .L53
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 886 .loc 1 582 0
+ 887 001e 2368 ldr r3, [r4]
+ 888 0020 0422 movs r2, #4
+ 889 .LVL78:
+ 890 0022 9343 bics r3, r2
+ 891 0024 2360 str r3, [r4]
+ 892 .L53:
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 893 .loc 1 586 0
+ 894 0026 C26B ldr r2, [r0, #60]
+ 895 0028 0423 movs r3, #4
+ 896 002a 016C ldr r1, [r0, #64]
+ 897 002c 8B40 lsls r3, r3, r1
+ 898 002e 5360 str r3, [r2, #4]
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 899 .loc 1 591 0
+ 900 0030 C36A ldr r3, [r0, #44]
+ 901 0032 002B cmp r3, #0
+ 902 0034 00D0 beq .L51
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 903 .loc 1 594 0
+ 904 0036 9847 blx r3
+ 905 .LVL79:
+ 906 .L51:
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 907 .loc 1 650 0
+ 908 @ sp needed
+ 909 .LVL80:
+ 910 0038 70BD pop {r4, r5, r6, pc}
+ 911 .LVL81:
+ 912 .L52:
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 913 .loc 1 599 0
+ 914 003a 0223 movs r3, #2
+ 915 003c 8B40 lsls r3, r3, r1
+ 916 003e 1A42 tst r2, r3
+ 917 0040 18D0 beq .L55
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 918 .loc 1 599 0 is_stmt 0 discriminator 1
+ 919 0042 AB07 lsls r3, r5, #30
+ 920 0044 16D5 bpl .L55
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 921 .loc 1 601 0 is_stmt 1
+ 922 0046 2368 ldr r3, [r4]
+ 923 0048 9B06 lsls r3, r3, #26
+ 924 004a 06D4 bmi .L56
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 925 .loc 1 605 0
+ 926 004c 2368 ldr r3, [r4]
+ 927 004e 0A22 movs r2, #10
+ 928 .LVL82:
+ 929 0050 9343 bics r3, r2
+ 930 0052 2360 str r3, [r4]
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ ARM GAS /tmp/ccPStHDw.s page 35
+
+
+ 931 .loc 1 608 0
+ 932 0054 2123 movs r3, #33
+ 933 0056 093A subs r2, r2, #9
+ 934 0058 C254 strb r2, [r0, r3]
+ 935 .L56:
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 936 .loc 1 612 0
+ 937 005a C26B ldr r2, [r0, #60]
+ 938 005c 0223 movs r3, #2
+ 939 005e 016C ldr r1, [r0, #64]
+ 940 0060 8B40 lsls r3, r3, r1
+ 941 0062 5360 str r3, [r2, #4]
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 942 .loc 1 615 0
+ 943 0064 2023 movs r3, #32
+ 944 0066 0022 movs r2, #0
+ 945 0068 C254 strb r2, [r0, r3]
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 946 .loc 1 617 0
+ 947 006a 836A ldr r3, [r0, #40]
+ 948 006c 002B cmp r3, #0
+ 949 006e E3D0 beq .L51
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 950 .loc 1 620 0
+ 951 0070 9847 blx r3
+ 952 .LVL83:
+ 953 0072 E1E7 b .L51
+ 954 .LVL84:
+ 955 .L55:
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 956 .loc 1 625 0
+ 957 0074 0823 movs r3, #8
+ 958 0076 8B40 lsls r3, r3, r1
+ 959 0078 1A42 tst r2, r3
+ 960 007a DDD0 beq .L51
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 961 .loc 1 625 0 is_stmt 0 discriminator 1
+ 962 007c 2B07 lsls r3, r5, #28
+ 963 007e DBD5 bpl .L51
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 964 .loc 1 630 0 is_stmt 1
+ 965 0080 2368 ldr r3, [r4]
+ 966 0082 0E22 movs r2, #14
+ 967 .LVL85:
+ 968 0084 9343 bics r3, r2
+ 969 0086 2360 str r3, [r4]
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 970 .loc 1 633 0
+ 971 0088 C26B ldr r2, [r0, #60]
+ 972 008a 0123 movs r3, #1
+ 973 008c 1900 movs r1, r3
+ 974 008e 046C ldr r4, [r0, #64]
+ 975 0090 A140 lsls r1, r1, r4
+ 976 0092 5160 str r1, [r2, #4]
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 977 .loc 1 636 0
+ 978 0094 8363 str r3, [r0, #56]
+ ARM GAS /tmp/ccPStHDw.s page 36
+
+
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 979 .loc 1 639 0
+ 980 0096 2122 movs r2, #33
+ 981 0098 8354 strb r3, [r0, r2]
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 982 .loc 1 642 0
+ 983 009a 1F33 adds r3, r3, #31
+ 984 009c 0022 movs r2, #0
+ 985 009e C254 strb r2, [r0, r3]
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 986 .loc 1 644 0
+ 987 00a0 036B ldr r3, [r0, #48]
+ 988 00a2 002B cmp r3, #0
+ 989 00a4 C8D0 beq .L51
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 990 .loc 1 647 0
+ 991 00a6 9847 blx r3
+ 992 .LVL86:
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 993 .loc 1 650 0
+ 994 00a8 C6E7 b .L51
+ 995 .cfi_endproc
+ 996 .LFE47:
+ 998 .section .text.HAL_DMA_RegisterCallback,"ax",%progbits
+ 999 .align 1
+ 1000 .global HAL_DMA_RegisterCallback
+ 1001 .syntax unified
+ 1002 .code 16
+ 1003 .thumb_func
+ 1004 .fpu softvfp
+ 1006 HAL_DMA_RegisterCallback:
+ 1007 .LFB48:
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 1008 .loc 1 663 0
+ 1009 .cfi_startproc
+ 1010 @ args = 0, pretend = 0, frame = 0
+ 1011 @ frame_needed = 0, uses_anonymous_args = 0
+ 1012 .LVL87:
+ 1013 0000 10B5 push {r4, lr}
+ 1014 .LCFI11:
+ 1015 .cfi_def_cfa_offset 8
+ 1016 .cfi_offset 4, -8
+ 1017 .cfi_offset 14, -4
+ 1018 .LVL88:
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1019 .loc 1 667 0
+ 1020 0002 2023 movs r3, #32
+ 1021 0004 C35C ldrb r3, [r0, r3]
+ 1022 0006 012B cmp r3, #1
+ 1023 0008 22D0 beq .L64
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1024 .loc 1 667 0 is_stmt 0 discriminator 2
+ 1025 000a 2023 movs r3, #32
+ 1026 000c 0124 movs r4, #1
+ 1027 000e C454 strb r4, [r0, r3]
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 1028 .loc 1 669 0 is_stmt 1 discriminator 2
+ ARM GAS /tmp/ccPStHDw.s page 37
+
+
+ 1029 0010 0133 adds r3, r3, #1
+ 1030 0012 C35C ldrb r3, [r0, r3]
+ 1031 0014 012B cmp r3, #1
+ 1032 0016 05D0 beq .L68
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 1033 .loc 1 696 0
+ 1034 0018 0123 movs r3, #1
+ 1035 .L59:
+ 1036 .LVL89:
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1037 .loc 1 700 0
+ 1038 001a 2022 movs r2, #32
+ 1039 .LVL90:
+ 1040 001c 0021 movs r1, #0
+ 1041 .LVL91:
+ 1042 001e 8154 strb r1, [r0, r2]
+ 1043 .LVL92:
+ 1044 .L58:
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1045 .loc 1 703 0
+ 1046 0020 1800 movs r0, r3
+ 1047 .LVL93:
+ 1048 @ sp needed
+ 1049 0022 10BD pop {r4, pc}
+ 1050 .LVL94:
+ 1051 .L68:
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 1052 .loc 1 671 0
+ 1053 0024 0129 cmp r1, #1
+ 1054 0026 0AD0 beq .L60
+ 1055 0028 0029 cmp r1, #0
+ 1056 002a 05D0 beq .L61
+ 1057 002c 0229 cmp r1, #2
+ 1058 002e 09D0 beq .L62
+ 1059 0030 0329 cmp r1, #3
+ 1060 0032 0AD0 beq .L63
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1061 .loc 1 690 0
+ 1062 0034 0123 movs r3, #1
+ 1063 0036 F0E7 b .L59
+ 1064 .L61:
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1065 .loc 1 674 0
+ 1066 0038 8262 str r2, [r0, #40]
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1067 .loc 1 664 0
+ 1068 003a 0023 movs r3, #0
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1069 .loc 1 675 0
+ 1070 003c EDE7 b .L59
+ 1071 .L60:
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1072 .loc 1 678 0
+ 1073 003e C262 str r2, [r0, #44]
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1074 .loc 1 664 0
+ 1075 0040 0023 movs r3, #0
+ ARM GAS /tmp/ccPStHDw.s page 38
+
+
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1076 .loc 1 679 0
+ 1077 0042 EAE7 b .L59
+ 1078 .L62:
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1079 .loc 1 682 0
+ 1080 0044 0263 str r2, [r0, #48]
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1081 .loc 1 664 0
+ 1082 0046 0023 movs r3, #0
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1083 .loc 1 683 0
+ 1084 0048 E7E7 b .L59
+ 1085 .L63:
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1086 .loc 1 686 0
+ 1087 004a 4263 str r2, [r0, #52]
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1088 .loc 1 664 0
+ 1089 004c 0023 movs r3, #0
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1090 .loc 1 687 0
+ 1091 004e E4E7 b .L59
+ 1092 .L64:
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1093 .loc 1 667 0
+ 1094 0050 0223 movs r3, #2
+ 1095 0052 E5E7 b .L58
+ 1096 .cfi_endproc
+ 1097 .LFE48:
+ 1099 .section .text.HAL_DMA_UnRegisterCallback,"ax",%progbits
+ 1100 .align 1
+ 1101 .global HAL_DMA_UnRegisterCallback
+ 1102 .syntax unified
+ 1103 .code 16
+ 1104 .thumb_func
+ 1105 .fpu softvfp
+ 1107 HAL_DMA_UnRegisterCallback:
+ 1108 .LFB49:
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** HAL_StatusTypeDef status = HAL_OK;
+ 1109 .loc 1 714 0
+ 1110 .cfi_startproc
+ 1111 @ args = 0, pretend = 0, frame = 0
+ 1112 @ frame_needed = 0, uses_anonymous_args = 0
+ 1113 @ link register save eliminated.
+ 1114 .LVL95:
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1115 .loc 1 718 0
+ 1116 0000 2023 movs r3, #32
+ 1117 0002 C35C ldrb r3, [r0, r3]
+ 1118 0004 012B cmp r3, #1
+ 1119 0006 26D0 beq .L78
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1120 .loc 1 718 0 is_stmt 0 discriminator 2
+ 1121 0008 2023 movs r3, #32
+ 1122 000a 0122 movs r2, #1
+ 1123 000c C254 strb r2, [r0, r3]
+ ARM GAS /tmp/ccPStHDw.s page 39
+
+
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 1124 .loc 1 720 0 is_stmt 1 discriminator 2
+ 1125 000e 0133 adds r3, r3, #1
+ 1126 0010 C35C ldrb r3, [r0, r3]
+ 1127 0012 012B cmp r3, #1
+ 1128 0014 05D0 beq .L81
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 1129 .loc 1 754 0
+ 1130 0016 0123 movs r3, #1
+ 1131 .LVL96:
+ 1132 .L71:
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1133 .loc 1 758 0
+ 1134 0018 2022 movs r2, #32
+ 1135 001a 0021 movs r1, #0
+ 1136 001c 8154 strb r1, [r0, r2]
+ 1137 .LVL97:
+ 1138 .L70:
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1139 .loc 1 761 0
+ 1140 001e 1800 movs r0, r3
+ 1141 .LVL98:
+ 1142 @ sp needed
+ 1143 0020 7047 bx lr
+ 1144 .LVL99:
+ 1145 .L81:
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** {
+ 1146 .loc 1 722 0
+ 1147 0022 0429 cmp r1, #4
+ 1148 0024 15D8 bhi .L80
+ 1149 0026 8900 lsls r1, r1, #2
+ 1150 .LVL100:
+ 1151 0028 0C4B ldr r3, .L82
+ 1152 002a 5B58 ldr r3, [r3, r1]
+ 1153 002c 9F46 mov pc, r3
+ 1154 .section .rodata.HAL_DMA_UnRegisterCallback,"a",%progbits
+ 1155 .align 2
+ 1156 .L73:
+ 1157 0000 2E000000 .word .L72
+ 1158 0004 34000000 .word .L74
+ 1159 0008 3A000000 .word .L75
+ 1160 000c 40000000 .word .L76
+ 1161 0010 46000000 .word .L77
+ 1162 .section .text.HAL_DMA_UnRegisterCallback
+ 1163 .L72:
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1164 .loc 1 725 0
+ 1165 002e 0023 movs r3, #0
+ 1166 0030 8362 str r3, [r0, #40]
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1167 .loc 1 726 0
+ 1168 0032 F1E7 b .L71
+ 1169 .L74:
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1170 .loc 1 729 0
+ 1171 0034 0023 movs r3, #0
+ 1172 0036 C362 str r3, [r0, #44]
+ ARM GAS /tmp/ccPStHDw.s page 40
+
+
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1173 .loc 1 730 0
+ 1174 0038 EEE7 b .L71
+ 1175 .L75:
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1176 .loc 1 733 0
+ 1177 003a 0023 movs r3, #0
+ 1178 003c 0363 str r3, [r0, #48]
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1179 .loc 1 734 0
+ 1180 003e EBE7 b .L71
+ 1181 .L76:
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1182 .loc 1 737 0
+ 1183 0040 0023 movs r3, #0
+ 1184 0042 4363 str r3, [r0, #52]
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1185 .loc 1 738 0
+ 1186 0044 E8E7 b .L71
+ 1187 .L77:
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferHalfCpltCallback = NULL;
+ 1188 .loc 1 741 0
+ 1189 0046 0023 movs r3, #0
+ 1190 0048 8362 str r3, [r0, #40]
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferErrorCallback = NULL;
+ 1191 .loc 1 742 0
+ 1192 004a C362 str r3, [r0, #44]
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** hdma->XferAbortCallback = NULL;
+ 1193 .loc 1 743 0
+ 1194 004c 0363 str r3, [r0, #48]
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1195 .loc 1 744 0
+ 1196 004e 4363 str r3, [r0, #52]
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1197 .loc 1 745 0
+ 1198 0050 E2E7 b .L71
+ 1199 .LVL101:
+ 1200 .L80:
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** break;
+ 1201 .loc 1 748 0
+ 1202 0052 0123 movs r3, #1
+ 1203 0054 E0E7 b .L71
+ 1204 .L78:
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1205 .loc 1 718 0
+ 1206 0056 0223 movs r3, #2
+ 1207 0058 E1E7 b .L70
+ 1208 .L83:
+ 1209 005a C046 .align 2
+ 1210 .L82:
+ 1211 005c 00000000 .word .L73
+ 1212 .cfi_endproc
+ 1213 .LFE49:
+ 1215 .section .text.HAL_DMA_GetState,"ax",%progbits
+ 1216 .align 1
+ 1217 .global HAL_DMA_GetState
+ 1218 .syntax unified
+ ARM GAS /tmp/ccPStHDw.s page 41
+
+
+ 1219 .code 16
+ 1220 .thumb_func
+ 1221 .fpu softvfp
+ 1223 HAL_DMA_GetState:
+ 1224 .LFB50:
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->State;
+ 1225 .loc 1 790 0
+ 1226 .cfi_startproc
+ 1227 @ args = 0, pretend = 0, frame = 0
+ 1228 @ frame_needed = 0, uses_anonymous_args = 0
+ 1229 @ link register save eliminated.
+ 1230 .LVL102:
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 1231 .loc 1 791 0
+ 1232 0000 2123 movs r3, #33
+ 1233 0002 C05C ldrb r0, [r0, r3]
+ 1234 .LVL103:
+ 1235 0004 C0B2 uxtb r0, r0
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1236 .loc 1 792 0
+ 1237 @ sp needed
+ 1238 0006 7047 bx lr
+ 1239 .cfi_endproc
+ 1240 .LFE50:
+ 1242 .section .text.HAL_DMA_GetError,"ax",%progbits
+ 1243 .align 1
+ 1244 .global HAL_DMA_GetError
+ 1245 .syntax unified
+ 1246 .code 16
+ 1247 .thumb_func
+ 1248 .fpu softvfp
+ 1250 HAL_DMA_GetError:
+ 1251 .LFB51:
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** return hdma->ErrorCode;
+ 1252 .loc 1 801 0
+ 1253 .cfi_startproc
+ 1254 @ args = 0, pretend = 0, frame = 0
+ 1255 @ frame_needed = 0, uses_anonymous_args = 0
+ 1256 @ link register save eliminated.
+ 1257 .LVL104:
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c **** }
+ 1258 .loc 1 802 0
+ 1259 0000 806B ldr r0, [r0, #56]
+ 1260 .LVL105:
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_dma.c ****
+ 1261 .loc 1 803 0
+ 1262 @ sp needed
+ 1263 0002 7047 bx lr
+ 1264 .cfi_endproc
+ 1265 .LFE51:
+ 1267 .text
+ 1268 .Letext0:
+ 1269 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1270 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 1271 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1272 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 1273 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ ARM GAS /tmp/ccPStHDw.s page 42
+
+
+ 1274 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 1275 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 1276 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccPStHDw.s page 43
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_dma.c
+ /tmp/ccPStHDw.s:16 .text.DMA_SetConfig:0000000000000000 $t
+ /tmp/ccPStHDw.s:22 .text.DMA_SetConfig:0000000000000000 DMA_SetConfig
+ /tmp/ccPStHDw.s:77 .text.DMA_CalcBaseAndBitshift:0000000000000000 $t
+ /tmp/ccPStHDw.s:83 .text.DMA_CalcBaseAndBitshift:0000000000000000 DMA_CalcBaseAndBitshift
+ /tmp/ccPStHDw.s:118 .text.DMA_CalcBaseAndBitshift:0000000000000020 $d
+ /tmp/ccPStHDw.s:124 .text.HAL_DMA_Init:0000000000000000 $t
+ /tmp/ccPStHDw.s:131 .text.HAL_DMA_Init:0000000000000000 HAL_DMA_Init
+ /tmp/ccPStHDw.s:213 .text.HAL_DMA_Init:000000000000004c $d
+ /tmp/ccPStHDw.s:218 .text.HAL_DMA_DeInit:0000000000000000 $t
+ /tmp/ccPStHDw.s:225 .text.HAL_DMA_DeInit:0000000000000000 HAL_DMA_DeInit
+ /tmp/ccPStHDw.s:302 .text.HAL_DMA_Start:0000000000000000 $t
+ /tmp/ccPStHDw.s:309 .text.HAL_DMA_Start:0000000000000000 HAL_DMA_Start
+ /tmp/ccPStHDw.s:391 .text.HAL_DMA_Start_IT:0000000000000000 $t
+ /tmp/ccPStHDw.s:398 .text.HAL_DMA_Start_IT:0000000000000000 HAL_DMA_Start_IT
+ /tmp/ccPStHDw.s:506 .text.HAL_DMA_Abort:0000000000000000 $t
+ /tmp/ccPStHDw.s:513 .text.HAL_DMA_Abort:0000000000000000 HAL_DMA_Abort
+ /tmp/ccPStHDw.s:579 .text.HAL_DMA_Abort_IT:0000000000000000 $t
+ /tmp/ccPStHDw.s:586 .text.HAL_DMA_Abort_IT:0000000000000000 HAL_DMA_Abort_IT
+ /tmp/ccPStHDw.s:661 .text.HAL_DMA_PollForTransfer:0000000000000000 $t
+ /tmp/ccPStHDw.s:668 .text.HAL_DMA_PollForTransfer:0000000000000000 HAL_DMA_PollForTransfer
+ /tmp/ccPStHDw.s:844 .text.HAL_DMA_IRQHandler:0000000000000000 $t
+ /tmp/ccPStHDw.s:851 .text.HAL_DMA_IRQHandler:0000000000000000 HAL_DMA_IRQHandler
+ /tmp/ccPStHDw.s:999 .text.HAL_DMA_RegisterCallback:0000000000000000 $t
+ /tmp/ccPStHDw.s:1006 .text.HAL_DMA_RegisterCallback:0000000000000000 HAL_DMA_RegisterCallback
+ /tmp/ccPStHDw.s:1100 .text.HAL_DMA_UnRegisterCallback:0000000000000000 $t
+ /tmp/ccPStHDw.s:1107 .text.HAL_DMA_UnRegisterCallback:0000000000000000 HAL_DMA_UnRegisterCallback
+ /tmp/ccPStHDw.s:1155 .rodata.HAL_DMA_UnRegisterCallback:0000000000000000 $d
+ /tmp/ccPStHDw.s:1211 .text.HAL_DMA_UnRegisterCallback:000000000000005c $d
+ /tmp/ccPStHDw.s:1216 .text.HAL_DMA_GetState:0000000000000000 $t
+ /tmp/ccPStHDw.s:1223 .text.HAL_DMA_GetState:0000000000000000 HAL_DMA_GetState
+ /tmp/ccPStHDw.s:1243 .text.HAL_DMA_GetError:0000000000000000 $t
+ /tmp/ccPStHDw.s:1250 .text.HAL_DMA_GetError:0000000000000000 HAL_DMA_GetError
+
+UNDEFINED SYMBOLS
+__aeabi_uidiv
+HAL_GetTick
diff --git a/fw/midi-dials/build/stm32f0xx_hal_dma.o b/fw/midi-dials/build/stm32f0xx_hal_dma.o
new file mode 100644
index 0000000..ee3c3f0
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_dma.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_exti.d b/fw/midi-dials/build/stm32f0xx_hal_exti.d
new file mode 100644
index 0000000..f36377f
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_exti.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_exti.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_exti.lst b/fw/midi-dials/build/stm32f0xx_hal_exti.lst
new file mode 100644
index 0000000..8ebc8ee
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_exti.lst
@@ -0,0 +1,1373 @@
+ARM GAS /tmp/ccoU2NQy.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 "stm32f0xx_hal_exti.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_EXTI_SetConfigLine,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_EXTI_SetConfigLine
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_EXTI_SetConfigLine:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @file stm32f0xx_hal_exti.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * functionalities of the Extended Interrupts and events controller (EXTI) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * + IO operation functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### EXTI Peripheral features #####
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..]
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Each Exti line can be configured within this driver.
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti line can be configured in 3 different modes
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Interrupt
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Event
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Configurable Exti lines can be configured with 3 different triggers
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Both of them
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) When set in interrupt mode, configurable Exti lines have two different
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** interrupts pending registers which allow to distinguish which transition
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** occurs:
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Rising edge pending interrupt
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Falling
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ ARM GAS /tmp/ccoU2NQy.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (+) Exti lines 0 to 15 are linked to gpio pin number 0 to 15. Gpio port can
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** be selected through multiplexer.
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### How to use this driver #####
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ==============================================================================
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** [..]
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Configure the EXTI line using HAL_EXTI_SetConfigLine().
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Choose the interrupt line number by setting "Line" member from
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Configure the interrupt and/or event mode using "Mode" member from
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_ConfigTypeDef structure.
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For configurable lines, configure rising and/or falling trigger
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** "Trigger" member from EXTI_ConfigTypeDef structure.
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) For Exti lines linked to gpio, choose gpio port using "GPIOSel"
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** member from GPIO_InitTypeDef structure.
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get current Exti configuration of a dedicated line using
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_EXTI_GetConfigLine().
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter.
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide pointer on EXTI_ConfigTypeDef structure as second parameter.
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear Exti configuration of a dedicated line using HAL_EXTI_GetConfigLine().
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as parameter.
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Register callback to treat Exti interrupts using HAL_EXTI_RegisterCallback().
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide exiting handle as first parameter.
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide which callback will be registered using one value from
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI_CallbackIDTypeDef.
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (++) Provide callback function pointer.
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Get interrupt pending bit using HAL_EXTI_GetPending().
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Clear interrupt pending bit using HAL_EXTI_GetPending().
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** (#) Generate software interrupt using HAL_EXTI_GenerateSWI().
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @attention
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * All rights reserved.</center></h2>
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * the "License"; You may not use this file except in compliance with the
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * License. You may obtain a copy of the License at:
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * opensource.org/licenses/BSD-3-Clause
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ******************************************************************************
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Includes ------------------------------------------------------------------*/
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #include "stm32f0xx_hal.h"
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ ARM GAS /tmp/ccoU2NQy.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** MISRA C:2012 deviation rule has been granted for following rule:
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * Rule-18.1_b - Medium: Array `EXTICR' 1st subscript interval [0,7] may be out
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * of bounds [0,3] in following API :
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_SetConfigLine
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_GetConfigLine
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * HAL_EXTI_ClearConfigLine
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** #ifdef HAL_EXTI_MODULE_ENABLED
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private typedef -----------------------------------------------------------*/
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private defines -----------------------------------------------------------*/
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @defgroup EXTI_Private_Constants EXTI Private Constants
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @}
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private macros ------------------------------------------------------------*/
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private variables ---------------------------------------------------------*/
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Private function prototypes -----------------------------------------------*/
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Exported functions --------------------------------------------------------*/
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group1
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Configuration functions
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### Configuration functions #####
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Set configuration of a dedicated Exti line.
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on EXTI configuration to be set.
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_SetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 26 .loc 1 144 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccoU2NQy.s page 4
+
+
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 70B5 push {r4, r5, r6, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 16
+ 34 .cfi_offset 4, -16
+ 35 .cfi_offset 5, -12
+ 36 .cfi_offset 6, -8
+ 37 .cfi_offset 14, -4
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
+ 38 .loc 1 150 0
+ 39 0002 0028 cmp r0, #0
+ 40 0004 53D0 beq .L11
+ 41 .loc 1 150 0 is_stmt 0 discriminator 1
+ 42 0006 0029 cmp r1, #0
+ 43 0008 53D0 beq .L12
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(pExtiConfig->Line));
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_MODE(pExtiConfig->Mode));
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Assign line number to handle */
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = pExtiConfig->Line;
+ 44 .loc 1 160 0 is_stmt 1
+ 45 000a 0B68 ldr r3, [r1]
+ 46 000c 0360 str r3, [r0]
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
+ 47 .loc 1 163 0
+ 48 000e 0C68 ldr r4, [r1]
+ 49 0010 1F22 movs r2, #31
+ 50 0012 2240 ands r2, r4
+ 51 .LVL1:
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
+ 52 .loc 1 164 0
+ 53 0014 0123 movs r3, #1
+ 54 0016 9340 lsls r3, r3, r2
+ 55 .LVL2:
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure triggers for configurable lines */
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
+ 56 .loc 1 167 0
+ 57 0018 A001 lsls r0, r4, #6
+ 58 001a 13D5 bpl .L3
+ 59 .LVL3:
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_TRIGGER(pExtiConfig->Trigger));
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ ARM GAS /tmp/ccoU2NQy.s page 5
+
+
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure rising trigger */
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_RISING) != 0x00u)
+ 60 .loc 1 173 0
+ 61 001c 8868 ldr r0, [r1, #8]
+ 62 001e C007 lsls r0, r0, #31
+ 63 0020 20D5 bpl .L4
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR |= maskline;
+ 64 .loc 1 175 0
+ 65 0022 254D ldr r5, .L15
+ 66 0024 A868 ldr r0, [r5, #8]
+ 67 0026 1843 orrs r0, r3
+ 68 0028 A860 str r0, [r5, #8]
+ 69 .L5:
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR &= ~maskline;
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure falling trigger */
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Trigger & EXTI_TRIGGER_FALLING) != 0x00u)
+ 70 .loc 1 184 0
+ 71 002a 8868 ldr r0, [r1, #8]
+ 72 002c 8007 lsls r0, r0, #30
+ 73 002e 1ED5 bpl .L6
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR |= maskline;
+ 74 .loc 1 186 0
+ 75 0030 214D ldr r5, .L15
+ 76 0032 E868 ldr r0, [r5, #12]
+ 77 0034 1843 orrs r0, r3
+ 78 0036 E860 str r0, [r5, #12]
+ 79 .L7:
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR &= ~maskline;
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure gpio port selection in case of gpio exti line */
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
+ 80 .loc 1 195 0
+ 81 0038 C025 movs r5, #192
+ 82 003a ED04 lsls r5, r5, #19
+ 83 003c 0868 ldr r0, [r1]
+ 84 003e 2840 ands r0, r5
+ 85 0040 A842 cmp r0, r5
+ 86 0042 19D0 beq .L13
+ 87 .LVL4:
+ 88 .L3:
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PORT(pExtiConfig->GPIOSel));
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
+ ARM GAS /tmp/ccoU2NQy.s page 6
+
+
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure interrupt mode : read current mode */
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_INTERRUPT) != 0x00u)
+ 89 .loc 1 209 0
+ 90 0044 4A68 ldr r2, [r1, #4]
+ 91 0046 D207 lsls r2, r2, #31
+ 92 0048 26D5 bpl .L8
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR |= maskline;
+ 93 .loc 1 211 0
+ 94 004a 1B48 ldr r0, .L15
+ 95 004c 0268 ldr r2, [r0]
+ 96 004e 1A43 orrs r2, r3
+ 97 0050 0260 str r2, [r0]
+ 98 .L9:
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR &= ~maskline;
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Configure event mode : read current mode */
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Mask or set line */
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Mode & EXTI_MODE_EVENT) != 0x00u)
+ 99 .loc 1 220 0
+ 100 0052 4A68 ldr r2, [r1, #4]
+ 101 0054 9207 lsls r2, r2, #30
+ 102 0056 24D4 bmi .L14
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR |= maskline;
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR &= ~maskline;
+ 103 .loc 1 226 0
+ 104 0058 1749 ldr r1, .L15
+ 105 .LVL5:
+ 106 005a 4A68 ldr r2, [r1, #4]
+ 107 005c 9A43 bics r2, r3
+ 108 005e 4A60 str r2, [r1, #4]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
+ 109 .loc 1 229 0
+ 110 0060 0020 movs r0, #0
+ 111 .LVL6:
+ 112 .L2:
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 113 .loc 1 230 0
+ ARM GAS /tmp/ccoU2NQy.s page 7
+
+
+ 114 @ sp needed
+ 115 0062 70BD pop {r4, r5, r6, pc}
+ 116 .LVL7:
+ 117 .L4:
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 118 .loc 1 179 0
+ 119 0064 144D ldr r5, .L15
+ 120 0066 A868 ldr r0, [r5, #8]
+ 121 0068 9843 bics r0, r3
+ 122 006a A860 str r0, [r5, #8]
+ 123 006c DDE7 b .L5
+ 124 .L6:
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 125 .loc 1 190 0
+ 126 006e 124D ldr r5, .L15
+ 127 0070 E868 ldr r0, [r5, #12]
+ 128 0072 9843 bics r0, r3
+ 129 0074 E860 str r0, [r5, #12]
+ 130 0076 DFE7 b .L7
+ 131 .L13:
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 132 .loc 1 200 0
+ 133 0078 9208 lsrs r2, r2, #2
+ 134 .LVL8:
+ 135 007a 104E ldr r6, .L15+4
+ 136 007c 0232 adds r2, r2, #2
+ 137 007e 9200 lsls r2, r2, #2
+ 138 0080 9559 ldr r5, [r2, r6]
+ 139 .LVL9:
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval |= (pExtiConfig->GPIOSel << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 140 .loc 1 201 0
+ 141 0082 0320 movs r0, #3
+ 142 0084 0440 ands r4, r0
+ 143 .LVL10:
+ 144 0086 A400 lsls r4, r4, #2
+ 145 0088 0C30 adds r0, r0, #12
+ 146 008a A040 lsls r0, r0, r4
+ 147 008c 8543 bics r5, r0
+ 148 .LVL11:
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
+ 149 .loc 1 202 0
+ 150 008e C868 ldr r0, [r1, #12]
+ 151 0090 A040 lsls r0, r0, r4
+ 152 0092 2843 orrs r0, r5
+ 153 .LVL12:
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 154 .loc 1 203 0
+ 155 0094 9051 str r0, [r2, r6]
+ 156 0096 D5E7 b .L3
+ 157 .LVL13:
+ 158 .L8:
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 159 .loc 1 215 0
+ 160 0098 0748 ldr r0, .L15
+ 161 009a 0268 ldr r2, [r0]
+ 162 009c 9A43 bics r2, r3
+ 163 009e 0260 str r2, [r0]
+ ARM GAS /tmp/ccoU2NQy.s page 8
+
+
+ 164 00a0 D7E7 b .L9
+ 165 .L14:
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 166 .loc 1 222 0
+ 167 00a2 0549 ldr r1, .L15
+ 168 .LVL14:
+ 169 00a4 4A68 ldr r2, [r1, #4]
+ 170 00a6 1343 orrs r3, r2
+ 171 .LVL15:
+ 172 00a8 4B60 str r3, [r1, #4]
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 173 .loc 1 229 0
+ 174 00aa 0020 movs r0, #0
+ 175 00ac D9E7 b .L2
+ 176 .LVL16:
+ 177 .L11:
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 178 .loc 1 152 0
+ 179 00ae 0120 movs r0, #1
+ 180 .LVL17:
+ 181 00b0 D7E7 b .L2
+ 182 .LVL18:
+ 183 .L12:
+ 184 00b2 0120 movs r0, #1
+ 185 .LVL19:
+ 186 00b4 D5E7 b .L2
+ 187 .L16:
+ 188 00b6 C046 .align 2
+ 189 .L15:
+ 190 00b8 00040140 .word 1073808384
+ 191 00bc 00000140 .word 1073807360
+ 192 .cfi_endproc
+ 193 .LFE40:
+ 195 .section .text.HAL_EXTI_GetConfigLine,"ax",%progbits
+ 196 .align 1
+ 197 .global HAL_EXTI_GetConfigLine
+ 198 .syntax unified
+ 199 .code 16
+ 200 .thumb_func
+ 201 .fpu softvfp
+ 203 HAL_EXTI_GetConfigLine:
+ 204 .LFB41:
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get configuration of a dedicated Exti line.
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pExtiConfig Pointer on structure to store Exti configuration.
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetConfigLine(EXTI_HandleTypeDef *hexti, EXTI_ConfigTypeDef *pExtiConfig
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 205 .loc 1 239 0
+ 206 .cfi_startproc
+ 207 @ args = 0, pretend = 0, frame = 0
+ 208 @ frame_needed = 0, uses_anonymous_args = 0
+ 209 .LVL20:
+ 210 0000 30B5 push {r4, r5, lr}
+ ARM GAS /tmp/ccoU2NQy.s page 9
+
+
+ 211 .LCFI1:
+ 212 .cfi_def_cfa_offset 12
+ 213 .cfi_offset 4, -12
+ 214 .cfi_offset 5, -8
+ 215 .cfi_offset 14, -4
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti == NULL) || (pExtiConfig == NULL))
+ 216 .loc 1 245 0
+ 217 0002 0028 cmp r0, #0
+ 218 0004 46D0 beq .L27
+ 219 .loc 1 245 0 is_stmt 0 discriminator 1
+ 220 0006 0029 cmp r1, #0
+ 221 0008 46D0 beq .L28
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store handle line number to configuration structure */
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Line = hexti->Line;
+ 222 .loc 1 254 0 is_stmt 1
+ 223 000a 0068 ldr r0, [r0]
+ 224 .LVL21:
+ 225 000c 0860 str r0, [r1]
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (pExtiConfig->Line & EXTI_PIN_MASK);
+ 226 .loc 1 257 0
+ 227 000e 1F24 movs r4, #31
+ 228 0010 0440 ands r4, r0
+ 229 .LVL22:
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
+ 230 .loc 1 258 0
+ 231 0012 0123 movs r3, #1
+ 232 0014 A340 lsls r3, r3, r4
+ 233 .LVL23:
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Get core mode : interrupt */
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->IMR & maskline) != 0x00u)
+ 234 .loc 1 263 0
+ 235 0016 214A ldr r2, .L30
+ 236 0018 1268 ldr r2, [r2]
+ 237 001a 1342 tst r3, r2
+ 238 001c 22D0 beq .L19
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_INTERRUPT;
+ 239 .loc 1 265 0
+ 240 001e 0122 movs r2, #1
+ 241 0020 4A60 str r2, [r1, #4]
+ ARM GAS /tmp/ccoU2NQy.s page 10
+
+
+ 242 .L20:
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode = EXTI_MODE_NONE;
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get event mode */
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if selected line is enable */
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->EMR & maskline) != 0x00u)
+ 243 .loc 1 274 0
+ 244 0022 1E4A ldr r2, .L30
+ 245 0024 5268 ldr r2, [r2, #4]
+ 246 0026 1342 tst r3, r2
+ 247 0028 03D0 beq .L21
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Mode |= EXTI_MODE_EVENT;
+ 248 .loc 1 276 0
+ 249 002a 0222 movs r2, #2
+ 250 002c 4D68 ldr r5, [r1, #4]
+ 251 002e 2A43 orrs r2, r5
+ 252 0030 4A60 str r2, [r1, #4]
+ 253 .L21:
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Get trigger for configurable lines : rising */
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_CONFIG) != 0x00u)
+ 254 .loc 1 280 0
+ 255 0032 8201 lsls r2, r0, #6
+ 256 0034 29D5 bpl .L22
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->RTSR & maskline) != 0x00u)
+ 257 .loc 1 283 0
+ 258 0036 194A ldr r2, .L30
+ 259 0038 9268 ldr r2, [r2, #8]
+ 260 003a 1342 tst r3, r2
+ 261 003c 15D0 beq .L23
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_RISING;
+ 262 .loc 1 285 0
+ 263 003e 0122 movs r2, #1
+ 264 0040 8A60 str r2, [r1, #8]
+ 265 .L24:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get falling configuration */
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check if configuration of selected line is enable */
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((EXTI->FTSR & maskline) != 0x00u)
+ 266 .loc 1 294 0
+ 267 0042 164A ldr r2, .L30
+ 268 0044 D268 ldr r2, [r2, #12]
+ 269 0046 1342 tst r3, r2
+ ARM GAS /tmp/ccoU2NQy.s page 11
+
+
+ 270 0048 03D0 beq .L25
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger |= EXTI_TRIGGER_FALLING;
+ 271 .loc 1 296 0
+ 272 004a 0223 movs r3, #2
+ 273 .LVL24:
+ 274 004c 8A68 ldr r2, [r1, #8]
+ 275 004e 1343 orrs r3, r2
+ 276 0050 8B60 str r3, [r1, #8]
+ 277 .L25:
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((pExtiConfig->Line & EXTI_GPIO) == EXTI_GPIO)
+ 278 .loc 1 300 0
+ 279 0052 C022 movs r2, #192
+ 280 0054 D204 lsls r2, r2, #19
+ 281 0056 1040 ands r0, r2
+ 282 0058 9042 cmp r0, r2
+ 283 005a 09D0 beq .L29
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
+ 284 .loc 1 309 0
+ 285 005c 0023 movs r3, #0
+ 286 005e CB60 str r3, [r1, #12]
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* No Trigger selected */
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->Trigger = EXTI_TRIGGER_NONE;
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
+ 287 .loc 1 319 0
+ 288 0060 0020 movs r0, #0
+ 289 0062 16E0 b .L18
+ 290 .LVL25:
+ 291 .L19:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 292 .loc 1 269 0
+ 293 0064 0022 movs r2, #0
+ 294 0066 4A60 str r2, [r1, #4]
+ 295 0068 DBE7 b .L20
+ 296 .L23:
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 297 .loc 1 289 0
+ 298 006a 0022 movs r2, #0
+ 299 006c 8A60 str r2, [r1, #8]
+ ARM GAS /tmp/ccoU2NQy.s page 12
+
+
+ 300 006e E8E7 b .L24
+ 301 .LVL26:
+ 302 .L29:
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = ((regval << (SYSCFG_EXTICR1_EXTI1_Pos * (3uL - (linepos & 0x03u)))) >>
+ 303 .loc 1 304 0
+ 304 0070 A308 lsrs r3, r4, #2
+ 305 0072 0233 adds r3, r3, #2
+ 306 0074 9B00 lsls r3, r3, #2
+ 307 0076 0A4A ldr r2, .L30+4
+ 308 0078 9B58 ldr r3, [r3, r2]
+ 309 .LVL27:
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 310 .loc 1 305 0
+ 311 007a 0322 movs r2, #3
+ 312 007c A243 bics r2, r4
+ 313 007e 9200 lsls r2, r2, #2
+ 314 0080 9340 lsls r3, r3, r2
+ 315 .LVL28:
+ 316 0082 1B0E lsrs r3, r3, #24
+ 317 0084 CB60 str r3, [r1, #12]
+ 318 .loc 1 319 0
+ 319 0086 0020 movs r0, #0
+ 320 0088 03E0 b .L18
+ 321 .LVL29:
+ 322 .L22:
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** pExtiConfig->GPIOSel = 0x00u;
+ 323 .loc 1 315 0
+ 324 008a 0023 movs r3, #0
+ 325 .LVL30:
+ 326 008c 8B60 str r3, [r1, #8]
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 327 .loc 1 316 0
+ 328 008e CB60 str r3, [r1, #12]
+ 329 .loc 1 319 0
+ 330 0090 0020 movs r0, #0
+ 331 .LVL31:
+ 332 .L18:
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 333 .loc 1 320 0
+ 334 @ sp needed
+ 335 0092 30BD pop {r4, r5, pc}
+ 336 .LVL32:
+ 337 .L27:
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 338 .loc 1 247 0
+ 339 0094 0120 movs r0, #1
+ 340 .LVL33:
+ 341 0096 FCE7 b .L18
+ 342 .LVL34:
+ 343 .L28:
+ 344 0098 0120 movs r0, #1
+ 345 .LVL35:
+ 346 009a FAE7 b .L18
+ 347 .L31:
+ 348 .align 2
+ 349 .L30:
+ 350 009c 00040140 .word 1073808384
+ ARM GAS /tmp/ccoU2NQy.s page 13
+
+
+ 351 00a0 00000140 .word 1073807360
+ 352 .cfi_endproc
+ 353 .LFE41:
+ 355 .section .text.HAL_EXTI_ClearConfigLine,"ax",%progbits
+ 356 .align 1
+ 357 .global HAL_EXTI_ClearConfigLine
+ 358 .syntax unified
+ 359 .code 16
+ 360 .thumb_func
+ 361 .fpu softvfp
+ 363 HAL_EXTI_ClearConfigLine:
+ 364 .LFB42:
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear whole configuration of a dedicated Exti line.
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_ClearConfigLine(EXTI_HandleTypeDef *hexti)
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 365 .loc 1 328 0
+ 366 .cfi_startproc
+ 367 @ args = 0, pretend = 0, frame = 0
+ 368 @ frame_needed = 0, uses_anonymous_args = 0
+ 369 .LVL36:
+ 370 0000 30B5 push {r4, r5, lr}
+ 371 .LCFI2:
+ 372 .cfi_def_cfa_offset 12
+ 373 .cfi_offset 4, -12
+ 374 .cfi_offset 5, -8
+ 375 .cfi_offset 14, -4
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
+ 376 .loc 1 334 0
+ 377 0002 0028 cmp r0, #0
+ 378 0004 2CD0 beq .L34
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameter */
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* compute line mask */
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
+ 379 .loc 1 343 0
+ 380 0006 0568 ldr r5, [r0]
+ 381 0008 1F22 movs r2, #31
+ 382 000a 2A40 ands r2, r5
+ 383 .LVL37:
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
+ 384 .loc 1 344 0
+ 385 000c 0123 movs r3, #1
+ ARM GAS /tmp/ccoU2NQy.s page 14
+
+
+ 386 000e 9340 lsls r3, r3, r2
+ 387 .LVL38:
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 1] Clear interrupt mode */
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->IMR = (EXTI->IMR & ~maskline);
+ 388 .loc 1 347 0
+ 389 0010 1549 ldr r1, .L38
+ 390 0012 0C68 ldr r4, [r1]
+ 391 0014 DB43 mvns r3, r3
+ 392 .LVL39:
+ 393 0016 1C40 ands r4, r3
+ 394 0018 0C60 str r4, [r1]
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 2] Clear event mode */
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->EMR = (EXTI->EMR & ~maskline);
+ 395 .loc 1 350 0
+ 396 001a 4C68 ldr r4, [r1, #4]
+ 397 001c 1C40 ands r4, r3
+ 398 001e 4C60 str r4, [r1, #4]
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* 3] Clear triggers in case of configurable lines */
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_CONFIG) != 0x00u)
+ 399 .loc 1 353 0
+ 400 0020 0168 ldr r1, [r0]
+ 401 0022 8901 lsls r1, r1, #6
+ 402 0024 1ED5 bpl .L35
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->RTSR = (EXTI->RTSR & ~maskline);
+ 403 .loc 1 355 0
+ 404 0026 1049 ldr r1, .L38
+ 405 0028 8C68 ldr r4, [r1, #8]
+ 406 002a 1C40 ands r4, r3
+ 407 002c 8C60 str r4, [r1, #8]
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->FTSR = (EXTI->FTSR & ~maskline);
+ 408 .loc 1 356 0
+ 409 002e CC68 ldr r4, [r1, #12]
+ 410 0030 2340 ands r3, r4
+ 411 .LVL40:
+ 412 0032 CB60 str r3, [r1, #12]
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get Gpio port selection for gpio lines */
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if ((hexti->Line & EXTI_GPIO) == EXTI_GPIO)
+ 413 .loc 1 359 0
+ 414 0034 0368 ldr r3, [r0]
+ 415 0036 C021 movs r1, #192
+ 416 0038 C904 lsls r1, r1, #19
+ 417 003a 0B40 ands r3, r1
+ 418 003c 8B42 cmp r3, r1
+ 419 003e 01D0 beq .L37
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_GPIO_PIN(linepos));
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = SYSCFG->EXTICR[linepos >> 2u];
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ ARM GAS /tmp/ccoU2NQy.s page 15
+
+
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
+ 420 .loc 1 369 0
+ 421 0040 0020 movs r0, #0
+ 422 .LVL41:
+ 423 0042 10E0 b .L33
+ 424 .LVL42:
+ 425 .L37:
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval &= ~(SYSCFG_EXTICR1_EXTI0 << (SYSCFG_EXTICR1_EXTI1_Pos * (linepos & 0x03u)));
+ 426 .loc 1 363 0
+ 427 0044 9208 lsrs r2, r2, #2
+ 428 .LVL43:
+ 429 0046 0948 ldr r0, .L38+4
+ 430 .LVL44:
+ 431 0048 0232 adds r2, r2, #2
+ 432 004a 9200 lsls r2, r2, #2
+ 433 004c 1158 ldr r1, [r2, r0]
+ 434 .LVL45:
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** SYSCFG->EXTICR[linepos >> 2u] = regval;
+ 435 .loc 1 364 0
+ 436 004e 0323 movs r3, #3
+ 437 0050 1D40 ands r5, r3
+ 438 .LVL46:
+ 439 0052 AD00 lsls r5, r5, #2
+ 440 0054 0C33 adds r3, r3, #12
+ 441 0056 AB40 lsls r3, r3, r5
+ 442 0058 9943 bics r1, r3
+ 443 .LVL47:
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 444 .loc 1 365 0
+ 445 005a 1150 str r1, [r2, r0]
+ 446 .loc 1 369 0
+ 447 005c 0020 movs r0, #0
+ 448 005e 02E0 b .L33
+ 449 .LVL48:
+ 450 .L34:
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 451 .loc 1 336 0
+ 452 0060 0120 movs r0, #1
+ 453 .LVL49:
+ 454 0062 00E0 b .L33
+ 455 .LVL50:
+ 456 .L35:
+ 457 .loc 1 369 0
+ 458 0064 0020 movs r0, #0
+ 459 .LVL51:
+ 460 .L33:
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 461 .loc 1 370 0
+ 462 @ sp needed
+ 463 0066 30BD pop {r4, r5, pc}
+ 464 .L39:
+ 465 .align 2
+ 466 .L38:
+ 467 0068 00040140 .word 1073808384
+ 468 006c 00000140 .word 1073807360
+ 469 .cfi_endproc
+ ARM GAS /tmp/ccoU2NQy.s page 16
+
+
+ 470 .LFE42:
+ 472 .section .text.HAL_EXTI_RegisterCallback,"ax",%progbits
+ 473 .align 1
+ 474 .global HAL_EXTI_RegisterCallback
+ 475 .syntax unified
+ 476 .code 16
+ 477 .thumb_func
+ 478 .fpu softvfp
+ 480 HAL_EXTI_RegisterCallback:
+ 481 .LFB43:
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Register callback for a dedicated Exti line.
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param CallbackID User callback identifier.
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of @arg @ref EXTI_CallbackIDTypeDef values.
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param pPendingCbfn function pointer to be stored as callback.
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_RegisterCallback(EXTI_HandleTypeDef *hexti, EXTI_CallbackIDTypeDef Callb
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 482 .loc 1 381 0
+ 483 .cfi_startproc
+ 484 @ args = 0, pretend = 0, frame = 0
+ 485 @ frame_needed = 0, uses_anonymous_args = 0
+ 486 @ link register save eliminated.
+ 487 .LVL52:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** switch (CallbackID)
+ 488 .loc 1 384 0
+ 489 0000 0029 cmp r1, #0
+ 490 0002 02D1 bne .L44
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** case HAL_EXTI_COMMON_CB_ID:
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback = pPendingCbfn;
+ 491 .loc 1 387 0
+ 492 0004 4260 str r2, [r0, #4]
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef status = HAL_OK;
+ 493 .loc 1 382 0
+ 494 0006 0020 movs r0, #0
+ 495 .LVL53:
+ 496 .L41:
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** default:
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** status = HAL_ERROR;
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return status;
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 497 .loc 1 396 0
+ 498 @ sp needed
+ 499 0008 7047 bx lr
+ 500 .LVL54:
+ 501 .L44:
+ ARM GAS /tmp/ccoU2NQy.s page 17
+
+
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** break;
+ 502 .loc 1 391 0
+ 503 000a 0120 movs r0, #1
+ 504 .LVL55:
+ 505 000c FCE7 b .L41
+ 506 .cfi_endproc
+ 507 .LFE43:
+ 509 .section .text.HAL_EXTI_GetHandle,"ax",%progbits
+ 510 .align 1
+ 511 .global HAL_EXTI_GetHandle
+ 512 .syntax unified
+ 513 .code 16
+ 514 .thumb_func
+ 515 .fpu softvfp
+ 517 HAL_EXTI_GetHandle:
+ 518 .LFB44:
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Store line number as handle private field.
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param ExtiLine Exti line number.
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be from 0 to @ref EXTI_LINE_NB.
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval HAL Status.
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** HAL_StatusTypeDef HAL_EXTI_GetHandle(EXTI_HandleTypeDef *hexti, uint32_t ExtiLine)
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 519 .loc 1 406 0
+ 520 .cfi_startproc
+ 521 @ args = 0, pretend = 0, frame = 0
+ 522 @ frame_needed = 0, uses_anonymous_args = 0
+ 523 @ link register save eliminated.
+ 524 .LVL56:
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check the parameters */
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(ExtiLine));
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check null pointer */
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti == NULL)
+ 525 .loc 1 411 0
+ 526 0000 0028 cmp r0, #0
+ 527 0002 02D0 beq .L47
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_ERROR;
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** else
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Store line number as handle private field */
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->Line = ExtiLine;
+ 528 .loc 1 418 0
+ 529 0004 0160 str r1, [r0]
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return HAL_OK;
+ 530 .loc 1 420 0
+ 531 0006 0020 movs r0, #0
+ 532 .LVL57:
+ 533 .L46:
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ ARM GAS /tmp/ccoU2NQy.s page 18
+
+
+ 534 .loc 1 422 0
+ 535 @ sp needed
+ 536 0008 7047 bx lr
+ 537 .LVL58:
+ 538 .L47:
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 539 .loc 1 413 0
+ 540 000a 0120 movs r0, #1
+ 541 .LVL59:
+ 542 000c FCE7 b .L46
+ 543 .cfi_endproc
+ 544 .LFE44:
+ 546 .section .text.HAL_EXTI_IRQHandler,"ax",%progbits
+ 547 .align 1
+ 548 .global HAL_EXTI_IRQHandler
+ 549 .syntax unified
+ 550 .code 16
+ 551 .thumb_func
+ 552 .fpu softvfp
+ 554 HAL_EXTI_IRQHandler:
+ 555 .LFB45:
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @}
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /** @addtogroup EXTI_Exported_Functions_Group2
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief EXTI IO functions.
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** *
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @verbatim
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ##### IO operation functions #####
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** ===============================================================================
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** @endverbatim
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @{
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Handle EXTI interrupt request.
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval none.
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_IRQHandler(EXTI_HandleTypeDef *hexti)
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 556 .loc 1 446 0
+ 557 .cfi_startproc
+ 558 @ args = 0, pretend = 0, frame = 0
+ 559 @ frame_needed = 0, uses_anonymous_args = 0
+ 560 .LVL60:
+ 561 0000 10B5 push {r4, lr}
+ 562 .LCFI3:
+ 563 .cfi_def_cfa_offset 8
+ 564 .cfi_offset 4, -8
+ 565 .cfi_offset 14, -4
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ ARM GAS /tmp/ccoU2NQy.s page 19
+
+
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
+ 566 .loc 1 451 0
+ 567 0002 1F22 movs r2, #31
+ 568 0004 0368 ldr r3, [r0]
+ 569 0006 1A40 ands r2, r3
+ 570 0008 0123 movs r3, #1
+ 571 000a 9340 lsls r3, r3, r2
+ 572 .LVL61:
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Get pending bit */
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = (EXTI->PR & maskline);
+ 573 .loc 1 454 0
+ 574 000c 054A ldr r2, .L50
+ 575 000e 5269 ldr r2, [r2, #20]
+ 576 .LVL62:
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (regval != 0x00u)
+ 577 .loc 1 455 0
+ 578 0010 1342 tst r3, r2
+ 579 0012 05D0 beq .L48
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear pending bit */
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
+ 580 .loc 1 458 0
+ 581 0014 034A ldr r2, .L50
+ 582 .LVL63:
+ 583 0016 5361 str r3, [r2, #20]
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Call callback */
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** if (hexti->PendingCallback != NULL)
+ 584 .loc 1 461 0
+ 585 0018 4368 ldr r3, [r0, #4]
+ 586 .LVL64:
+ 587 001a 002B cmp r3, #0
+ 588 001c 00D0 beq .L48
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** hexti->PendingCallback();
+ 589 .loc 1 463 0
+ 590 001e 9847 blx r3
+ 591 .LVL65:
+ 592 .L48:
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 593 .loc 1 466 0
+ 594 @ sp needed
+ 595 0020 10BD pop {r4, pc}
+ 596 .L51:
+ 597 0022 C046 .align 2
+ 598 .L50:
+ 599 0024 00040140 .word 1073808384
+ 600 .cfi_endproc
+ 601 .LFE45:
+ 603 .section .text.HAL_EXTI_GetPending,"ax",%progbits
+ 604 .align 1
+ 605 .global HAL_EXTI_GetPending
+ ARM GAS /tmp/ccoU2NQy.s page 20
+
+
+ 606 .syntax unified
+ 607 .code 16
+ 608 .thumb_func
+ 609 .fpu softvfp
+ 611 HAL_EXTI_GetPending:
+ 612 .LFB46:
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Get interrupt pending bit of a dedicated line.
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be checked.
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval 1 if interrupt is pending else 0.
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t HAL_EXTI_GetPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 613 .loc 1 478 0
+ 614 .cfi_startproc
+ 615 @ args = 0, pretend = 0, frame = 0
+ 616 @ frame_needed = 0, uses_anonymous_args = 0
+ 617 @ link register save eliminated.
+ 618 .LVL66:
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t regval;
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t linepos;
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** linepos = (hexti->Line & EXTI_PIN_MASK);
+ 619 .loc 1 489 0
+ 620 0000 0268 ldr r2, [r0]
+ 621 0002 1F23 movs r3, #31
+ 622 0004 1340 ands r3, r2
+ 623 .LVL67:
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << linepos);
+ 624 .loc 1 490 0
+ 625 0006 0120 movs r0, #1
+ 626 .LVL68:
+ 627 0008 9840 lsls r0, r0, r3
+ 628 .LVL69:
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* return 1 if bit is set else 0 */
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** regval = ((EXTI->PR & maskline) >> linepos);
+ 629 .loc 1 493 0
+ 630 000a 024A ldr r2, .L53
+ 631 000c 5269 ldr r2, [r2, #20]
+ 632 000e 1040 ands r0, r2
+ 633 .LVL70:
+ 634 0010 D840 lsrs r0, r0, r3
+ 635 .LVL71:
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** return regval;
+ ARM GAS /tmp/ccoU2NQy.s page 21
+
+
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 636 .loc 1 495 0
+ 637 @ sp needed
+ 638 0012 7047 bx lr
+ 639 .L54:
+ 640 .align 2
+ 641 .L53:
+ 642 0014 00040140 .word 1073808384
+ 643 .cfi_endproc
+ 644 .LFE46:
+ 646 .section .text.HAL_EXTI_ClearPending,"ax",%progbits
+ 647 .align 1
+ 648 .global HAL_EXTI_ClearPending
+ 649 .syntax unified
+ 650 .code 16
+ 651 .thumb_func
+ 652 .fpu softvfp
+ 654 HAL_EXTI_ClearPending:
+ 655 .LFB47:
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Clear interrupt pending bit of a dedicated line.
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param Edge Specify which pending edge as to be clear.
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter can be one of the following values:
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @arg @ref EXTI_TRIGGER_RISING_FALLING
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * This parameter is kept for compatibility with other series.
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_ClearPending(EXTI_HandleTypeDef *hexti, uint32_t Edge)
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 656 .loc 1 507 0
+ 657 .cfi_startproc
+ 658 @ args = 0, pretend = 0, frame = 0
+ 659 @ frame_needed = 0, uses_anonymous_args = 0
+ 660 @ link register save eliminated.
+ 661 .LVL72:
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_PENDING_EDGE(Edge));
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
+ 662 .loc 1 516 0
+ 663 0000 0368 ldr r3, [r0]
+ 664 0002 1F22 movs r2, #31
+ 665 0004 1A40 ands r2, r3
+ 666 0006 0123 movs r3, #1
+ 667 0008 9340 lsls r3, r3, r2
+ 668 .LVL73:
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Clear Pending bit */
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->PR = maskline;
+ 669 .loc 1 519 0
+ ARM GAS /tmp/ccoU2NQy.s page 22
+
+
+ 670 000a 014A ldr r2, .L56
+ 671 000c 5361 str r3, [r2, #20]
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ 672 .loc 1 520 0
+ 673 @ sp needed
+ 674 000e 7047 bx lr
+ 675 .L57:
+ 676 .align 2
+ 677 .L56:
+ 678 0010 00040140 .word 1073808384
+ 679 .cfi_endproc
+ 680 .LFE47:
+ 682 .section .text.HAL_EXTI_GenerateSWI,"ax",%progbits
+ 683 .align 1
+ 684 .global HAL_EXTI_GenerateSWI
+ 685 .syntax unified
+ 686 .code 16
+ 687 .thumb_func
+ 688 .fpu softvfp
+ 690 HAL_EXTI_GenerateSWI:
+ 691 .LFB48:
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /**
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @brief Generate a software interrupt for a dedicated line.
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @param hexti Exti handle.
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** * @retval None.
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** */
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** void HAL_EXTI_GenerateSWI(EXTI_HandleTypeDef *hexti)
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** {
+ 692 .loc 1 528 0
+ 693 .cfi_startproc
+ 694 @ args = 0, pretend = 0, frame = 0
+ 695 @ frame_needed = 0, uses_anonymous_args = 0
+ 696 @ link register save eliminated.
+ 697 .LVL74:
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** uint32_t maskline;
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Check parameters */
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_LINE(hexti->Line));
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** assert_param(IS_EXTI_CONFIG_LINE(hexti->Line));
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Compute line mask */
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** maskline = (1uL << (hexti->Line & EXTI_PIN_MASK));
+ 698 .loc 1 536 0
+ 699 0000 0368 ldr r3, [r0]
+ 700 0002 1F22 movs r2, #31
+ 701 0004 1A40 ands r2, r3
+ 702 0006 0123 movs r3, #1
+ 703 0008 9340 lsls r3, r3, r2
+ 704 .LVL75:
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c ****
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** /* Generate Software interrupt */
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** EXTI->SWIER = maskline;
+ 705 .loc 1 539 0
+ 706 000a 014A ldr r2, .L59
+ 707 000c 1361 str r3, [r2, #16]
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_exti.c **** }
+ ARM GAS /tmp/ccoU2NQy.s page 23
+
+
+ 708 .loc 1 540 0
+ 709 @ sp needed
+ 710 000e 7047 bx lr
+ 711 .L60:
+ 712 .align 2
+ 713 .L59:
+ 714 0010 00040140 .word 1073808384
+ 715 .cfi_endproc
+ 716 .LFE48:
+ 718 .text
+ 719 .Letext0:
+ 720 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 721 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 722 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 723 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 724 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 725 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h"
+ 726 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccoU2NQy.s page 24
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_exti.c
+ /tmp/ccoU2NQy.s:16 .text.HAL_EXTI_SetConfigLine:0000000000000000 $t
+ /tmp/ccoU2NQy.s:23 .text.HAL_EXTI_SetConfigLine:0000000000000000 HAL_EXTI_SetConfigLine
+ /tmp/ccoU2NQy.s:190 .text.HAL_EXTI_SetConfigLine:00000000000000b8 $d
+ /tmp/ccoU2NQy.s:196 .text.HAL_EXTI_GetConfigLine:0000000000000000 $t
+ /tmp/ccoU2NQy.s:203 .text.HAL_EXTI_GetConfigLine:0000000000000000 HAL_EXTI_GetConfigLine
+ /tmp/ccoU2NQy.s:350 .text.HAL_EXTI_GetConfigLine:000000000000009c $d
+ /tmp/ccoU2NQy.s:356 .text.HAL_EXTI_ClearConfigLine:0000000000000000 $t
+ /tmp/ccoU2NQy.s:363 .text.HAL_EXTI_ClearConfigLine:0000000000000000 HAL_EXTI_ClearConfigLine
+ /tmp/ccoU2NQy.s:467 .text.HAL_EXTI_ClearConfigLine:0000000000000068 $d
+ /tmp/ccoU2NQy.s:473 .text.HAL_EXTI_RegisterCallback:0000000000000000 $t
+ /tmp/ccoU2NQy.s:480 .text.HAL_EXTI_RegisterCallback:0000000000000000 HAL_EXTI_RegisterCallback
+ /tmp/ccoU2NQy.s:510 .text.HAL_EXTI_GetHandle:0000000000000000 $t
+ /tmp/ccoU2NQy.s:517 .text.HAL_EXTI_GetHandle:0000000000000000 HAL_EXTI_GetHandle
+ /tmp/ccoU2NQy.s:547 .text.HAL_EXTI_IRQHandler:0000000000000000 $t
+ /tmp/ccoU2NQy.s:554 .text.HAL_EXTI_IRQHandler:0000000000000000 HAL_EXTI_IRQHandler
+ /tmp/ccoU2NQy.s:599 .text.HAL_EXTI_IRQHandler:0000000000000024 $d
+ /tmp/ccoU2NQy.s:604 .text.HAL_EXTI_GetPending:0000000000000000 $t
+ /tmp/ccoU2NQy.s:611 .text.HAL_EXTI_GetPending:0000000000000000 HAL_EXTI_GetPending
+ /tmp/ccoU2NQy.s:642 .text.HAL_EXTI_GetPending:0000000000000014 $d
+ /tmp/ccoU2NQy.s:647 .text.HAL_EXTI_ClearPending:0000000000000000 $t
+ /tmp/ccoU2NQy.s:654 .text.HAL_EXTI_ClearPending:0000000000000000 HAL_EXTI_ClearPending
+ /tmp/ccoU2NQy.s:678 .text.HAL_EXTI_ClearPending:0000000000000010 $d
+ /tmp/ccoU2NQy.s:683 .text.HAL_EXTI_GenerateSWI:0000000000000000 $t
+ /tmp/ccoU2NQy.s:690 .text.HAL_EXTI_GenerateSWI:0000000000000000 HAL_EXTI_GenerateSWI
+ /tmp/ccoU2NQy.s:714 .text.HAL_EXTI_GenerateSWI:0000000000000010 $d
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_exti.o b/fw/midi-dials/build/stm32f0xx_hal_exti.o
new file mode 100644
index 0000000..6bd1393
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_exti.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash.d b/fw/midi-dials/build/stm32f0xx_hal_flash.d
new file mode 100644
index 0000000..fd9a7c1
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_flash.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash.lst b/fw/midi-dials/build/stm32f0xx_hal_flash.lst
new file mode 100644
index 0000000..cd6fd41
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash.lst
@@ -0,0 +1,1966 @@
+ARM GAS /tmp/cciaBHKP.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 "stm32f0xx_hal_flash.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.FLASH_Program_HalfWord,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 FLASH_Program_HalfWord:
+ 23 .LFB51:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @file stm32f0xx_hal_flash.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * functionalities of the internal FLASH memory:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Program operations functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Memory Control functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * + Peripheral State functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ==============================================================================
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### FLASH peripheral features #####
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The Flash memory interface manages CPU AHB I-Code and D-Code accesses
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** to the Flash memory. It implements the erase and program Flash memory operations
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** and the read and write protection mechanisms.
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The Flash memory interface accelerates code execution with a system of instruction
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** prefetch.
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] The FLASH main features are:
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Flash memory read operations
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Flash memory program/erase operations
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Read / write protections
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Prefetch on I-Code
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Option Bytes programming
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### How to use this driver #####
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ==============================================================================
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..]
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This driver provides functions and macros to configure and program the FLASH
+ ARM GAS /tmp/cciaBHKP.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** memory of all STM32F0xx devices.
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) FLASH Memory I/O Programming functions: this group includes all needed
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** functions to erase and program the main memory:
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Lock and Unlock the FLASH interface
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Erase function: Erase page, erase all pages
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program functions: half word, word and doubleword
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) FLASH Option Bytes Programming functions: this group includes all needed
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** functions to manage the Option Bytes:
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Lock and Unlock the Option Bytes
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Set/Reset the write protection
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Set the Read protection Level
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program the user Option Bytes
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Launch the Option Bytes loader
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Erase Option Bytes
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Program the data Option Bytes
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get the Write protection.
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get the user option bytes.
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (#) Interrupts and flags management functions : this group
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** includes all needed functions to:
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Handle FLASH interrupts
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Wait for last FLASH operation according to its status
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (++) Get error flag status
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..] In addition to these function, this driver includes a set of macros allowing
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** to handle the following operations:
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Set/Get the latency
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Enable/Disable the prefetch buffer
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Enable/Disable the FLASH interrupts
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** (+) Monitor the FLASH flags status
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ******************************************************************************
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @attention
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * All rights reserved.</center></h2>
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the "License"; You may not use this file except in compliance with the
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * License. You may obtain a copy of the License at:
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * opensource.org/licenses/BSD-3-Clause
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ******************************************************************************
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Includes ------------------------------------------------------------------*/
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** #include "stm32f0xx_hal.h"
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** #ifdef HAL_FLASH_MODULE_ENABLED
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ ARM GAS /tmp/cciaBHKP.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH FLASH
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH HAL module driver
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private typedef -----------------------------------------------------------*/
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private define ------------------------------------------------------------*/
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Constants FLASH Private Constants
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private macro ---------------------------- ---------------------------------*/
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Macros FLASH Private Macros
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private variables ---------------------------------------------------------*/
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Variables FLASH Private Variables
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Variables used for Erase pages under interruption*/
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_ProcessTypeDef pFlash;
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Private function prototypes -----------------------------------------------*/
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Private_Functions FLASH Private Functions
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data);
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_SetErrorCode(void);
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** extern void FLASH_PageErase(uint32_t PageAddress);
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Exported functions ---------------------------------------------------------*/
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions FLASH Exported Functions
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group1 Programming operation functions
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Programming operation functions
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ ARM GAS /tmp/cciaBHKP.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the erase operation is performed before the program one.
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note FLASH should be previously erased before new programming (only exception to this
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * is when 0x0000 is programmed)
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address.
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address Specifie the address to be programmed.
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data Specifie the data to be programmed
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint8_t index = 0U;
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint8_t nbiterations = 0U;
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Locked */
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_LOCK(&pFlash);
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check the parameters */
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(status == HAL_OK)
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 1U;
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit = 2*16-bit) at a specified address. */
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 2U;
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit = 4*16-bit) at a specified address. */
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** nbiterations = 4U;
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** for (index = 0U; index < nbiterations; index++)
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord((Address + (2U*index)), (uint16_t)(Data >> (16U*index)));
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */
+ ARM GAS /tmp/cciaBHKP.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE);
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* If the program operation is completed, disable the PG Bit */
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* In case of error, stop programming procedure */
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (status != HAL_OK)
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** break;
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Unlocked */
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status;
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program halfword, word or double word at a specified address with interrupt enabled.
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note The function HAL_FLASH_Unlock() should be called before to unlock the FLASH interface
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * The function HAL_FLASH_Lock() should be called after to lock the FLASH interface
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note If an erase and a program operations are requested simultaneously,
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * the erase operation is performed before the program one.
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param TypeProgram Indicate the way to program at a specified address.
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * This parameter can be a value of @ref FLASH_Type_Program
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address Specifie the address to be programmed.
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data Specifie the data to be programmed
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL_StatusTypeDef HAL Status
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Program_IT(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Locked */
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_LOCK(&pFlash);
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check the parameters */
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram));
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(Address));
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Enable End of FLASH Operation and Error source interrupts */
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = Address;
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = Data;
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(TypeProgram == FLASH_TYPEPROGRAM_HALFWORD)
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMHALFWORD;
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 1U;
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(TypeProgram == FLASH_TYPEPROGRAM_WORD)
+ ARM GAS /tmp/cciaBHKP.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMWORD;
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 2U;
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PROGRAMDOUBLEWORD;
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining = 4U;
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord(Address, (uint16_t)Data);
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status;
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief This function handles FLASH interrupt request.
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** void HAL_FLASH_IRQHandler(void)
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t addresstmp = 0U;
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH operation error flags */
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Return the faulty address */
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address;
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset address */
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Save the Error code */
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_SetErrorCode();
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH error interrupt user callback */
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_OperationErrorCallback(addresstmp);
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Stop the procedure ongoing */
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH End of Operation flag */
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process can continue only if no error detected */
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_PAGEERASE)
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Nb of pages to erased can be decreased */
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining--;
+ ARM GAS /tmp/cciaBHKP.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check if there are still pages to erase */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address;
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Indicate user which sector has been erased */
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Increment sector number*/
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address + FLASH_PAGE_SIZE;
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp;
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* If the erase operation is completed, disable the PER Bit */
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_PageErase(addresstmp);
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* No more pages to Erase, user callback can be called. */
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset Sector and stop Erase pages procedure */
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp = 0xFFFFFFFFU;
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(addresstmp);
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if(pFlash.ProcedureOnGoing == FLASH_PROC_MASSERASE)
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the MER Bit */
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* MassErase ended. Return the selected bank */
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(0);
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Stop Mass Erase procedure*/
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Nb of 16-bit data to program can be decreased */
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.DataRemaining--;
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check if there are still 16-bit data to program */
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.DataRemaining != 0U)
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Increment address to 16-bit */
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address += 2;
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address;
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Shift to have next 16-bit data */
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = (pFlash.Data >> 16U);
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the PG Bit */
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PG);
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ ARM GAS /tmp/cciaBHKP.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Program halfword (16-bit) at a specified address.*/
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_Program_HalfWord(addresstmp, (uint16_t)pFlash.Data);
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program ended. Return the selected address */
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMHALFWORD)
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address);
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else if (pFlash.ProcedureOnGoing == FLASH_PROC_PROGRAMWORD)
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 2U);
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_FLASH_EndOfOperationCallback(pFlash.Address - 6U);
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset Address and stop Program procedure */
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = 0xFFFFFFFFU;
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(pFlash.ProcedureOnGoing == FLASH_PROC_NONE)
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Operation is completed, disable the PG, PER and MER Bits */
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, (FLASH_CR_PG | FLASH_CR_PER | FLASH_CR_MER));
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Disable End of FLASH Operation and Error source interrupts */
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_DISABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Process Unlocked */
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_UNLOCK(&pFlash);
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH end of operation interrupt callback
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Mass Erase: No return value expected
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Pages Erase: Address of the page which has been erased
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * (if 0xFFFFFFFF, it means that all the selected pages have been erased)
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Program: Address which was selected for data program
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval none
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __weak void HAL_FLASH_EndOfOperationCallback(uint32_t ReturnValue)
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** UNUSED(ReturnValue);
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ ARM GAS /tmp/cciaBHKP.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** the HAL_FLASH_EndOfOperationCallback could be implemented in the user file
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief FLASH operation error interrupt callback
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param ReturnValue The value saved in this parameter depends on the ongoing procedure
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Mass Erase: No return value expected
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Pages Erase: Address of the page which returned an error
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * - Program: Address which was selected for data program
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval none
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __weak void HAL_FLASH_OperationErrorCallback(uint32_t ReturnValue)
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** UNUSED(ReturnValue);
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** the HAL_FLASH_OperationErrorCallback could be implemented in the user file
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group2 Peripheral Control functions
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief management functions
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ===============================================================================
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### Peripheral Control functions #####
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ===============================================================================
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..]
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This subsection provides a set of functions allowing to control the FLASH
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** memory operations.
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Unlock the FLASH control register access
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Unlock(void)
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Authorize the FLASH Registers access */
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY1);
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2);
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Verify Flash is unlocked */
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET)
+ ARM GAS /tmp/cciaBHKP.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** status = HAL_ERROR;
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return status;
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Locks the FLASH control register access
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_Lock(void)
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_LOCK);
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK;
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Unlock the FLASH Option Control Registers access.
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Unlock(void)
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Authorizes the Option Byte register programming */
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY1);
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** else
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR;
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK;
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Lock the FLASH Option Control Registers access.
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Lock(void)
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTWRE);
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK;
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Launch the option byte loading.
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @note This function will reset automatically the MCU.
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ ARM GAS /tmp/cciaBHKP.s page 11
+
+
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef HAL_FLASH_OB_Launch(void)
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_OBL_LAUNCH);
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for last operation to be completed */
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return(FLASH_WaitForLastOperation(FLASH_TIMEOUT_VALUE));
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @defgroup FLASH_Exported_Functions_Group3 Peripheral errors functions
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Peripheral errors functions
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @verbatim
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ===============================================================================
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ##### Peripheral Errors functions #####
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** ===============================================================================
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** [..]
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** This subsection permit to get in run-time errors of the FLASH peripheral.
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** @endverbatim
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Get the specific FLASH error flag.
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval FLASH_ErrorCode The returned value can be:
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @ref FLASH_Error_Codes
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t HAL_FLASH_GetError(void)
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return pFlash.ErrorCode;
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @}
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /** @addtogroup FLASH_Private_Functions
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @{
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Program a half-word (16-bit) at a specified address.
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Address specify the address to be programmed.
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Data specify the data to be programmed.
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data)
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ ARM GAS /tmp/cciaBHKP.s page 12
+
+
+ 25 .loc 1 604 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 .LVL0:
+ 30 0000 10B5 push {r4, lr}
+ 31 .LCFI0:
+ 32 .cfi_def_cfa_offset 8
+ 33 .cfi_offset 4, -8
+ 34 .cfi_offset 14, -4
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clean the error context */
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 35 .loc 1 606 0
+ 36 0002 054B ldr r3, .L2
+ 37 0004 0022 movs r2, #0
+ 38 0006 DA61 str r2, [r3, #28]
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Proceed to program the new data */
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** SET_BIT(FLASH->CR, FLASH_CR_PG);
+ 39 .loc 1 609 0
+ 40 0008 044A ldr r2, .L2+4
+ 41 000a 1369 ldr r3, [r2, #16]
+ 42 000c 0124 movs r4, #1
+ 43 000e 2343 orrs r3, r4
+ 44 0010 1361 str r3, [r2, #16]
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Write data in the address */
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** *(__IO uint16_t*)Address = Data;
+ 45 .loc 1 612 0
+ 46 0012 0180 strh r1, [r0]
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 47 .loc 1 613 0
+ 48 @ sp needed
+ 49 0014 10BD pop {r4, pc}
+ 50 .L3:
+ 51 0016 C046 .align 2
+ 52 .L2:
+ 53 0018 00000000 .word pFlash
+ 54 001c 00200240 .word 1073881088
+ 55 .cfi_endproc
+ 56 .LFE51:
+ 58 .section .text.FLASH_SetErrorCode,"ax",%progbits
+ 59 .align 1
+ 60 .syntax unified
+ 61 .code 16
+ 62 .thumb_func
+ 63 .fpu softvfp
+ 65 FLASH_SetErrorCode:
+ 66 .LFB53:
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Wait for a FLASH operation to complete.
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @param Timeout maximum flash operation timeout
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval HAL Status
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout)
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ ARM GAS /tmp/cciaBHKP.s page 13
+
+
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** Even if the FLASH operation fails, the BUSY flag will be reset and an error
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flag will be set */
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t tickstart = HAL_GetTick();
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY))
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (Timeout != HAL_MAX_DELAY)
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if((Timeout == 0U) || ((HAL_GetTick()-tickstart) > Timeout))
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_TIMEOUT;
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Check FLASH End of Operation flag */
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP))
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH End of Operation pending bit */
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP);
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) ||
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Save the error code*/
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** FLASH_SetErrorCode();
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR;
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* There is no error flag set */
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_OK;
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /**
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @brief Set the specific FLASH error flag.
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** * @retval None
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** */
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** static void FLASH_SetErrorCode(void)
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 67 .loc 1 664 0
+ 68 .cfi_startproc
+ 69 @ args = 0, pretend = 0, frame = 0
+ 70 @ frame_needed = 0, uses_anonymous_args = 0
+ 71 @ link register save eliminated.
+ 72 .LVL1:
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t flags = 0U;
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR))
+ 73 .loc 1 667 0
+ 74 0000 0C4B ldr r3, .L8
+ 75 0002 DB68 ldr r3, [r3, #12]
+ 76 0004 DB06 lsls r3, r3, #27
+ 77 0006 13D5 bpl .L7
+ ARM GAS /tmp/cciaBHKP.s page 14
+
+
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP;
+ 78 .loc 1 669 0
+ 79 0008 0B4A ldr r2, .L8+4
+ 80 000a D369 ldr r3, [r2, #28]
+ 81 000c 0221 movs r1, #2
+ 82 000e 0B43 orrs r3, r1
+ 83 0010 D361 str r3, [r2, #28]
+ 84 .LVL2:
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flags |= FLASH_FLAG_WRPERR;
+ 85 .loc 1 670 0
+ 86 0012 1023 movs r3, #16
+ 87 .LVL3:
+ 88 .L5:
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
+ 89 .loc 1 672 0
+ 90 0014 074A ldr r2, .L8
+ 91 0016 D268 ldr r2, [r2, #12]
+ 92 0018 5207 lsls r2, r2, #29
+ 93 001a 06D5 bpl .L6
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ErrorCode |= HAL_FLASH_ERROR_PROG;
+ 94 .loc 1 674 0
+ 95 001c 0649 ldr r1, .L8+4
+ 96 001e CA69 ldr r2, [r1, #28]
+ 97 0020 0120 movs r0, #1
+ 98 0022 0243 orrs r2, r0
+ 99 0024 CA61 str r2, [r1, #28]
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** flags |= FLASH_FLAG_PGERR;
+ 100 .loc 1 675 0
+ 101 0026 0422 movs r2, #4
+ 102 0028 1343 orrs r3, r2
+ 103 .LVL4:
+ 104 .L6:
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear FLASH error pending bits */
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_CLEAR_FLAG(flags);
+ 105 .loc 1 678 0
+ 106 002a 024A ldr r2, .L8
+ 107 002c D360 str r3, [r2, #12]
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 108 .loc 1 679 0
+ 109 @ sp needed
+ 110 002e 7047 bx lr
+ 111 .LVL5:
+ 112 .L7:
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 113 .loc 1 665 0
+ 114 0030 0023 movs r3, #0
+ 115 0032 EFE7 b .L5
+ 116 .L9:
+ 117 .align 2
+ 118 .L8:
+ 119 0034 00200240 .word 1073881088
+ 120 0038 00000000 .word pFlash
+ 121 .cfi_endproc
+ ARM GAS /tmp/cciaBHKP.s page 15
+
+
+ 122 .LFE53:
+ 124 .section .text.HAL_FLASH_Program_IT,"ax",%progbits
+ 125 .align 1
+ 126 .global HAL_FLASH_Program_IT
+ 127 .syntax unified
+ 128 .code 16
+ 129 .thumb_func
+ 130 .fpu softvfp
+ 132 HAL_FLASH_Program_IT:
+ 133 .LFB41:
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
+ 134 .loc 1 240 0
+ 135 .cfi_startproc
+ 136 @ args = 0, pretend = 0, frame = 0
+ 137 @ frame_needed = 0, uses_anonymous_args = 0
+ 138 .LVL6:
+ 139 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 140 .LCFI1:
+ 141 .cfi_def_cfa_offset 24
+ 142 .cfi_offset 3, -24
+ 143 .cfi_offset 4, -20
+ 144 .cfi_offset 5, -16
+ 145 .cfi_offset 6, -12
+ 146 .cfi_offset 7, -8
+ 147 .cfi_offset 14, -4
+ 148 0002 0C00 movs r4, r1
+ 149 .LVL7:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 150 .loc 1 244 0
+ 151 0004 1549 ldr r1, .L18
+ 152 .LVL8:
+ 153 0006 097E ldrb r1, [r1, #24]
+ 154 0008 0129 cmp r1, #1
+ 155 000a 25D0 beq .L15
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 156 .loc 1 244 0 is_stmt 0 discriminator 2
+ 157 000c 1349 ldr r1, .L18
+ 158 000e 0125 movs r5, #1
+ 159 0010 0D76 strb r5, [r1, #24]
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 160 .loc 1 251 0 is_stmt 1 discriminator 2
+ 161 0012 134E ldr r6, .L18+4
+ 162 0014 3769 ldr r7, [r6, #16]
+ 163 0016 A025 movs r5, #160
+ 164 0018 6D01 lsls r5, r5, #5
+ 165 001a 3D43 orrs r5, r7
+ 166 001c 3561 str r5, [r6, #16]
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Data = Data;
+ 167 .loc 1 253 0 discriminator 2
+ 168 001e 8C60 str r4, [r1, #8]
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 169 .loc 1 254 0 discriminator 2
+ 170 0020 0A61 str r2, [r1, #16]
+ 171 0022 4B61 str r3, [r1, #20]
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 172 .loc 1 256 0 discriminator 2
+ 173 0024 0128 cmp r0, #1
+ ARM GAS /tmp/cciaBHKP.s page 16
+
+
+ 174 0026 0CD0 beq .L16
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 175 .loc 1 262 0
+ 176 0028 0228 cmp r0, #2
+ 177 002a 0FD0 beq .L17
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program double word (64-bit : 4*16-bit) at a specified address. */
+ 178 .loc 1 270 0
+ 179 002c 0B49 ldr r1, .L18
+ 180 002e 0520 movs r0, #5
+ 181 .LVL9:
+ 182 0030 0870 strb r0, [r1]
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 183 .loc 1 272 0
+ 184 0032 0138 subs r0, r0, #1
+ 185 0034 4860 str r0, [r1, #4]
+ 186 .L13:
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 187 .loc 1 276 0
+ 188 0036 91B2 uxth r1, r2
+ 189 0038 2000 movs r0, r4
+ 190 003a FFF7FEFF bl FLASH_Program_HalfWord
+ 191 .LVL10:
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 192 .loc 1 278 0
+ 193 003e 0020 movs r0, #0
+ 194 .L11:
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 195 .loc 1 279 0
+ 196 @ sp needed
+ 197 .LVL11:
+ 198 0040 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 199 .LVL12:
+ 200 .L16:
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program halfword (16-bit) at a specified address. */
+ 201 .loc 1 258 0
+ 202 0042 0230 adds r0, r0, #2
+ 203 .LVL13:
+ 204 0044 0870 strb r0, [r1]
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 205 .loc 1 260 0
+ 206 0046 0238 subs r0, r0, #2
+ 207 .LVL14:
+ 208 0048 4860 str r0, [r1, #4]
+ 209 004a F4E7 b .L13
+ 210 .L17:
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Program word (32-bit : 2*16-bit) at a specified address. */
+ 211 .loc 1 264 0
+ 212 004c 0349 ldr r1, .L18
+ 213 004e 0230 adds r0, r0, #2
+ 214 .LVL15:
+ 215 0050 0870 strb r0, [r1]
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 216 .loc 1 266 0
+ 217 0052 0238 subs r0, r0, #2
+ 218 .LVL16:
+ 219 0054 4860 str r0, [r1, #4]
+ 220 0056 EEE7 b .L13
+ ARM GAS /tmp/cciaBHKP.s page 17
+
+
+ 221 .L15:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 222 .loc 1 244 0
+ 223 0058 0220 movs r0, #2
+ 224 .LVL17:
+ 225 005a F1E7 b .L11
+ 226 .L19:
+ 227 .align 2
+ 228 .L18:
+ 229 005c 00000000 .word pFlash
+ 230 0060 00200240 .word 1073881088
+ 231 .cfi_endproc
+ 232 .LFE41:
+ 234 .section .text.HAL_FLASH_EndOfOperationCallback,"ax",%progbits
+ 235 .align 1
+ 236 .weak HAL_FLASH_EndOfOperationCallback
+ 237 .syntax unified
+ 238 .code 16
+ 239 .thumb_func
+ 240 .fpu softvfp
+ 242 HAL_FLASH_EndOfOperationCallback:
+ 243 .LFB43:
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
+ 244 .loc 1 429 0
+ 245 .cfi_startproc
+ 246 @ args = 0, pretend = 0, frame = 0
+ 247 @ frame_needed = 0, uses_anonymous_args = 0
+ 248 @ link register save eliminated.
+ 249 .LVL18:
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 250 .loc 1 436 0
+ 251 @ sp needed
+ 252 0000 7047 bx lr
+ 253 .cfi_endproc
+ 254 .LFE43:
+ 256 .section .text.HAL_FLASH_OperationErrorCallback,"ax",%progbits
+ 257 .align 1
+ 258 .weak HAL_FLASH_OperationErrorCallback
+ 259 .syntax unified
+ 260 .code 16
+ 261 .thumb_func
+ 262 .fpu softvfp
+ 264 HAL_FLASH_OperationErrorCallback:
+ 265 .LFB44:
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Prevent unused argument(s) compilation warning */
+ 266 .loc 1 447 0
+ 267 .cfi_startproc
+ 268 @ args = 0, pretend = 0, frame = 0
+ 269 @ frame_needed = 0, uses_anonymous_args = 0
+ 270 @ link register save eliminated.
+ 271 .LVL19:
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 272 .loc 1 454 0
+ 273 @ sp needed
+ 274 0000 7047 bx lr
+ 275 .cfi_endproc
+ 276 .LFE44:
+ ARM GAS /tmp/cciaBHKP.s page 18
+
+
+ 278 .section .text.HAL_FLASH_IRQHandler,"ax",%progbits
+ 279 .align 1
+ 280 .global HAL_FLASH_IRQHandler
+ 281 .syntax unified
+ 282 .code 16
+ 283 .thumb_func
+ 284 .fpu softvfp
+ 286 HAL_FLASH_IRQHandler:
+ 287 .LFB42:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** uint32_t addresstmp = 0U;
+ 288 .loc 1 286 0
+ 289 .cfi_startproc
+ 290 @ args = 0, pretend = 0, frame = 0
+ 291 @ frame_needed = 0, uses_anonymous_args = 0
+ 292 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 293 .LCFI2:
+ 294 .cfi_def_cfa_offset 24
+ 295 .cfi_offset 3, -24
+ 296 .cfi_offset 4, -20
+ 297 .cfi_offset 5, -16
+ 298 .cfi_offset 6, -12
+ 299 .cfi_offset 7, -8
+ 300 .cfi_offset 14, -4
+ 301 .LVL20:
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 302 .loc 1 290 0
+ 303 0002 514B ldr r3, .L39
+ 304 0004 DB68 ldr r3, [r3, #12]
+ 305 0006 DB06 lsls r3, r3, #27
+ 306 0008 03D4 bmi .L23
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 307 .loc 1 290 0 is_stmt 0 discriminator 1
+ 308 000a 4F4B ldr r3, .L39
+ 309 000c DB68 ldr r3, [r3, #12]
+ 310 000e 5B07 lsls r3, r3, #29
+ 311 0010 0BD5 bpl .L24
+ 312 .L23:
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Reset address */
+ 313 .loc 1 293 0 is_stmt 1
+ 314 0012 4E4C ldr r4, .L39+4
+ 315 0014 A568 ldr r5, [r4, #8]
+ 316 .LVL21:
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 317 .loc 1 295 0
+ 318 0016 0123 movs r3, #1
+ 319 0018 5B42 rsbs r3, r3, #0
+ 320 001a A360 str r3, [r4, #8]
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 321 .loc 1 298 0
+ 322 001c FFF7FEFF bl FLASH_SetErrorCode
+ 323 .LVL22:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 324 .loc 1 301 0
+ 325 0020 2800 movs r0, r5
+ 326 0022 FFF7FEFF bl HAL_FLASH_OperationErrorCallback
+ 327 .LVL23:
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ ARM GAS /tmp/cciaBHKP.s page 19
+
+
+ 328 .loc 1 304 0
+ 329 0026 0023 movs r3, #0
+ 330 0028 2370 strb r3, [r4]
+ 331 .LVL24:
+ 332 .L24:
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 333 .loc 1 308 0
+ 334 002a 474B ldr r3, .L39
+ 335 002c DB68 ldr r3, [r3, #12]
+ 336 002e 9B06 lsls r3, r3, #26
+ 337 0030 28D5 bpl .L25
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 338 .loc 1 311 0
+ 339 0032 454B ldr r3, .L39
+ 340 0034 2022 movs r2, #32
+ 341 0036 DA60 str r2, [r3, #12]
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 342 .loc 1 314 0
+ 343 0038 444B ldr r3, .L39+4
+ 344 003a 1B78 ldrb r3, [r3]
+ 345 003c 002B cmp r3, #0
+ 346 003e 21D0 beq .L25
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 347 .loc 1 316 0
+ 348 0040 424B ldr r3, .L39+4
+ 349 0042 1B78 ldrb r3, [r3]
+ 350 0044 012B cmp r3, #1
+ 351 0046 2ED0 beq .L34
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 352 .loc 1 347 0
+ 353 0048 404B ldr r3, .L39+4
+ 354 004a 1B78 ldrb r3, [r3]
+ 355 004c 022B cmp r3, #2
+ 356 004e 4CD0 beq .L35
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 357 .loc 1 362 0
+ 358 0050 3E4B ldr r3, .L39+4
+ 359 0052 5A68 ldr r2, [r3, #4]
+ 360 0054 013A subs r2, r2, #1
+ 361 0056 5A60 str r2, [r3, #4]
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 362 .loc 1 365 0
+ 363 0058 5B68 ldr r3, [r3, #4]
+ 364 005a 002B cmp r3, #0
+ 365 005c 51D1 bne .L36
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 366 .loc 1 384 0
+ 367 005e 3B4B ldr r3, .L39+4
+ 368 0060 1B78 ldrb r3, [r3]
+ 369 0062 032B cmp r3, #3
+ 370 0064 65D0 beq .L37
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 371 .loc 1 388 0
+ 372 0066 394B ldr r3, .L39+4
+ 373 0068 1B78 ldrb r3, [r3]
+ 374 006a 042B cmp r3, #4
+ 375 006c 66D0 beq .L38
+ ARM GAS /tmp/cciaBHKP.s page 20
+
+
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 376 .loc 1 394 0
+ 377 006e 374B ldr r3, .L39+4
+ 378 0070 9868 ldr r0, [r3, #8]
+ 379 0072 0638 subs r0, r0, #6
+ 380 0074 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ 381 .LVL25:
+ 382 .L31:
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 383 .loc 1 398 0
+ 384 0078 344B ldr r3, .L39+4
+ 385 007a 0122 movs r2, #1
+ 386 007c 5242 rsbs r2, r2, #0
+ 387 007e 9A60 str r2, [r3, #8]
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 388 .loc 1 399 0
+ 389 0080 0022 movs r2, #0
+ 390 0082 1A70 strb r2, [r3]
+ 391 .L25:
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 392 .loc 1 406 0
+ 393 0084 314B ldr r3, .L39+4
+ 394 0086 1B78 ldrb r3, [r3]
+ 395 0088 002B cmp r3, #0
+ 396 008a 0BD1 bne .L22
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 397 .loc 1 409 0
+ 398 008c 2E4B ldr r3, .L39
+ 399 008e 1A69 ldr r2, [r3, #16]
+ 400 0090 0721 movs r1, #7
+ 401 0092 8A43 bics r2, r1
+ 402 0094 1A61 str r2, [r3, #16]
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 403 .loc 1 412 0
+ 404 0096 1A69 ldr r2, [r3, #16]
+ 405 0098 2D49 ldr r1, .L39+8
+ 406 009a 0A40 ands r2, r1
+ 407 009c 1A61 str r2, [r3, #16]
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 408 .loc 1 415 0
+ 409 009e 2B4B ldr r3, .L39+4
+ 410 00a0 0022 movs r2, #0
+ 411 00a2 1A76 strb r2, [r3, #24]
+ 412 .L22:
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 413 .loc 1 417 0
+ 414 @ sp needed
+ 415 00a4 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 416 .L34:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 417 .loc 1 319 0
+ 418 00a6 294B ldr r3, .L39+4
+ 419 00a8 5A68 ldr r2, [r3, #4]
+ 420 00aa 013A subs r2, r2, #1
+ 421 00ac 5A60 str r2, [r3, #4]
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 422 .loc 1 322 0
+ ARM GAS /tmp/cciaBHKP.s page 21
+
+
+ 423 00ae 5B68 ldr r3, [r3, #4]
+ 424 00b0 002B cmp r3, #0
+ 425 00b2 11D0 beq .L27
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /*Indicate user which sector has been erased */
+ 426 .loc 1 324 0
+ 427 00b4 254C ldr r4, .L39+4
+ 428 00b6 A068 ldr r0, [r4, #8]
+ 429 .LVL26:
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 430 .loc 1 326 0
+ 431 00b8 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ 432 .LVL27:
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.Address = addresstmp;
+ 433 .loc 1 329 0
+ 434 00bc A068 ldr r0, [r4, #8]
+ 435 00be 8023 movs r3, #128
+ 436 00c0 1B01 lsls r3, r3, #4
+ 437 00c2 9C46 mov ip, r3
+ 438 00c4 6044 add r0, r0, ip
+ 439 .LVL28:
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 440 .loc 1 330 0
+ 441 00c6 A060 str r0, [r4, #8]
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 442 .loc 1 333 0
+ 443 00c8 1F4A ldr r2, .L39
+ 444 00ca 1369 ldr r3, [r2, #16]
+ 445 00cc 0221 movs r1, #2
+ 446 00ce 8B43 bics r3, r1
+ 447 00d0 1361 str r3, [r2, #16]
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 448 .loc 1 335 0
+ 449 00d2 FFF7FEFF bl FLASH_PageErase
+ 450 .LVL29:
+ 451 00d6 D5E7 b .L25
+ 452 .L27:
+ 453 .LVL30:
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** pFlash.ProcedureOnGoing = FLASH_PROC_NONE;
+ 454 .loc 1 341 0
+ 455 00d8 1C4B ldr r3, .L39+4
+ 456 00da 0120 movs r0, #1
+ 457 00dc 4042 rsbs r0, r0, #0
+ 458 00de 9860 str r0, [r3, #8]
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* FLASH EOP interrupt user callback */
+ 459 .loc 1 342 0
+ 460 00e0 0022 movs r2, #0
+ 461 00e2 1A70 strb r2, [r3]
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 462 .loc 1 344 0
+ 463 00e4 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ 464 .LVL31:
+ 465 00e8 CCE7 b .L25
+ 466 .LVL32:
+ 467 .L35:
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 468 .loc 1 350 0
+ 469 00ea 174A ldr r2, .L39
+ ARM GAS /tmp/cciaBHKP.s page 22
+
+
+ 470 00ec 1369 ldr r3, [r2, #16]
+ 471 00ee 0421 movs r1, #4
+ 472 00f0 8B43 bics r3, r1
+ 473 00f2 1361 str r3, [r2, #16]
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 474 .loc 1 354 0
+ 475 00f4 0020 movs r0, #0
+ 476 00f6 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ 477 .LVL33:
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 478 .loc 1 357 0
+ 479 00fa 144B ldr r3, .L39+4
+ 480 00fc 0022 movs r2, #0
+ 481 00fe 1A70 strb r2, [r3]
+ 482 0100 C0E7 b .L25
+ 483 .L36:
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** addresstmp = pFlash.Address;
+ 484 .loc 1 368 0
+ 485 0102 124B ldr r3, .L39+4
+ 486 0104 9A68 ldr r2, [r3, #8]
+ 487 0106 0232 adds r2, r2, #2
+ 488 0108 9A60 str r2, [r3, #8]
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 489 .loc 1 369 0
+ 490 010a 9868 ldr r0, [r3, #8]
+ 491 .LVL34:
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 492 .loc 1 372 0
+ 493 010c 1E69 ldr r6, [r3, #16]
+ 494 010e 5F69 ldr r7, [r3, #20]
+ 495 0110 3A04 lsls r2, r7, #16
+ 496 0112 340C lsrs r4, r6, #16
+ 497 0114 1443 orrs r4, r2
+ 498 0116 3D0C lsrs r5, r7, #16
+ 499 0118 1C61 str r4, [r3, #16]
+ 500 011a 5D61 str r5, [r3, #20]
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 501 .loc 1 375 0
+ 502 011c 0A49 ldr r1, .L39
+ 503 011e 0A69 ldr r2, [r1, #16]
+ 504 0120 0124 movs r4, #1
+ 505 0122 A243 bics r2, r4
+ 506 0124 0A61 str r2, [r1, #16]
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 507 .loc 1 378 0
+ 508 0126 1A69 ldr r2, [r3, #16]
+ 509 0128 5B69 ldr r3, [r3, #20]
+ 510 012a 91B2 uxth r1, r2
+ 511 012c FFF7FEFF bl FLASH_Program_HalfWord
+ 512 .LVL35:
+ 513 0130 A8E7 b .L25
+ 514 .L37:
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 515 .loc 1 386 0
+ 516 0132 064B ldr r3, .L39+4
+ 517 0134 9868 ldr r0, [r3, #8]
+ 518 0136 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ ARM GAS /tmp/cciaBHKP.s page 23
+
+
+ 519 .LVL36:
+ 520 013a 9DE7 b .L31
+ 521 .L38:
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 522 .loc 1 390 0
+ 523 013c 034B ldr r3, .L39+4
+ 524 013e 9868 ldr r0, [r3, #8]
+ 525 0140 0238 subs r0, r0, #2
+ 526 0142 FFF7FEFF bl HAL_FLASH_EndOfOperationCallback
+ 527 .LVL37:
+ 528 0146 97E7 b .L31
+ 529 .L40:
+ 530 .align 2
+ 531 .L39:
+ 532 0148 00200240 .word 1073881088
+ 533 014c 00000000 .word pFlash
+ 534 0150 FFEBFFFF .word -5121
+ 535 .cfi_endproc
+ 536 .LFE42:
+ 538 .section .text.HAL_FLASH_Unlock,"ax",%progbits
+ 539 .align 1
+ 540 .global HAL_FLASH_Unlock
+ 541 .syntax unified
+ 542 .code 16
+ 543 .thumb_func
+ 544 .fpu softvfp
+ 546 HAL_FLASH_Unlock:
+ 547 .LFB45:
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_OK;
+ 548 .loc 1 480 0
+ 549 .cfi_startproc
+ 550 @ args = 0, pretend = 0, frame = 0
+ 551 @ frame_needed = 0, uses_anonymous_args = 0
+ 552 @ link register save eliminated.
+ 553 .LVL38:
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 554 .loc 1 483 0
+ 555 0000 084B ldr r3, .L46
+ 556 0002 1B69 ldr r3, [r3, #16]
+ 557 0004 1B06 lsls r3, r3, #24
+ 558 0006 0BD5 bpl .L43
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->KEYR, FLASH_KEY2);
+ 559 .loc 1 486 0
+ 560 0008 064B ldr r3, .L46
+ 561 000a 074A ldr r2, .L46+4
+ 562 000c 5A60 str r2, [r3, #4]
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 563 .loc 1 487 0
+ 564 000e 074A ldr r2, .L46+8
+ 565 0010 5A60 str r2, [r3, #4]
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 566 .loc 1 490 0
+ 567 0012 1B69 ldr r3, [r3, #16]
+ 568 0014 1B06 lsls r3, r3, #24
+ 569 0016 01D5 bpl .L45
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 570 .loc 1 492 0
+ ARM GAS /tmp/cciaBHKP.s page 24
+
+
+ 571 0018 0120 movs r0, #1
+ 572 001a 02E0 b .L42
+ 573 .L45:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 574 .loc 1 481 0
+ 575 001c 0020 movs r0, #0
+ 576 001e 00E0 b .L42
+ 577 .L43:
+ 578 0020 0020 movs r0, #0
+ 579 .L42:
+ 580 .LVL39:
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 581 .loc 1 497 0
+ 582 @ sp needed
+ 583 0022 7047 bx lr
+ 584 .L47:
+ 585 .align 2
+ 586 .L46:
+ 587 0024 00200240 .word 1073881088
+ 588 0028 23016745 .word 1164378403
+ 589 002c AB89EFCD .word -839939669
+ 590 .cfi_endproc
+ 591 .LFE45:
+ 593 .section .text.HAL_FLASH_Lock,"ax",%progbits
+ 594 .align 1
+ 595 .global HAL_FLASH_Lock
+ 596 .syntax unified
+ 597 .code 16
+ 598 .thumb_func
+ 599 .fpu softvfp
+ 601 HAL_FLASH_Lock:
+ 602 .LFB46:
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the LOCK Bit to lock the FLASH Registers access */
+ 603 .loc 1 504 0
+ 604 .cfi_startproc
+ 605 @ args = 0, pretend = 0, frame = 0
+ 606 @ frame_needed = 0, uses_anonymous_args = 0
+ 607 @ link register save eliminated.
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 608 .loc 1 506 0
+ 609 0000 034A ldr r2, .L49
+ 610 0002 1369 ldr r3, [r2, #16]
+ 611 0004 8021 movs r1, #128
+ 612 0006 0B43 orrs r3, r1
+ 613 0008 1361 str r3, [r2, #16]
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 614 .loc 1 509 0
+ 615 000a 0020 movs r0, #0
+ 616 @ sp needed
+ 617 000c 7047 bx lr
+ 618 .L50:
+ 619 000e C046 .align 2
+ 620 .L49:
+ 621 0010 00200240 .word 1073881088
+ 622 .cfi_endproc
+ 623 .LFE46:
+ 625 .section .text.HAL_FLASH_OB_Unlock,"ax",%progbits
+ ARM GAS /tmp/cciaBHKP.s page 25
+
+
+ 626 .align 1
+ 627 .global HAL_FLASH_OB_Unlock
+ 628 .syntax unified
+ 629 .code 16
+ 630 .thumb_func
+ 631 .fpu softvfp
+ 633 HAL_FLASH_OB_Unlock:
+ 634 .LFB47:
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** if (HAL_IS_BIT_CLR(FLASH->CR, FLASH_CR_OPTWRE))
+ 635 .loc 1 516 0
+ 636 .cfi_startproc
+ 637 @ args = 0, pretend = 0, frame = 0
+ 638 @ frame_needed = 0, uses_anonymous_args = 0
+ 639 @ link register save eliminated.
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 640 .loc 1 517 0
+ 641 0000 064B ldr r3, .L54
+ 642 0002 1B69 ldr r3, [r3, #16]
+ 643 0004 9B05 lsls r3, r3, #22
+ 644 0006 06D4 bmi .L53
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** WRITE_REG(FLASH->OPTKEYR, FLASH_OPTKEY2);
+ 645 .loc 1 520 0
+ 646 0008 044B ldr r3, .L54
+ 647 000a 054A ldr r2, .L54+4
+ 648 000c 9A60 str r2, [r3, #8]
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 649 .loc 1 521 0
+ 650 000e 054A ldr r2, .L54+8
+ 651 0010 9A60 str r2, [r3, #8]
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 652 .loc 1 528 0
+ 653 0012 0020 movs r0, #0
+ 654 .L52:
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 655 .loc 1 529 0
+ 656 @ sp needed
+ 657 0014 7047 bx lr
+ 658 .L53:
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 659 .loc 1 525 0
+ 660 0016 0120 movs r0, #1
+ 661 0018 FCE7 b .L52
+ 662 .L55:
+ 663 001a C046 .align 2
+ 664 .L54:
+ 665 001c 00200240 .word 1073881088
+ 666 0020 23016745 .word 1164378403
+ 667 0024 AB89EFCD .word -839939669
+ 668 .cfi_endproc
+ 669 .LFE47:
+ 671 .section .text.HAL_FLASH_OB_Lock,"ax",%progbits
+ 672 .align 1
+ 673 .global HAL_FLASH_OB_Lock
+ 674 .syntax unified
+ 675 .code 16
+ 676 .thumb_func
+ 677 .fpu softvfp
+ ARM GAS /tmp/cciaBHKP.s page 26
+
+
+ 679 HAL_FLASH_OB_Lock:
+ 680 .LFB48:
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Clear the OPTWRE Bit to lock the FLASH Option Byte Registers access */
+ 681 .loc 1 536 0
+ 682 .cfi_startproc
+ 683 @ args = 0, pretend = 0, frame = 0
+ 684 @ frame_needed = 0, uses_anonymous_args = 0
+ 685 @ link register save eliminated.
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 686 .loc 1 538 0
+ 687 0000 034A ldr r2, .L57
+ 688 0002 1369 ldr r3, [r2, #16]
+ 689 0004 0349 ldr r1, .L57+4
+ 690 0006 0B40 ands r3, r1
+ 691 0008 1361 str r3, [r2, #16]
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 692 .loc 1 541 0
+ 693 000a 0020 movs r0, #0
+ 694 @ sp needed
+ 695 000c 7047 bx lr
+ 696 .L58:
+ 697 000e C046 .align 2
+ 698 .L57:
+ 699 0010 00200240 .word 1073881088
+ 700 0014 FFFDFFFF .word -513
+ 701 .cfi_endproc
+ 702 .LFE48:
+ 704 .section .text.HAL_FLASH_GetError,"ax",%progbits
+ 705 .align 1
+ 706 .global HAL_FLASH_GetError
+ 707 .syntax unified
+ 708 .code 16
+ 709 .thumb_func
+ 710 .fpu softvfp
+ 712 HAL_FLASH_GetError:
+ 713 .LFB50:
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return pFlash.ErrorCode;
+ 714 .loc 1 581 0
+ 715 .cfi_startproc
+ 716 @ args = 0, pretend = 0, frame = 0
+ 717 @ frame_needed = 0, uses_anonymous_args = 0
+ 718 @ link register save eliminated.
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 719 .loc 1 582 0
+ 720 0000 014B ldr r3, .L60
+ 721 0002 D869 ldr r0, [r3, #28]
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 722 .loc 1 583 0
+ 723 @ sp needed
+ 724 0004 7047 bx lr
+ 725 .L61:
+ 726 0006 C046 .align 2
+ 727 .L60:
+ 728 0008 00000000 .word pFlash
+ 729 .cfi_endproc
+ 730 .LFE50:
+ 732 .section .text.FLASH_WaitForLastOperation,"ax",%progbits
+ ARM GAS /tmp/cciaBHKP.s page 27
+
+
+ 733 .align 1
+ 734 .global FLASH_WaitForLastOperation
+ 735 .syntax unified
+ 736 .code 16
+ 737 .thumb_func
+ 738 .fpu softvfp
+ 740 FLASH_WaitForLastOperation:
+ 741 .LFB52:
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset.
+ 742 .loc 1 621 0
+ 743 .cfi_startproc
+ 744 @ args = 0, pretend = 0, frame = 0
+ 745 @ frame_needed = 0, uses_anonymous_args = 0
+ 746 .LVL40:
+ 747 0000 70B5 push {r4, r5, r6, lr}
+ 748 .LCFI3:
+ 749 .cfi_def_cfa_offset 16
+ 750 .cfi_offset 4, -16
+ 751 .cfi_offset 5, -12
+ 752 .cfi_offset 6, -8
+ 753 .cfi_offset 14, -4
+ 754 0002 0400 movs r4, r0
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 755 .loc 1 626 0
+ 756 0004 FFF7FEFF bl HAL_GetTick
+ 757 .LVL41:
+ 758 0008 0500 movs r5, r0
+ 759 .LVL42:
+ 760 .L64:
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 761 .loc 1 628 0
+ 762 000a 134B ldr r3, .L73
+ 763 000c DB68 ldr r3, [r3, #12]
+ 764 000e DB07 lsls r3, r3, #31
+ 765 0010 0AD5 bpl .L72
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 766 .loc 1 630 0
+ 767 0012 631C adds r3, r4, #1
+ 768 0014 F9D0 beq .L64
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 769 .loc 1 632 0
+ 770 0016 002C cmp r4, #0
+ 771 0018 19D0 beq .L69
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 772 .loc 1 632 0 is_stmt 0 discriminator 1
+ 773 001a FFF7FEFF bl HAL_GetTick
+ 774 .LVL43:
+ 775 001e 401B subs r0, r0, r5
+ 776 0020 A042 cmp r0, r4
+ 777 0022 F2D9 bls .L64
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 778 .loc 1 634 0 is_stmt 1
+ 779 0024 0320 movs r0, #3
+ 780 0026 11E0 b .L65
+ 781 .L72:
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 782 .loc 1 640 0
+ ARM GAS /tmp/cciaBHKP.s page 28
+
+
+ 783 0028 0B4B ldr r3, .L73
+ 784 002a DB68 ldr r3, [r3, #12]
+ 785 002c 9B06 lsls r3, r3, #26
+ 786 002e 02D5 bpl .L67
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 787 .loc 1 643 0
+ 788 0030 094B ldr r3, .L73
+ 789 0032 2022 movs r2, #32
+ 790 0034 DA60 str r2, [r3, #12]
+ 791 .L67:
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
+ 792 .loc 1 646 0
+ 793 0036 084B ldr r3, .L73
+ 794 0038 DB68 ldr r3, [r3, #12]
+ 795 003a DB06 lsls r3, r3, #27
+ 796 003c 03D4 bmi .L68
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 797 .loc 1 647 0 discriminator 1
+ 798 003e 064B ldr r3, .L73
+ 799 0040 DB68 ldr r3, [r3, #12]
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** __HAL_FLASH_GET_FLAG(FLASH_FLAG_PGERR))
+ 800 .loc 1 646 0 discriminator 1
+ 801 0042 5B07 lsls r3, r3, #29
+ 802 0044 05D5 bpl .L71
+ 803 .L68:
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** return HAL_ERROR;
+ 804 .loc 1 650 0
+ 805 0046 FFF7FEFF bl FLASH_SetErrorCode
+ 806 .LVL44:
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 807 .loc 1 651 0
+ 808 004a 0120 movs r0, #1
+ 809 .L65:
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 810 .loc 1 656 0
+ 811 @ sp needed
+ 812 .LVL45:
+ 813 .LVL46:
+ 814 004c 70BD pop {r4, r5, r6, pc}
+ 815 .LVL47:
+ 816 .L69:
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 817 .loc 1 634 0
+ 818 004e 0320 movs r0, #3
+ 819 0050 FCE7 b .L65
+ 820 .L71:
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 821 .loc 1 655 0
+ 822 0052 0020 movs r0, #0
+ 823 0054 FAE7 b .L65
+ 824 .L74:
+ 825 0056 C046 .align 2
+ 826 .L73:
+ 827 0058 00200240 .word 1073881088
+ 828 .cfi_endproc
+ 829 .LFE52:
+ 831 .section .text.HAL_FLASH_Program,"ax",%progbits
+ ARM GAS /tmp/cciaBHKP.s page 29
+
+
+ 832 .align 1
+ 833 .global HAL_FLASH_Program
+ 834 .syntax unified
+ 835 .code 16
+ 836 .thumb_func
+ 837 .fpu softvfp
+ 839 HAL_FLASH_Program:
+ 840 .LFB40:
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 841 .loc 1 168 0
+ 842 .cfi_startproc
+ 843 @ args = 0, pretend = 0, frame = 0
+ 844 @ frame_needed = 0, uses_anonymous_args = 0
+ 845 .LVL48:
+ 846 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 847 .LCFI4:
+ 848 .cfi_def_cfa_offset 20
+ 849 .cfi_offset 4, -20
+ 850 .cfi_offset 5, -16
+ 851 .cfi_offset 6, -12
+ 852 .cfi_offset 7, -8
+ 853 .cfi_offset 14, -4
+ 854 0002 C646 mov lr, r8
+ 855 0004 00B5 push {lr}
+ 856 .LCFI5:
+ 857 .cfi_def_cfa_offset 24
+ 858 .cfi_offset 8, -24
+ 859 0006 0400 movs r4, r0
+ 860 0008 0D00 movs r5, r1
+ 861 000a 9046 mov r8, r2
+ 862 000c 1E00 movs r6, r3
+ 863 .LVL49:
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 864 .loc 1 174 0
+ 865 000e 214B ldr r3, .L87
+ 866 0010 1B7E ldrb r3, [r3, #24]
+ 867 0012 012B cmp r3, #1
+ 868 0014 3BD0 beq .L83
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 869 .loc 1 174 0 is_stmt 0 discriminator 2
+ 870 0016 1F4B ldr r3, .L87
+ 871 0018 0122 movs r2, #1
+ 872 .LVL50:
+ 873 001a 1A76 strb r2, [r3, #24]
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 874 .loc 1 181 0 is_stmt 1 discriminator 2
+ 875 001c 1E48 ldr r0, .L87+4
+ 876 .LVL51:
+ 877 001e FFF7FEFF bl FLASH_WaitForLastOperation
+ 878 .LVL52:
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 879 .loc 1 183 0 discriminator 2
+ 880 0022 0028 cmp r0, #0
+ 881 0024 2DD1 bne .L77
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 882 .loc 1 185 0
+ 883 0026 012C cmp r4, #1
+ ARM GAS /tmp/cciaBHKP.s page 30
+
+
+ 884 0028 06D0 beq .L84
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 885 .loc 1 190 0
+ 886 002a 022C cmp r4, #2
+ 887 002c 02D0 beq .L86
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 888 .loc 1 198 0
+ 889 002e 0427 movs r7, #4
+ 890 .L78:
+ 891 .LVL53:
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 892 .loc 1 201 0
+ 893 0030 0024 movs r4, #0
+ 894 .LVL54:
+ 895 0032 1BE0 b .L79
+ 896 .LVL55:
+ 897 .L86:
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 898 .loc 1 193 0
+ 899 0034 0227 movs r7, #2
+ 900 0036 FBE7 b .L78
+ 901 .L84:
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 902 .loc 1 188 0
+ 903 0038 0127 movs r7, #1
+ 904 003a F9E7 b .L78
+ 905 .LVL56:
+ 906 .L80:
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 907 .loc 1 203 0
+ 908 003c 2022 movs r2, #32
+ 909 003e D21A subs r2, r2, r3
+ 910 0040 3100 movs r1, r6
+ 911 0042 9140 lsls r1, r1, r2
+ 912 0044 0A00 movs r2, r1
+ 913 0046 4146 mov r1, r8
+ 914 0048 D940 lsrs r1, r1, r3
+ 915 004a 1143 orrs r1, r2
+ 916 .L81:
+ 917 004c 89B2 uxth r1, r1
+ 918 004e 4019 adds r0, r0, r5
+ 919 0050 FFF7FEFF bl FLASH_Program_HalfWord
+ 920 .LVL57:
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 921 .loc 1 206 0
+ 922 0054 1048 ldr r0, .L87+4
+ 923 0056 FFF7FEFF bl FLASH_WaitForLastOperation
+ 924 .LVL58:
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* In case of error, stop programming procedure */
+ 925 .loc 1 209 0
+ 926 005a 104A ldr r2, .L87+8
+ 927 005c 1369 ldr r3, [r2, #16]
+ 928 005e 0121 movs r1, #1
+ 929 0060 8B43 bics r3, r1
+ 930 0062 1361 str r3, [r2, #16]
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 931 .loc 1 211 0
+ ARM GAS /tmp/cciaBHKP.s page 31
+
+
+ 932 0064 0028 cmp r0, #0
+ 933 0066 0CD1 bne .L77
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 934 .loc 1 201 0 discriminator 2
+ 935 0068 0134 adds r4, r4, #1
+ 936 .LVL59:
+ 937 006a E4B2 uxtb r4, r4
+ 938 .LVL60:
+ 939 .L79:
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** {
+ 940 .loc 1 201 0 is_stmt 0 discriminator 1
+ 941 006c BC42 cmp r4, r7
+ 942 006e 08D2 bcs .L77
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 943 .loc 1 203 0 is_stmt 1
+ 944 0070 6000 lsls r0, r4, #1
+ 945 .LVL61:
+ 946 0072 2301 lsls r3, r4, #4
+ 947 0074 2022 movs r2, #32
+ 948 0076 5242 rsbs r2, r2, #0
+ 949 0078 9A18 adds r2, r3, r2
+ 950 007a DFD4 bmi .L80
+ 951 007c 3100 movs r1, r6
+ 952 007e D140 lsrs r1, r1, r2
+ 953 0080 E4E7 b .L81
+ 954 .LVL62:
+ 955 .L77:
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 956 .loc 1 219 0
+ 957 0082 044B ldr r3, .L87
+ 958 0084 0022 movs r2, #0
+ 959 0086 1A76 strb r2, [r3, #24]
+ 960 .LVL63:
+ 961 .L76:
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 962 .loc 1 222 0
+ 963 @ sp needed
+ 964 .LVL64:
+ 965 0088 04BC pop {r2}
+ 966 008a 9046 mov r8, r2
+ 967 008c F0BD pop {r4, r5, r6, r7, pc}
+ 968 .LVL65:
+ 969 .L83:
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 970 .loc 1 174 0
+ 971 008e 0220 movs r0, #2
+ 972 .LVL66:
+ 973 0090 FAE7 b .L76
+ 974 .L88:
+ 975 0092 C046 .align 2
+ 976 .L87:
+ 977 0094 00000000 .word pFlash
+ 978 0098 50C30000 .word 50000
+ 979 009c 00200240 .word 1073881088
+ 980 .cfi_endproc
+ 981 .LFE40:
+ 983 .section .text.HAL_FLASH_OB_Launch,"ax",%progbits
+ ARM GAS /tmp/cciaBHKP.s page 32
+
+
+ 984 .align 1
+ 985 .global HAL_FLASH_OB_Launch
+ 986 .syntax unified
+ 987 .code 16
+ 988 .thumb_func
+ 989 .fpu softvfp
+ 991 HAL_FLASH_OB_Launch:
+ 992 .LFB49:
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** /* Set the OBL_Launch bit to launch the option byte loading */
+ 993 .loc 1 549 0
+ 994 .cfi_startproc
+ 995 @ args = 0, pretend = 0, frame = 0
+ 996 @ frame_needed = 0, uses_anonymous_args = 0
+ 997 0000 10B5 push {r4, lr}
+ 998 .LCFI6:
+ 999 .cfi_def_cfa_offset 8
+ 1000 .cfi_offset 4, -8
+ 1001 .cfi_offset 14, -4
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 1002 .loc 1 551 0
+ 1003 0002 054A ldr r2, .L90
+ 1004 0004 1169 ldr r1, [r2, #16]
+ 1005 0006 8023 movs r3, #128
+ 1006 0008 9B01 lsls r3, r3, #6
+ 1007 000a 0B43 orrs r3, r1
+ 1008 000c 1361 str r3, [r2, #16]
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c **** }
+ 1009 .loc 1 554 0
+ 1010 000e 0348 ldr r0, .L90+4
+ 1011 0010 FFF7FEFF bl FLASH_WaitForLastOperation
+ 1012 .LVL67:
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash.c ****
+ 1013 .loc 1 555 0
+ 1014 @ sp needed
+ 1015 0014 10BD pop {r4, pc}
+ 1016 .L91:
+ 1017 0016 C046 .align 2
+ 1018 .L90:
+ 1019 0018 00200240 .word 1073881088
+ 1020 001c 50C30000 .word 50000
+ 1021 .cfi_endproc
+ 1022 .LFE49:
+ 1024 .comm pFlash,32,8
+ 1025 .text
+ 1026 .Letext0:
+ 1027 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1028 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 1029 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1030 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 1031 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 1032 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 1033 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h"
+ 1034 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/cciaBHKP.s page 33
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_flash.c
+ /tmp/cciaBHKP.s:16 .text.FLASH_Program_HalfWord:0000000000000000 $t
+ /tmp/cciaBHKP.s:22 .text.FLASH_Program_HalfWord:0000000000000000 FLASH_Program_HalfWord
+ /tmp/cciaBHKP.s:53 .text.FLASH_Program_HalfWord:0000000000000018 $d
+ *COM*:0000000000000020 pFlash
+ /tmp/cciaBHKP.s:59 .text.FLASH_SetErrorCode:0000000000000000 $t
+ /tmp/cciaBHKP.s:65 .text.FLASH_SetErrorCode:0000000000000000 FLASH_SetErrorCode
+ /tmp/cciaBHKP.s:119 .text.FLASH_SetErrorCode:0000000000000034 $d
+ /tmp/cciaBHKP.s:125 .text.HAL_FLASH_Program_IT:0000000000000000 $t
+ /tmp/cciaBHKP.s:132 .text.HAL_FLASH_Program_IT:0000000000000000 HAL_FLASH_Program_IT
+ /tmp/cciaBHKP.s:229 .text.HAL_FLASH_Program_IT:000000000000005c $d
+ /tmp/cciaBHKP.s:235 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 $t
+ /tmp/cciaBHKP.s:242 .text.HAL_FLASH_EndOfOperationCallback:0000000000000000 HAL_FLASH_EndOfOperationCallback
+ /tmp/cciaBHKP.s:257 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 $t
+ /tmp/cciaBHKP.s:264 .text.HAL_FLASH_OperationErrorCallback:0000000000000000 HAL_FLASH_OperationErrorCallback
+ /tmp/cciaBHKP.s:279 .text.HAL_FLASH_IRQHandler:0000000000000000 $t
+ /tmp/cciaBHKP.s:286 .text.HAL_FLASH_IRQHandler:0000000000000000 HAL_FLASH_IRQHandler
+ /tmp/cciaBHKP.s:532 .text.HAL_FLASH_IRQHandler:0000000000000148 $d
+ /tmp/cciaBHKP.s:539 .text.HAL_FLASH_Unlock:0000000000000000 $t
+ /tmp/cciaBHKP.s:546 .text.HAL_FLASH_Unlock:0000000000000000 HAL_FLASH_Unlock
+ /tmp/cciaBHKP.s:587 .text.HAL_FLASH_Unlock:0000000000000024 $d
+ /tmp/cciaBHKP.s:594 .text.HAL_FLASH_Lock:0000000000000000 $t
+ /tmp/cciaBHKP.s:601 .text.HAL_FLASH_Lock:0000000000000000 HAL_FLASH_Lock
+ /tmp/cciaBHKP.s:621 .text.HAL_FLASH_Lock:0000000000000010 $d
+ /tmp/cciaBHKP.s:626 .text.HAL_FLASH_OB_Unlock:0000000000000000 $t
+ /tmp/cciaBHKP.s:633 .text.HAL_FLASH_OB_Unlock:0000000000000000 HAL_FLASH_OB_Unlock
+ /tmp/cciaBHKP.s:665 .text.HAL_FLASH_OB_Unlock:000000000000001c $d
+ /tmp/cciaBHKP.s:672 .text.HAL_FLASH_OB_Lock:0000000000000000 $t
+ /tmp/cciaBHKP.s:679 .text.HAL_FLASH_OB_Lock:0000000000000000 HAL_FLASH_OB_Lock
+ /tmp/cciaBHKP.s:699 .text.HAL_FLASH_OB_Lock:0000000000000010 $d
+ /tmp/cciaBHKP.s:705 .text.HAL_FLASH_GetError:0000000000000000 $t
+ /tmp/cciaBHKP.s:712 .text.HAL_FLASH_GetError:0000000000000000 HAL_FLASH_GetError
+ /tmp/cciaBHKP.s:728 .text.HAL_FLASH_GetError:0000000000000008 $d
+ /tmp/cciaBHKP.s:733 .text.FLASH_WaitForLastOperation:0000000000000000 $t
+ /tmp/cciaBHKP.s:740 .text.FLASH_WaitForLastOperation:0000000000000000 FLASH_WaitForLastOperation
+ /tmp/cciaBHKP.s:827 .text.FLASH_WaitForLastOperation:0000000000000058 $d
+ /tmp/cciaBHKP.s:832 .text.HAL_FLASH_Program:0000000000000000 $t
+ /tmp/cciaBHKP.s:839 .text.HAL_FLASH_Program:0000000000000000 HAL_FLASH_Program
+ /tmp/cciaBHKP.s:977 .text.HAL_FLASH_Program:0000000000000094 $d
+ /tmp/cciaBHKP.s:984 .text.HAL_FLASH_OB_Launch:0000000000000000 $t
+ /tmp/cciaBHKP.s:991 .text.HAL_FLASH_OB_Launch:0000000000000000 HAL_FLASH_OB_Launch
+ /tmp/cciaBHKP.s:1019 .text.HAL_FLASH_OB_Launch:0000000000000018 $d
+
+UNDEFINED SYMBOLS
+FLASH_PageErase
+HAL_GetTick
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash.o b/fw/midi-dials/build/stm32f0xx_hal_flash.o
new file mode 100644
index 0000000..e7a6e29
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash_ex.d b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.d
new file mode 100644
index 0000000..00a2763
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_flash_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.lst
new file mode 100644
index 0000000..a53c7a1
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.lst
@@ -0,0 +1,2711 @@
+ARM GAS /tmp/ccTbyH39.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 "stm32f0xx_hal_flash_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.FLASH_MassErase,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 FLASH_MassErase:
+ 23 .LFB46:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @file stm32f0xx_hal_flash_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Extended FLASH HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This file provides firmware functions to manage the following
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * functionalities of the FLASH peripheral:
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended Initialization/de-initialization functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended I/O operation functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * + Extended Peripheral Control functions
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### Flash peripheral extended features #####
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### How to use this driver #####
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] This driver provides functions to configure and program the FLASH memory
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** of all STM32F0xxx devices. It includes
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Set/Reset the write protection
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Program the user Option Bytes
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (++) Get the Read protection Level
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ******************************************************************************
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @attention
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * All rights reserved.</center></h2>
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ ARM GAS /tmp/ccTbyH39.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * License. You may obtain a copy of the License at:
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ******************************************************************************
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Includes ------------------------------------------------------------------*/
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #include "stm32f0xx_hal.h"
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #ifdef HAL_FLASH_MODULE_ENABLED
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Variables
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Variables used for Erase pages under interruption*/
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** extern FLASH_ProcessTypeDef pFlash;
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx FLASHEx
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief FLASH HAL Extension module driver
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private typedef -----------------------------------------------------------*/
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private define ------------------------------------------------------------*/
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Constants FLASHEx Private Constants
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_IWDGSW_BIT 8U
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA0_BIT 16U
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #define FLASH_POSITION_OB_USERDATA1_BIT 24U
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private macro -------------------------------------------------------------*/
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Macros FLASHEx Private Macros
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private variables ---------------------------------------------------------*/
+ ARM GAS /tmp/ccTbyH39.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Private function prototypes -----------------------------------------------*/
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Private_Functions FLASHEx Private Functions
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase operations */
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static void FLASH_MassErase(void);
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress);
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Option bytes control */
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage);
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage);
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel);
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig);
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data);
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void);
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void);
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void);
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Exported functions ---------------------------------------------------------*/
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions FLASHEx Exported Functions
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group1 FLASHEx Memory Erasing functions
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief FLASH Memory Erasing functions
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### FLASH Erasing Programming functions #####
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] The FLASH Memory Erasing functions, includes the following functions:
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase: return only when erase has been done
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (+) @ref HAL_FLASHEx_Erase_IT: end of erase is done when @ref HAL_FLASH_EndOfOperationCallback
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** is called with parameter 0xFFFFFFFF
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..] Any operation of erase should follow these steps:
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Unlock() function to enable the flash control register and
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** program memory access.
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the desired function to erase page.
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (#) Call the @ref HAL_FLASH_Lock() to disable the flash program memory access
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** (recommended to protect the FLASH memory against possible unwanted operation).
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * must be called before.
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
+ ARM GAS /tmp/ccTbyH39.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param[in] pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param[out] PageError pointer to variable that
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information on faulty page in case of error
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (0xFFFFFFFF means that all the pages have been correctly erased)
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U;
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Mass Erase requested for Bank1 */
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Mass erase to be done*/
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase();
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the MER Bit */
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_MER);
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Page Erase is requested */
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Page Erase requested on address located on bank1 */
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE) == HAL_OK)
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Initialization of PageError variable*/
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *PageError = 0xFFFFFFFFU;
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase page by page to be done*/
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** for(address = pEraseInit->PageAddress;
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_PageErase(address);
+ ARM GAS /tmp/ccTbyH39.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the PER Bit */
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_PER);
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* In case of error, stop erase procedure and return the faulty address */
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *PageError = address;
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** break;
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Perform a mass erase or erase the specified FLASH memory pages with interrupt enabled
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note To correctly run this function, the @ref HAL_FLASH_Unlock() function
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * must be called before.
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Call the @ref HAL_FLASH_Lock() to disable the flash memory access
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (recommended to protect the FLASH memory against possible unwanted operation)
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pEraseInit pointer to an FLASH_EraseInitTypeDef structure that
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the erasing.
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_Erase_IT(FLASH_EraseInitTypeDef *pEraseInit)
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If procedure already ongoing, reject the next one */
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pFlash.ProcedureOnGoing != FLASH_PROC_NONE)
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return HAL_ERROR;
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase));
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable End of FLASH Operation and Error source interrupts */
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_FLASH_ENABLE_IT(FLASH_IT_EOP | FLASH_IT_ERR);
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE)
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Mass erase to be done*/
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_MASSERASE;
+ ARM GAS /tmp/ccTbyH39.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase();
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Erase by page to be done*/
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_PROGRAM_ADDRESS(pEraseInit->PageAddress));
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_FLASH_NB_PAGES(pEraseInit->PageAddress, pEraseInit->NbPages));
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ProcedureOnGoing = FLASH_PROC_PAGEERASE;
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Erase 1st page and wait for IT*/
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_PageErase(pEraseInit->PageAddress);
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @defgroup FLASHEx_Exported_Functions_Group2 Option Bytes Programming functions
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Option Bytes Programming functions
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @verbatim
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ##### Option Bytes Programming functions #####
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** ==============================================================================
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** [..]
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** This subsection provides a set of functions allowing to control the FLASH
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** option bytes operations.
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** @endverbatim
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Erases the FLASH option bytes.
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note This functions erases all option bytes except the Read protection (RDP).
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur)
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBErase(void)
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get the actual read protection Option Byte value */
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** rdptmp = FLASH_OB_GetRDP();
+ ARM GAS /tmp/ccTbyH39.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Restore the last read protection Option Byte value */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(rdptmp);
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the erase status */
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Program option bytes
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur)
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the programming.
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL_StatusTypeDef HAL Status
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef HAL_FLASHEx_OBProgram(FLASH_OBProgramInitTypeDef *pOBInit)
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Locked */
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_LOCK(&pFlash);
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OPTIONBYTE(pOBInit->OptionType));
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Write protection configuration */
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_WRP) == OPTIONBYTE_WRP)
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_WRPSTATE(pOBInit->WRPState));
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (pOBInit->WRPState == OB_WRPSTATE_ENABLE)
+ ARM GAS /tmp/ccTbyH39.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable of Write protection on the selected page */
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_EnableWRP(pOBInit->WRPPage);
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Disable of Write protection on the selected page */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_DisableWRP(pOBInit->WRPPage);
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Read protection configuration */
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_RDP) == OPTIONBYTE_RDP)
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_RDP_LevelConfig(pOBInit->RDPLevel);
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* USER configuration */
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_USER) == OPTIONBYTE_USER)
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_UserConfig(pOBInit->USERConfig);
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* DATA configuration*/
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((pOBInit->OptionType & OPTIONBYTE_DATA) == OPTIONBYTE_DATA)
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_OB_ProgramData(pOBInit->DATAAddress, pOBInit->DATAData);
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Process Unlocked */
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** __HAL_UNLOCK(&pFlash);
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ ARM GAS /tmp/ccTbyH39.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Get the Option byte configuration
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param pOBInit pointer to an FLASH_OBInitStruct structure that
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * contains the configuration information for the programming.
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void HAL_FLASHEx_OBGetConfig(FLASH_OBProgramInitTypeDef *pOBInit)
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get WRP*/
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->WRPPage = FLASH_OB_GetWRP();
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get RDP Level*/
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->RDPLevel = FLASH_OB_GetRDP();
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /*Get USER*/
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->USERConfig = FLASH_OB_GetUser();
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Get the Option byte user data
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param DATAAdress Address of the option byte DATA
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values:
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA0
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_DATA_ADDRESS_DATA1
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval Value programmed in USER data
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t HAL_FLASHEx_OBGetUserData(uint32_t DATAAdress)
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t value = 0U;
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (DATAAdress == OB_DATA_ADDRESS_DATA0)
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data0 */
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA0) >> FLASH_POSITION_OB_USERDATA0_BIT;
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get value programmed in OB USER Data1 */
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** value = READ_BIT(FLASH->OBR, FLASH_OBR_DATA1) >> FLASH_POSITION_OB_USERDATA1_BIT;
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return value;
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ ARM GAS /tmp/ccTbyH39.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASHEx_Private_Functions
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Full erase of FLASH memory Bank
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static void FLASH_MassErase(void)
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 25 .loc 1 501 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 @ link register save eliminated.
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 30 .loc 1 503 0
+ 31 0000 064B ldr r3, .L2
+ 32 0002 0022 movs r2, #0
+ 33 0004 DA61 str r2, [r3, #28]
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Only bank1 will be erased*/
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_MER);
+ 34 .loc 1 506 0
+ 35 0006 064B ldr r3, .L2+4
+ 36 0008 1A69 ldr r2, [r3, #16]
+ 37 000a 0421 movs r1, #4
+ 38 000c 0A43 orrs r2, r1
+ 39 000e 1A61 str r2, [r3, #16]
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 40 .loc 1 507 0
+ 41 0010 1A69 ldr r2, [r3, #16]
+ 42 0012 3C31 adds r1, r1, #60
+ 43 0014 0A43 orrs r2, r1
+ 44 0016 1A61 str r2, [r3, #16]
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 45 .loc 1 508 0
+ 46 @ sp needed
+ 47 0018 7047 bx lr
+ 48 .L3:
+ 49 001a C046 .align 2
+ 50 .L2:
+ 51 001c 00000000 .word pFlash
+ 52 0020 00200240 .word 1073881088
+ 53 .cfi_endproc
+ 54 .LFE46:
+ 56 .section .text.FLASH_OB_GetWRP,"ax",%progbits
+ 57 .align 1
+ 58 .syntax unified
+ 59 .code 16
+ 60 .thumb_func
+ 61 .fpu softvfp
+ 63 FLASH_OB_GetWRP:
+ 64 .LFB52:
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ ARM GAS /tmp/ccTbyH39.s page 11
+
+
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Enable the write protection of the desired pages
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write protected.
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_EnableWRP(uint32_t WriteProtectPage)
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFFU;
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1)
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFFU;
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2)
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFFU;
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3)
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFFU;
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be protected ******/
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WriteProtectPage = (uint32_t)(~((~FLASH_OB_GetWRP()) | WriteProtectPage));
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES48TO63MASK)
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO63MASK) >> 24U);
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES48TO63MASK */
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ ARM GAS /tmp/ccTbyH39.s page 12
+
+
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK)
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable write protection */
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP0_WRP0)
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP0 &= WRP0_Data;
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP0_WRP0 */
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1)
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP1 &= WRP1_Data;
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2)
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP2 &= WRP2_Data;
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3)
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP3 &= WRP3_Data;
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ ARM GAS /tmp/ccTbyH39.s page 13
+
+
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Disable the write protection of the desired pages
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note An option byte erase is done automatically in this function.
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note When the memory read protection level is selected (RDP level = 1),
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * it is not possible to program or erase the flash page i if
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * debug features are connected or boot code is executed in RAM, even if nWRPi = 1
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param WriteProtectPage specifies the page(s) to be write unprotected.
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_DisableWRP(uint32_t WriteProtectPage)
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP0_Data = 0xFFFFU;
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1)
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP1_Data = 0xFFFFU;
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2)
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP2_Data = 0xFFFFU;
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3)
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint16_t WRP3_Data = 0xFFFFU;
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_WRP(WriteProtectPage));
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Get current write protected pages and the new pages to be unprotected ******/
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WriteProtectPage = (FLASH_OB_GetWRP() | WriteProtectPage);
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES0TO15MASK)
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO15MASK);
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP0_Data = (uint16_t)(WriteProtectPage & OB_WRP_PAGES0TO31MASK);
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES0TO31MASK */
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES16TO31MASK)
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES16TO31MASK) >> 8U);
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP1_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO63MASK) >> 8U);
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO63MASK */
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES32TO47MASK)
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP2_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES32TO47MASK) >> 16U);
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP_PAGES48TO63MASK)
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO63MASK) >> 24U);
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRP3_Data = (uint16_t)((WriteProtectPage & OB_WRP_PAGES48TO127MASK) >> 24U);
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES48TO63MASK */
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ ARM GAS /tmp/ccTbyH39.s page 14
+
+
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* To be able to write again option byte, need to perform a option byte erase */
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = HAL_FLASHEx_OBErase();
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK)
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP0_WRP0)
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(WRP0_Data != 0xFFU)
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP0 |= WRP0_Data;
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP0_WRP0 */
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP1_WRP1)
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP1_Data != 0xFFU))
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP1 |= WRP1_Data;
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP1_WRP1 */
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP2_WRP2)
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP2_Data != 0xFFU))
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP2 |= WRP2_Data;
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP2_WRP2 */
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(OB_WRP3_WRP3)
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if((status == HAL_OK) && (WRP3_Data != 0xFFU))
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->WRP3 |= WRP3_Data;
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP3_WRP3 */
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ ARM GAS /tmp/ccTbyH39.s page 15
+
+
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Set the read protection level.
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param ReadProtectLevel specifies the read protection level.
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values:
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_2 Full chip protection
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note Warning: When enabling OB_RDP level 2 it's no more possible to go back to level 1 or 0
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_RDP_LevelConfig(uint8_t ReadProtectLevel)
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_RDP_LEVEL(ReadProtectLevel));
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the previous operation is completed, proceed to erase the option bytes */
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTER);
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the erase operation is completed, disable the OPTER Bit */
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTER);
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRITE_REG(OB->RDP, ReadProtectLevel);
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ ARM GAS /tmp/ccTbyH39.s page 16
+
+
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Program the FLASH User Option Byte.
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param UserConfig The FLASH User Option Bytes values: IWDG_SW(Bit0), RST_STOP(Bit1), RST_STDBY
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * VDDA_Analog_Monitoring(Bit5) and SRAM_Parity_Enable(Bit6).
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * For few devices, following option bytes are available: nBOOT0(Bit3) & BOOT_SEL(Bit7).
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_UserConfig(uint8_t UserConfig)
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_IWDG_SOURCE((UserConfig&OB_IWDG_SW)));
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_STOP_SOURCE((UserConfig&OB_STOP_NO_RST)));
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_STDBY_SOURCE((UserConfig&OB_STDBY_NO_RST)));
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT1((UserConfig&OB_BOOT1_SET)));
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_VDDA_ANALOG((UserConfig&OB_VDDA_ANALOG_ON)));
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_SRAM_PARITY((UserConfig&OB_SRAM_PARITY_RESET)));
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(FLASH_OBR_BOOT_SEL)
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT_SEL((UserConfig&OB_BOOT_SEL_SET)));
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_BOOT0((UserConfig&OB_BOOT0_SET)));
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* FLASH_OBR_BOOT_SEL */
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enable the Option Bytes Programming operation */
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #if defined(FLASH_OBR_BOOT_SEL)
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->USER = UserConfig;
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #else
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** OB->USER = (UserConfig | 0x88U);
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* if the program operation is completed, disable the OPTPG Bit */
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Programs a half word at a specified Option Byte Data address.
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @note The function @ref HAL_FLASH_Unlock() should be called before to unlock the FLASH interf
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Unlock() should be called before to unlock the options b
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The function @ref HAL_FLASH_OB_Launch() should be called after to force the reload of t
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * (system reset will occur)
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * Programming of the OB should be performed only after an erase (otherwise PGERR occurs)
+ ARM GAS /tmp/ccTbyH39.s page 17
+
+
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param Address specifies the address to be programmed.
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be 0x1FFFF804 or 0x1FFFF806.
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param Data specifies the data to be programmed.
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval HAL status
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static HAL_StatusTypeDef FLASH_OB_ProgramData(uint32_t Address, uint8_t Data)
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Check the parameters */
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** assert_param(IS_OB_DATA_ADDRESS(Address));
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if(status == HAL_OK)
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Enables the Option Bytes Programming operation */
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Wait for last operation to be completed */
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE);
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* If the program operation is completed, disable the OPTPG Bit */
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** CLEAR_BIT(FLASH->CR, FLASH_CR_OPTPG);
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the Option Byte Data Program Status */
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Return the FLASH Write Protection Option Bytes value.
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval The FLASH Write Protection Option Bytes value
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetWRP(void)
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 65 .loc 1 891 0
+ 66 .cfi_startproc
+ 67 @ args = 0, pretend = 0, frame = 0
+ 68 @ frame_needed = 0, uses_anonymous_args = 0
+ 69 @ link register save eliminated.
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the FLASH write protection Register value */
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return (uint32_t)(READ_REG(FLASH->WRPR));
+ 70 .loc 1 893 0
+ 71 0000 014B ldr r3, .L5
+ 72 0002 186A ldr r0, [r3, #32]
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 73 .loc 1 894 0
+ 74 @ sp needed
+ 75 0004 7047 bx lr
+ 76 .L6:
+ 77 0006 C046 .align 2
+ 78 .L5:
+ ARM GAS /tmp/ccTbyH39.s page 18
+
+
+ 79 0008 00200240 .word 1073881088
+ 80 .cfi_endproc
+ 81 .LFE52:
+ 83 .section .text.FLASH_OB_GetRDP,"ax",%progbits
+ 84 .align 1
+ 85 .syntax unified
+ 86 .code 16
+ 87 .thumb_func
+ 88 .fpu softvfp
+ 90 FLASH_OB_GetRDP:
+ 91 .LFB53:
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Returns the FLASH Read Protection level.
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval FLASH RDP level
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * This parameter can be one of the following values:
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_0 No protection
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_1 Read protection of the memory
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @arg @ref OB_RDP_LEVEL_2 Full chip protection
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint32_t FLASH_OB_GetRDP(void)
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 92 .loc 1 905 0
+ 93 .cfi_startproc
+ 94 @ args = 0, pretend = 0, frame = 0
+ 95 @ frame_needed = 0, uses_anonymous_args = 0
+ 96 @ link register save eliminated.
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t tmp_reg;
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Read RDP level bits */
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** tmp_reg = READ_BIT(FLASH->OBR, (FLASH_OBR_RDPRT1 | FLASH_OBR_RDPRT2));
+ 97 .loc 1 909 0
+ 98 0000 064B ldr r3, .L12
+ 99 0002 DB69 ldr r3, [r3, #28]
+ 100 0004 0622 movs r2, #6
+ 101 .LVL0:
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (tmp_reg == 0U)
+ 102 .loc 1 911 0
+ 103 0006 1A42 tst r2, r3
+ 104 0008 05D0 beq .L9
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_0;
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else if ((tmp_reg & FLASH_OBR_RDPRT2) == FLASH_OBR_RDPRT2)
+ 105 .loc 1 915 0
+ 106 000a 5B07 lsls r3, r3, #29
+ 107 000c 01D4 bmi .L11
+ 108 .LVL1:
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_2;
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** else
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return OB_RDP_LEVEL_1;
+ 109 .loc 1 921 0
+ 110 000e BB20 movs r0, #187
+ ARM GAS /tmp/ccTbyH39.s page 19
+
+
+ 111 0010 02E0 b .L7
+ 112 .L11:
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 113 .loc 1 917 0
+ 114 0012 CC20 movs r0, #204
+ 115 0014 00E0 b .L7
+ 116 .LVL2:
+ 117 .L9:
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 118 .loc 1 913 0
+ 119 0016 AA20 movs r0, #170
+ 120 .LVL3:
+ 121 .L7:
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 122 .loc 1 923 0
+ 123 @ sp needed
+ 124 0018 7047 bx lr
+ 125 .L13:
+ 126 001a C046 .align 2
+ 127 .L12:
+ 128 001c 00200240 .word 1073881088
+ 129 .cfi_endproc
+ 130 .LFE53:
+ 132 .section .text.FLASH_OB_GetUser,"ax",%progbits
+ 133 .align 1
+ 134 .syntax unified
+ 135 .code 16
+ 136 .thumb_func
+ 137 .fpu softvfp
+ 139 FLASH_OB_GetUser:
+ 140 .LFB54:
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Return the FLASH User Option Byte value.
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval The FLASH User Option Bytes values: IWDG_SW(Bit0), RST_STOP(Bit1), RST_STDBY(Bit2), nB
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * VDDA_Analog_Monitoring(Bit5) and SRAM_Parity_Enable(Bit6).
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * For few devices, following option bytes are available: nBOOT0(Bit3) & BOOT_SEL(Bit7).
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** static uint8_t FLASH_OB_GetUser(void)
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 141 .loc 1 932 0
+ 142 .cfi_startproc
+ 143 @ args = 0, pretend = 0, frame = 0
+ 144 @ frame_needed = 0, uses_anonymous_args = 0
+ 145 @ link register save eliminated.
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Return the User Option Byte */
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return (uint8_t)((READ_REG(FLASH->OBR) & FLASH_OBR_USER) >> FLASH_POSITION_IWDGSW_BIT);
+ 146 .loc 1 934 0
+ 147 0000 024B ldr r3, .L15
+ 148 0002 DB69 ldr r3, [r3, #28]
+ 149 0004 1B0A lsrs r3, r3, #8
+ 150 0006 7720 movs r0, #119
+ 151 0008 1840 ands r0, r3
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 152 .loc 1 935 0
+ 153 @ sp needed
+ ARM GAS /tmp/ccTbyH39.s page 20
+
+
+ 154 000a 7047 bx lr
+ 155 .L16:
+ 156 .align 2
+ 157 .L15:
+ 158 000c 00200240 .word 1073881088
+ 159 .cfi_endproc
+ 160 .LFE54:
+ 162 .section .text.FLASH_OB_RDP_LevelConfig,"ax",%progbits
+ 163 .align 1
+ 164 .syntax unified
+ 165 .code 16
+ 166 .thumb_func
+ 167 .fpu softvfp
+ 169 FLASH_OB_RDP_LevelConfig:
+ 170 .LFB49:
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 171 .loc 1 752 0
+ 172 .cfi_startproc
+ 173 @ args = 0, pretend = 0, frame = 0
+ 174 @ frame_needed = 0, uses_anonymous_args = 0
+ 175 .LVL4:
+ 176 0000 70B5 push {r4, r5, r6, lr}
+ 177 .LCFI0:
+ 178 .cfi_def_cfa_offset 16
+ 179 .cfi_offset 4, -16
+ 180 .cfi_offset 5, -12
+ 181 .cfi_offset 6, -8
+ 182 .cfi_offset 14, -4
+ 183 0002 0500 movs r5, r0
+ 184 .LVL5:
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 185 .loc 1 759 0
+ 186 0004 1348 ldr r0, .L20
+ 187 .LVL6:
+ 188 0006 FFF7FEFF bl FLASH_WaitForLastOperation
+ 189 .LVL7:
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 190 .loc 1 761 0
+ 191 000a 0028 cmp r0, #0
+ 192 000c 00D0 beq .L19
+ 193 .LVL8:
+ 194 .L18:
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 195 .loc 1 792 0
+ 196 @ sp needed
+ 197 000e 70BD pop {r4, r5, r6, pc}
+ 198 .L19:
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 199 .loc 1 764 0
+ 200 0010 114B ldr r3, .L20+4
+ 201 0012 0022 movs r2, #0
+ 202 0014 DA61 str r2, [r3, #28]
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 203 .loc 1 767 0
+ 204 0016 114C ldr r4, .L20+8
+ 205 0018 2369 ldr r3, [r4, #16]
+ 206 001a 2026 movs r6, #32
+ ARM GAS /tmp/ccTbyH39.s page 21
+
+
+ 207 001c 3343 orrs r3, r6
+ 208 001e 2361 str r3, [r4, #16]
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 209 .loc 1 768 0
+ 210 0020 2369 ldr r3, [r4, #16]
+ 211 0022 4032 adds r2, r2, #64
+ 212 0024 1343 orrs r3, r2
+ 213 0026 2361 str r3, [r4, #16]
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 214 .loc 1 771 0
+ 215 0028 0A48 ldr r0, .L20
+ 216 .LVL9:
+ 217 002a FFF7FEFF bl FLASH_WaitForLastOperation
+ 218 .LVL10:
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 219 .loc 1 774 0
+ 220 002e 2369 ldr r3, [r4, #16]
+ 221 0030 B343 bics r3, r6
+ 222 0032 2361 str r3, [r4, #16]
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 223 .loc 1 776 0
+ 224 0034 0028 cmp r0, #0
+ 225 0036 EAD1 bne .L18
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 226 .loc 1 779 0
+ 227 0038 2369 ldr r3, [r4, #16]
+ 228 003a 103E subs r6, r6, #16
+ 229 003c 3343 orrs r3, r6
+ 230 003e 2361 str r3, [r4, #16]
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 231 .loc 1 781 0
+ 232 0040 ADB2 uxth r5, r5
+ 233 0042 074B ldr r3, .L20+12
+ 234 0044 1D80 strh r5, [r3]
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 235 .loc 1 784 0
+ 236 0046 0348 ldr r0, .L20
+ 237 .LVL11:
+ 238 0048 FFF7FEFF bl FLASH_WaitForLastOperation
+ 239 .LVL12:
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 240 .loc 1 787 0
+ 241 004c 2369 ldr r3, [r4, #16]
+ 242 004e B343 bics r3, r6
+ 243 0050 2361 str r3, [r4, #16]
+ 244 0052 DCE7 b .L18
+ 245 .L21:
+ 246 .align 2
+ 247 .L20:
+ 248 0054 50C30000 .word 50000
+ 249 0058 00000000 .word pFlash
+ 250 005c 00200240 .word 1073881088
+ 251 0060 00F8FF1F .word 536868864
+ 252 .cfi_endproc
+ 253 .LFE49:
+ 255 .section .text.FLASH_OB_UserConfig,"ax",%progbits
+ 256 .align 1
+ ARM GAS /tmp/ccTbyH39.s page 22
+
+
+ 257 .syntax unified
+ 258 .code 16
+ 259 .thumb_func
+ 260 .fpu softvfp
+ 262 FLASH_OB_UserConfig:
+ 263 .LFB50:
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 264 .loc 1 803 0
+ 265 .cfi_startproc
+ 266 @ args = 0, pretend = 0, frame = 0
+ 267 @ frame_needed = 0, uses_anonymous_args = 0
+ 268 .LVL13:
+ 269 0000 70B5 push {r4, r5, r6, lr}
+ 270 .LCFI1:
+ 271 .cfi_def_cfa_offset 16
+ 272 .cfi_offset 4, -16
+ 273 .cfi_offset 5, -12
+ 274 .cfi_offset 6, -8
+ 275 .cfi_offset 14, -4
+ 276 0002 0400 movs r4, r0
+ 277 .LVL14:
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 278 .loc 1 819 0
+ 279 0004 0C48 ldr r0, .L25
+ 280 .LVL15:
+ 281 0006 FFF7FEFF bl FLASH_WaitForLastOperation
+ 282 .LVL16:
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 283 .loc 1 821 0
+ 284 000a 0028 cmp r0, #0
+ 285 000c 00D0 beq .L24
+ 286 .LVL17:
+ 287 .L23:
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 288 .loc 1 843 0
+ 289 @ sp needed
+ 290 000e 70BD pop {r4, r5, r6, pc}
+ 291 .L24:
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 292 .loc 1 824 0
+ 293 0010 0A4B ldr r3, .L25+4
+ 294 0012 0022 movs r2, #0
+ 295 0014 DA61 str r2, [r3, #28]
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 296 .loc 1 827 0
+ 297 0016 0A4D ldr r5, .L25+8
+ 298 0018 2B69 ldr r3, [r5, #16]
+ 299 001a 1026 movs r6, #16
+ 300 001c 3343 orrs r3, r6
+ 301 001e 2B61 str r3, [r5, #16]
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif
+ 302 .loc 1 832 0
+ 303 0020 7838 subs r0, r0, #120
+ 304 .LVL18:
+ 305 0022 2043 orrs r0, r4
+ 306 .LVL19:
+ 307 0024 C0B2 uxtb r0, r0
+ ARM GAS /tmp/ccTbyH39.s page 23
+
+
+ 308 0026 074B ldr r3, .L25+12
+ 309 0028 5880 strh r0, [r3, #2]
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 310 .loc 1 836 0
+ 311 002a 0348 ldr r0, .L25
+ 312 002c FFF7FEFF bl FLASH_WaitForLastOperation
+ 313 .LVL20:
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 314 .loc 1 839 0
+ 315 0030 2B69 ldr r3, [r5, #16]
+ 316 0032 B343 bics r3, r6
+ 317 0034 2B61 str r3, [r5, #16]
+ 318 0036 EAE7 b .L23
+ 319 .L26:
+ 320 .align 2
+ 321 .L25:
+ 322 0038 50C30000 .word 50000
+ 323 003c 00000000 .word pFlash
+ 324 0040 00200240 .word 1073881088
+ 325 0044 00F8FF1F .word 536868864
+ 326 .cfi_endproc
+ 327 .LFE50:
+ 329 .section .text.FLASH_OB_ProgramData,"ax",%progbits
+ 330 .align 1
+ 331 .syntax unified
+ 332 .code 16
+ 333 .thumb_func
+ 334 .fpu softvfp
+ 336 FLASH_OB_ProgramData:
+ 337 .LFB51:
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 338 .loc 1 858 0
+ 339 .cfi_startproc
+ 340 @ args = 0, pretend = 0, frame = 0
+ 341 @ frame_needed = 0, uses_anonymous_args = 0
+ 342 .LVL21:
+ 343 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 344 .LCFI2:
+ 345 .cfi_def_cfa_offset 24
+ 346 .cfi_offset 3, -24
+ 347 .cfi_offset 4, -20
+ 348 .cfi_offset 5, -16
+ 349 .cfi_offset 6, -12
+ 350 .cfi_offset 7, -8
+ 351 .cfi_offset 14, -4
+ 352 0002 0500 movs r5, r0
+ 353 0004 0C00 movs r4, r1
+ 354 .LVL22:
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 355 .loc 1 865 0
+ 356 0006 0B48 ldr r0, .L30
+ 357 .LVL23:
+ 358 0008 FFF7FEFF bl FLASH_WaitForLastOperation
+ 359 .LVL24:
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 360 .loc 1 867 0
+ 361 000c 0028 cmp r0, #0
+ ARM GAS /tmp/ccTbyH39.s page 24
+
+
+ 362 000e 00D0 beq .L29
+ 363 .LVL25:
+ 364 .L28:
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 365 .loc 1 884 0
+ 366 @ sp needed
+ 367 .LVL26:
+ 368 0010 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 369 .LVL27:
+ 370 .L29:
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 371 .loc 1 870 0
+ 372 0012 094B ldr r3, .L30+4
+ 373 0014 0022 movs r2, #0
+ 374 0016 DA61 str r2, [r3, #28]
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *(__IO uint16_t*)Address = Data;
+ 375 .loc 1 873 0
+ 376 0018 084E ldr r6, .L30+8
+ 377 001a 3369 ldr r3, [r6, #16]
+ 378 001c 1027 movs r7, #16
+ 379 001e 3B43 orrs r3, r7
+ 380 0020 3361 str r3, [r6, #16]
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 381 .loc 1 874 0
+ 382 0022 A4B2 uxth r4, r4
+ 383 0024 2C80 strh r4, [r5]
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 384 .loc 1 877 0
+ 385 0026 0348 ldr r0, .L30
+ 386 .LVL28:
+ 387 0028 FFF7FEFF bl FLASH_WaitForLastOperation
+ 388 .LVL29:
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 389 .loc 1 880 0
+ 390 002c 3369 ldr r3, [r6, #16]
+ 391 002e BB43 bics r3, r7
+ 392 0030 3361 str r3, [r6, #16]
+ 393 0032 EDE7 b .L28
+ 394 .L31:
+ 395 .align 2
+ 396 .L30:
+ 397 0034 50C30000 .word 50000
+ 398 0038 00000000 .word pFlash
+ 399 003c 00200240 .word 1073881088
+ 400 .cfi_endproc
+ 401 .LFE51:
+ 403 .section .text.HAL_FLASHEx_OBErase,"ax",%progbits
+ 404 .align 1
+ 405 .global HAL_FLASHEx_OBErase
+ 406 .syntax unified
+ 407 .code 16
+ 408 .thumb_func
+ 409 .fpu softvfp
+ 411 HAL_FLASHEx_OBErase:
+ 412 .LFB42:
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint8_t rdptmp = OB_RDP_LEVEL_0;
+ 413 .loc 1 314 0
+ ARM GAS /tmp/ccTbyH39.s page 25
+
+
+ 414 .cfi_startproc
+ 415 @ args = 0, pretend = 0, frame = 0
+ 416 @ frame_needed = 0, uses_anonymous_args = 0
+ 417 0000 70B5 push {r4, r5, r6, lr}
+ 418 .LCFI3:
+ 419 .cfi_def_cfa_offset 16
+ 420 .cfi_offset 4, -16
+ 421 .cfi_offset 5, -12
+ 422 .cfi_offset 6, -8
+ 423 .cfi_offset 14, -4
+ 424 .LVL30:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 425 .loc 1 319 0
+ 426 0002 FFF7FEFF bl FLASH_OB_GetRDP
+ 427 .LVL31:
+ 428 0006 C5B2 uxtb r5, r0
+ 429 .LVL32:
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 430 .loc 1 322 0
+ 431 0008 0E48 ldr r0, .L35
+ 432 000a FFF7FEFF bl FLASH_WaitForLastOperation
+ 433 .LVL33:
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 434 .loc 1 324 0
+ 435 000e 0028 cmp r0, #0
+ 436 0010 00D0 beq .L34
+ 437 .LVL34:
+ 438 .L33:
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 439 .loc 1 348 0
+ 440 @ sp needed
+ 441 .LVL35:
+ 442 0012 70BD pop {r4, r5, r6, pc}
+ 443 .LVL36:
+ 444 .L34:
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 445 .loc 1 327 0
+ 446 0014 0C4B ldr r3, .L35+4
+ 447 0016 0022 movs r2, #0
+ 448 0018 DA61 str r2, [r3, #28]
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 449 .loc 1 330 0
+ 450 001a 0C4C ldr r4, .L35+8
+ 451 001c 2369 ldr r3, [r4, #16]
+ 452 001e 2026 movs r6, #32
+ 453 0020 3343 orrs r3, r6
+ 454 0022 2361 str r3, [r4, #16]
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 455 .loc 1 331 0
+ 456 0024 2369 ldr r3, [r4, #16]
+ 457 0026 4032 adds r2, r2, #64
+ 458 0028 1343 orrs r3, r2
+ 459 002a 2361 str r3, [r4, #16]
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 460 .loc 1 334 0
+ 461 002c 0548 ldr r0, .L35
+ 462 .LVL37:
+ ARM GAS /tmp/ccTbyH39.s page 26
+
+
+ 463 002e FFF7FEFF bl FLASH_WaitForLastOperation
+ 464 .LVL38:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 465 .loc 1 337 0
+ 466 0032 2369 ldr r3, [r4, #16]
+ 467 0034 B343 bics r3, r6
+ 468 0036 2361 str r3, [r4, #16]
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 469 .loc 1 339 0
+ 470 0038 0028 cmp r0, #0
+ 471 003a EAD1 bne .L33
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 472 .loc 1 342 0
+ 473 003c 2800 movs r0, r5
+ 474 .LVL39:
+ 475 003e FFF7FEFF bl FLASH_OB_RDP_LevelConfig
+ 476 .LVL40:
+ 477 0042 E6E7 b .L33
+ 478 .L36:
+ 479 .align 2
+ 480 .L35:
+ 481 0044 50C30000 .word 50000
+ 482 0048 00000000 .word pFlash
+ 483 004c 00200240 .word 1073881088
+ 484 .cfi_endproc
+ 485 .LFE42:
+ 487 .section .text.FLASH_OB_EnableWRP,"ax",%progbits
+ 488 .align 1
+ 489 .syntax unified
+ 490 .code 16
+ 491 .thumb_func
+ 492 .fpu softvfp
+ 494 FLASH_OB_EnableWRP:
+ 495 .LFB47:
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 496 .loc 1 522 0
+ 497 .cfi_startproc
+ 498 @ args = 0, pretend = 0, frame = 0
+ 499 @ frame_needed = 0, uses_anonymous_args = 0
+ 500 .LVL41:
+ 501 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 502 .LCFI4:
+ 503 .cfi_def_cfa_offset 24
+ 504 .cfi_offset 3, -24
+ 505 .cfi_offset 4, -20
+ 506 .cfi_offset 5, -16
+ 507 .cfi_offset 6, -12
+ 508 .cfi_offset 7, -8
+ 509 .cfi_offset 14, -4
+ 510 0002 0400 movs r4, r0
+ 511 .LVL42:
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 512 .loc 1 539 0
+ 513 0004 FFF7FEFF bl FLASH_OB_GetWRP
+ 514 .LVL43:
+ 515 0008 C043 mvns r0, r0
+ 516 000a 0443 orrs r4, r0
+ ARM GAS /tmp/ccTbyH39.s page 27
+
+
+ 517 .LVL44:
+ 518 000c E443 mvns r4, r4
+ 519 .LVL45:
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
+ 520 .loc 1 542 0
+ 521 000e FF25 movs r5, #255
+ 522 0010 2700 movs r7, r4
+ 523 0012 2F40 ands r7, r5
+ 524 .LVL46:
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
+ 525 .loc 1 548 0
+ 526 0014 260A lsrs r6, r4, #8
+ 527 0016 2E40 ands r6, r5
+ 528 .LVL47:
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
+ 529 .loc 1 554 0
+ 530 0018 230C lsrs r3, r4, #16
+ 531 001a 1D40 ands r5, r3
+ 532 .LVL48:
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
+ 533 .loc 1 558 0
+ 534 001c 240E lsrs r4, r4, #24
+ 535 .LVL49:
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 536 .loc 1 564 0
+ 537 001e 2348 ldr r0, .L48
+ 538 .LVL50:
+ 539 0020 FFF7FEFF bl FLASH_WaitForLastOperation
+ 540 .LVL51:
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 541 .loc 1 566 0
+ 542 0024 0028 cmp r0, #0
+ 543 0026 00D0 beq .L43
+ 544 .LVL52:
+ 545 .L38:
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 546 .loc 1 624 0
+ 547 @ sp needed
+ 548 .LVL53:
+ 549 0028 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 550 .LVL54:
+ 551 .L43:
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 552 .loc 1 569 0
+ 553 002a 214B ldr r3, .L48+4
+ 554 002c 0022 movs r2, #0
+ 555 002e DA61 str r2, [r3, #28]
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK)
+ 556 .loc 1 572 0
+ 557 0030 FFF7FEFF bl HAL_FLASHEx_OBErase
+ 558 .LVL55:
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 559 .loc 1 573 0
+ 560 0034 0028 cmp r0, #0
+ 561 0036 F7D1 bne .L38
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 562 .loc 1 576 0
+ ARM GAS /tmp/ccTbyH39.s page 28
+
+
+ 563 0038 1E4A ldr r2, .L48+8
+ 564 003a 1369 ldr r3, [r2, #16]
+ 565 003c 1021 movs r1, #16
+ 566 003e 0B43 orrs r3, r1
+ 567 0040 1361 str r3, [r2, #16]
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 568 .loc 1 579 0
+ 569 0042 FF2F cmp r7, #255
+ 570 0044 11D1 bne .L44
+ 571 .LVL56:
+ 572 .L39:
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 573 .loc 1 589 0
+ 574 0046 0028 cmp r0, #0
+ 575 0048 01D1 bne .L40
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 576 .loc 1 589 0 is_stmt 0 discriminator 1
+ 577 004a FF2E cmp r6, #255
+ 578 004c 15D1 bne .L45
+ 579 .LVL57:
+ 580 .L40:
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 581 .loc 1 599 0 is_stmt 1
+ 582 004e 0028 cmp r0, #0
+ 583 0050 01D1 bne .L41
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 584 .loc 1 599 0 is_stmt 0 discriminator 1
+ 585 0052 FF2D cmp r5, #255
+ 586 0054 19D1 bne .L46
+ 587 .LVL58:
+ 588 .L41:
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 589 .loc 1 609 0 is_stmt 1
+ 590 0056 0028 cmp r0, #0
+ 591 0058 01D1 bne .L42
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 592 .loc 1 609 0 is_stmt 0 discriminator 1
+ 593 005a FF2C cmp r4, #255
+ 594 005c 1DD1 bne .L47
+ 595 .LVL59:
+ 596 .L42:
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 597 .loc 1 619 0 is_stmt 1
+ 598 005e 154A ldr r2, .L48+8
+ 599 0060 1369 ldr r3, [r2, #16]
+ 600 0062 1021 movs r1, #16
+ 601 0064 8B43 bics r3, r1
+ 602 0066 1361 str r3, [r2, #16]
+ 603 0068 DEE7 b .L38
+ 604 .LVL60:
+ 605 .L44:
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 606 .loc 1 581 0
+ 607 006a 134A ldr r2, .L48+12
+ 608 006c 1389 ldrh r3, [r2, #8]
+ 609 006e 1F40 ands r7, r3
+ 610 .LVL61:
+ ARM GAS /tmp/ccTbyH39.s page 29
+
+
+ 611 0070 1781 strh r7, [r2, #8]
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 612 .loc 1 584 0
+ 613 0072 0E48 ldr r0, .L48
+ 614 .LVL62:
+ 615 0074 FFF7FEFF bl FLASH_WaitForLastOperation
+ 616 .LVL63:
+ 617 0078 E5E7 b .L39
+ 618 .L45:
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 619 .loc 1 591 0
+ 620 007a 0F4A ldr r2, .L48+12
+ 621 007c 5389 ldrh r3, [r2, #10]
+ 622 007e 1E40 ands r6, r3
+ 623 .LVL64:
+ 624 0080 5681 strh r6, [r2, #10]
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 625 .loc 1 594 0
+ 626 0082 0A48 ldr r0, .L48
+ 627 .LVL65:
+ 628 0084 FFF7FEFF bl FLASH_WaitForLastOperation
+ 629 .LVL66:
+ 630 0088 E1E7 b .L40
+ 631 .L46:
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 632 .loc 1 601 0
+ 633 008a 0B4A ldr r2, .L48+12
+ 634 008c 9389 ldrh r3, [r2, #12]
+ 635 008e 1D40 ands r5, r3
+ 636 .LVL67:
+ 637 0090 9581 strh r5, [r2, #12]
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 638 .loc 1 604 0
+ 639 0092 0648 ldr r0, .L48
+ 640 .LVL68:
+ 641 0094 FFF7FEFF bl FLASH_WaitForLastOperation
+ 642 .LVL69:
+ 643 0098 DDE7 b .L41
+ 644 .L47:
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 645 .loc 1 611 0
+ 646 009a 074B ldr r3, .L48+12
+ 647 009c D889 ldrh r0, [r3, #14]
+ 648 .LVL70:
+ 649 009e 2040 ands r0, r4
+ 650 00a0 D881 strh r0, [r3, #14]
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 651 .loc 1 614 0
+ 652 00a2 0248 ldr r0, .L48
+ 653 00a4 FFF7FEFF bl FLASH_WaitForLastOperation
+ 654 .LVL71:
+ 655 00a8 D9E7 b .L42
+ 656 .L49:
+ 657 00aa C046 .align 2
+ 658 .L48:
+ 659 00ac 50C30000 .word 50000
+ 660 00b0 00000000 .word pFlash
+ ARM GAS /tmp/ccTbyH39.s page 30
+
+
+ 661 00b4 00200240 .word 1073881088
+ 662 00b8 00F8FF1F .word 536868864
+ 663 .cfi_endproc
+ 664 .LFE47:
+ 666 .section .text.FLASH_OB_DisableWRP,"ax",%progbits
+ 667 .align 1
+ 668 .syntax unified
+ 669 .code 16
+ 670 .thumb_func
+ 671 .fpu softvfp
+ 673 FLASH_OB_DisableWRP:
+ 674 .LFB48:
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 675 .loc 1 638 0
+ 676 .cfi_startproc
+ 677 @ args = 0, pretend = 0, frame = 0
+ 678 @ frame_needed = 0, uses_anonymous_args = 0
+ 679 .LVL72:
+ 680 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 681 .LCFI5:
+ 682 .cfi_def_cfa_offset 24
+ 683 .cfi_offset 3, -24
+ 684 .cfi_offset 4, -20
+ 685 .cfi_offset 5, -16
+ 686 .cfi_offset 6, -12
+ 687 .cfi_offset 7, -8
+ 688 .cfi_offset 14, -4
+ 689 0002 0400 movs r4, r0
+ 690 .LVL73:
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 691 .loc 1 655 0
+ 692 0004 FFF7FEFF bl FLASH_OB_GetWRP
+ 693 .LVL74:
+ 694 0008 0443 orrs r4, r0
+ 695 .LVL75:
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES0TO31MASK)
+ 696 .loc 1 658 0
+ 697 000a FF25 movs r5, #255
+ 698 000c 2700 movs r7, r4
+ 699 000e 2F40 ands r7, r5
+ 700 .LVL76:
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES32TO63MASK)
+ 701 .loc 1 664 0
+ 702 0010 260A lsrs r6, r4, #8
+ 703 0012 2E40 ands r6, r5
+ 704 .LVL77:
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #endif /* OB_WRP_PAGES32TO47MASK */
+ 705 .loc 1 670 0
+ 706 0014 230C lsrs r3, r4, #16
+ 707 0016 1D40 ands r5, r3
+ 708 .LVL78:
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** #elif defined(OB_WRP_PAGES48TO127MASK)
+ 709 .loc 1 674 0
+ 710 0018 240E lsrs r4, r4, #24
+ 711 .LVL79:
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 712 .loc 1 681 0
+ ARM GAS /tmp/ccTbyH39.s page 31
+
+
+ 713 001a 2348 ldr r0, .L61
+ 714 .LVL80:
+ 715 001c FFF7FEFF bl FLASH_WaitForLastOperation
+ 716 .LVL81:
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 717 .loc 1 683 0
+ 718 0020 0028 cmp r0, #0
+ 719 0022 00D0 beq .L56
+ 720 .LVL82:
+ 721 .L51:
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 722 .loc 1 739 0
+ 723 @ sp needed
+ 724 .LVL83:
+ 725 0024 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 726 .LVL84:
+ 727 .L56:
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 728 .loc 1 686 0
+ 729 0026 214B ldr r3, .L61+4
+ 730 0028 0022 movs r2, #0
+ 731 002a DA61 str r2, [r3, #28]
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status == HAL_OK)
+ 732 .loc 1 689 0
+ 733 002c FFF7FEFF bl HAL_FLASHEx_OBErase
+ 734 .LVL85:
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 735 .loc 1 690 0
+ 736 0030 0028 cmp r0, #0
+ 737 0032 F7D1 bne .L51
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 738 .loc 1 692 0
+ 739 0034 1E4A ldr r2, .L61+8
+ 740 0036 1369 ldr r3, [r2, #16]
+ 741 0038 1021 movs r1, #16
+ 742 003a 0B43 orrs r3, r1
+ 743 003c 1361 str r3, [r2, #16]
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 744 .loc 1 695 0
+ 745 003e FF2F cmp r7, #255
+ 746 0040 11D1 bne .L57
+ 747 .LVL86:
+ 748 .L52:
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 749 .loc 1 705 0
+ 750 0042 0028 cmp r0, #0
+ 751 0044 01D1 bne .L53
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 752 .loc 1 705 0 is_stmt 0 discriminator 1
+ 753 0046 FF2E cmp r6, #255
+ 754 0048 15D1 bne .L58
+ 755 .LVL87:
+ 756 .L53:
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 757 .loc 1 715 0 is_stmt 1
+ 758 004a 0028 cmp r0, #0
+ 759 004c 01D1 bne .L54
+ ARM GAS /tmp/ccTbyH39.s page 32
+
+
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 760 .loc 1 715 0 is_stmt 0 discriminator 1
+ 761 004e FF2D cmp r5, #255
+ 762 0050 19D1 bne .L59
+ 763 .LVL88:
+ 764 .L54:
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 765 .loc 1 725 0 is_stmt 1
+ 766 0052 0028 cmp r0, #0
+ 767 0054 01D1 bne .L55
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 768 .loc 1 725 0 is_stmt 0 discriminator 1
+ 769 0056 FF2C cmp r4, #255
+ 770 0058 1DD1 bne .L60
+ 771 .LVL89:
+ 772 .L55:
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 773 .loc 1 735 0 is_stmt 1
+ 774 005a 154A ldr r2, .L61+8
+ 775 005c 1369 ldr r3, [r2, #16]
+ 776 005e 1021 movs r1, #16
+ 777 0060 8B43 bics r3, r1
+ 778 0062 1361 str r3, [r2, #16]
+ 779 0064 DEE7 b .L51
+ 780 .LVL90:
+ 781 .L57:
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 782 .loc 1 697 0
+ 783 0066 134A ldr r2, .L61+12
+ 784 0068 1389 ldrh r3, [r2, #8]
+ 785 006a 1F43 orrs r7, r3
+ 786 .LVL91:
+ 787 006c 1781 strh r7, [r2, #8]
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 788 .loc 1 700 0
+ 789 006e 0E48 ldr r0, .L61
+ 790 .LVL92:
+ 791 0070 FFF7FEFF bl FLASH_WaitForLastOperation
+ 792 .LVL93:
+ 793 0074 E5E7 b .L52
+ 794 .L58:
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 795 .loc 1 707 0
+ 796 0076 0F4A ldr r2, .L61+12
+ 797 0078 5389 ldrh r3, [r2, #10]
+ 798 007a 1E43 orrs r6, r3
+ 799 .LVL94:
+ 800 007c 5681 strh r6, [r2, #10]
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 801 .loc 1 710 0
+ 802 007e 0A48 ldr r0, .L61
+ 803 .LVL95:
+ 804 0080 FFF7FEFF bl FLASH_WaitForLastOperation
+ 805 .LVL96:
+ 806 0084 E1E7 b .L53
+ 807 .L59:
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ ARM GAS /tmp/ccTbyH39.s page 33
+
+
+ 808 .loc 1 717 0
+ 809 0086 0B4A ldr r2, .L61+12
+ 810 0088 9389 ldrh r3, [r2, #12]
+ 811 008a 1D43 orrs r5, r3
+ 812 .LVL97:
+ 813 008c 9581 strh r5, [r2, #12]
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 814 .loc 1 720 0
+ 815 008e 0648 ldr r0, .L61
+ 816 .LVL98:
+ 817 0090 FFF7FEFF bl FLASH_WaitForLastOperation
+ 818 .LVL99:
+ 819 0094 DDE7 b .L54
+ 820 .L60:
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 821 .loc 1 727 0
+ 822 0096 074B ldr r3, .L61+12
+ 823 0098 D889 ldrh r0, [r3, #14]
+ 824 .LVL100:
+ 825 009a 2043 orrs r0, r4
+ 826 009c D881 strh r0, [r3, #14]
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 827 .loc 1 730 0
+ 828 009e 0248 ldr r0, .L61
+ 829 00a0 FFF7FEFF bl FLASH_WaitForLastOperation
+ 830 .LVL101:
+ 831 00a4 D9E7 b .L55
+ 832 .L62:
+ 833 00a6 C046 .align 2
+ 834 .L61:
+ 835 00a8 50C30000 .word 50000
+ 836 00ac 00000000 .word pFlash
+ 837 00b0 00200240 .word 1073881088
+ 838 00b4 00F8FF1F .word 536868864
+ 839 .cfi_endproc
+ 840 .LFE48:
+ 842 .section .text.HAL_FLASHEx_OBProgram,"ax",%progbits
+ 843 .align 1
+ 844 .global HAL_FLASHEx_OBProgram
+ 845 .syntax unified
+ 846 .code 16
+ 847 .thumb_func
+ 848 .fpu softvfp
+ 850 HAL_FLASHEx_OBProgram:
+ 851 .LFB43:
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 852 .loc 1 363 0
+ 853 .cfi_startproc
+ 854 @ args = 0, pretend = 0, frame = 0
+ 855 @ frame_needed = 0, uses_anonymous_args = 0
+ 856 .LVL102:
+ 857 0000 10B5 push {r4, lr}
+ 858 .LCFI6:
+ 859 .cfi_def_cfa_offset 8
+ 860 .cfi_offset 4, -8
+ 861 .cfi_offset 14, -4
+ 862 0002 0400 movs r4, r0
+ ARM GAS /tmp/ccTbyH39.s page 34
+
+
+ 863 .LVL103:
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 864 .loc 1 367 0
+ 865 0004 224B ldr r3, .L77
+ 866 0006 1B7E ldrb r3, [r3, #24]
+ 867 0008 012B cmp r3, #1
+ 868 000a 3FD0 beq .L71
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 869 .loc 1 367 0 is_stmt 0 discriminator 2
+ 870 000c 0123 movs r3, #1
+ 871 000e 204A ldr r2, .L77
+ 872 0010 1376 strb r3, [r2, #24]
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 873 .loc 1 373 0 is_stmt 1 discriminator 2
+ 874 0012 0268 ldr r2, [r0]
+ 875 0014 1342 tst r3, r2
+ 876 0016 0FD0 beq .L72
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 877 .loc 1 376 0
+ 878 0018 4368 ldr r3, [r0, #4]
+ 879 001a 012B cmp r3, #1
+ 880 001c 08D0 beq .L73
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 881 .loc 1 384 0
+ 882 001e 8068 ldr r0, [r0, #8]
+ 883 .LVL104:
+ 884 0020 FFF7FEFF bl FLASH_OB_DisableWRP
+ 885 .LVL105:
+ 886 .L67:
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 887 .loc 1 386 0
+ 888 0024 0028 cmp r0, #0
+ 889 0026 08D0 beq .L65
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 890 .loc 1 389 0
+ 891 0028 194B ldr r3, .L77
+ 892 002a 0022 movs r2, #0
+ 893 002c 1A76 strb r2, [r3, #24]
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 894 .loc 1 390 0
+ 895 002e 10E0 b .L64
+ 896 .LVL106:
+ 897 .L73:
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 898 .loc 1 379 0
+ 899 0030 8068 ldr r0, [r0, #8]
+ 900 .LVL107:
+ 901 0032 FFF7FEFF bl FLASH_OB_EnableWRP
+ 902 .LVL108:
+ 903 0036 F5E7 b .L67
+ 904 .LVL109:
+ 905 .L72:
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 906 .loc 1 364 0
+ 907 0038 0120 movs r0, #1
+ 908 .LVL110:
+ 909 .L65:
+ ARM GAS /tmp/ccTbyH39.s page 35
+
+
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 910 .loc 1 395 0
+ 911 003a 2368 ldr r3, [r4]
+ 912 003c 9B07 lsls r3, r3, #30
+ 913 003e 09D4 bmi .L74
+ 914 .LVL111:
+ 915 .L68:
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 916 .loc 1 407 0
+ 917 0040 2368 ldr r3, [r4]
+ 918 0042 5B07 lsls r3, r3, #29
+ 919 0044 0FD4 bmi .L75
+ 920 .LVL112:
+ 921 .L69:
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 922 .loc 1 419 0
+ 923 0046 2368 ldr r3, [r4]
+ 924 0048 1B07 lsls r3, r3, #28
+ 925 004a 15D4 bmi .L76
+ 926 .LVL113:
+ 927 .L70:
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 928 .loc 1 431 0
+ 929 004c 104B ldr r3, .L77
+ 930 004e 0022 movs r2, #0
+ 931 0050 1A76 strb r2, [r3, #24]
+ 932 .LVL114:
+ 933 .L64:
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 934 .loc 1 434 0
+ 935 @ sp needed
+ 936 .LVL115:
+ 937 0052 10BD pop {r4, pc}
+ 938 .LVL116:
+ 939 .L74:
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 940 .loc 1 397 0
+ 941 0054 207B ldrb r0, [r4, #12]
+ 942 .LVL117:
+ 943 0056 FFF7FEFF bl FLASH_OB_RDP_LevelConfig
+ 944 .LVL118:
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 945 .loc 1 398 0
+ 946 005a 0028 cmp r0, #0
+ 947 005c F0D0 beq .L68
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 948 .loc 1 401 0
+ 949 005e 0C4B ldr r3, .L77
+ 950 0060 0022 movs r2, #0
+ 951 0062 1A76 strb r2, [r3, #24]
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 952 .loc 1 402 0
+ 953 0064 F5E7 b .L64
+ 954 .L75:
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 955 .loc 1 409 0
+ 956 0066 607B ldrb r0, [r4, #13]
+ ARM GAS /tmp/ccTbyH39.s page 36
+
+
+ 957 .LVL119:
+ 958 0068 FFF7FEFF bl FLASH_OB_UserConfig
+ 959 .LVL120:
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 960 .loc 1 410 0
+ 961 006c 0028 cmp r0, #0
+ 962 006e EAD0 beq .L69
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 963 .loc 1 413 0
+ 964 0070 074B ldr r3, .L77
+ 965 0072 0022 movs r2, #0
+ 966 0074 1A76 strb r2, [r3, #24]
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 967 .loc 1 414 0
+ 968 0076 ECE7 b .L64
+ 969 .L76:
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** if (status != HAL_OK)
+ 970 .loc 1 421 0
+ 971 0078 2069 ldr r0, [r4, #16]
+ 972 .LVL121:
+ 973 007a 217D ldrb r1, [r4, #20]
+ 974 007c FFF7FEFF bl FLASH_OB_ProgramData
+ 975 .LVL122:
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 976 .loc 1 422 0
+ 977 0080 0028 cmp r0, #0
+ 978 0082 E3D0 beq .L70
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** return status;
+ 979 .loc 1 425 0
+ 980 0084 024B ldr r3, .L77
+ 981 0086 0022 movs r2, #0
+ 982 0088 1A76 strb r2, [r3, #24]
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 983 .loc 1 426 0
+ 984 008a E2E7 b .L64
+ 985 .LVL123:
+ 986 .L71:
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 987 .loc 1 367 0
+ 988 008c 0220 movs r0, #2
+ 989 .LVL124:
+ 990 008e E0E7 b .L64
+ 991 .L78:
+ 992 .align 2
+ 993 .L77:
+ 994 0090 00000000 .word pFlash
+ 995 .cfi_endproc
+ 996 .LFE43:
+ 998 .section .text.HAL_FLASHEx_OBGetConfig,"ax",%progbits
+ 999 .align 1
+ 1000 .global HAL_FLASHEx_OBGetConfig
+ 1001 .syntax unified
+ 1002 .code 16
+ 1003 .thumb_func
+ 1004 .fpu softvfp
+ 1006 HAL_FLASHEx_OBGetConfig:
+ 1007 .LFB44:
+ ARM GAS /tmp/ccTbyH39.s page 37
+
+
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pOBInit->OptionType = OPTIONBYTE_WRP | OPTIONBYTE_RDP | OPTIONBYTE_USER;
+ 1008 .loc 1 444 0
+ 1009 .cfi_startproc
+ 1010 @ args = 0, pretend = 0, frame = 0
+ 1011 @ frame_needed = 0, uses_anonymous_args = 0
+ 1012 .LVL125:
+ 1013 0000 10B5 push {r4, lr}
+ 1014 .LCFI7:
+ 1015 .cfi_def_cfa_offset 8
+ 1016 .cfi_offset 4, -8
+ 1017 .cfi_offset 14, -4
+ 1018 0002 0400 movs r4, r0
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1019 .loc 1 445 0
+ 1020 0004 0723 movs r3, #7
+ 1021 0006 0360 str r3, [r0]
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1022 .loc 1 448 0
+ 1023 0008 FFF7FEFF bl FLASH_OB_GetWRP
+ 1024 .LVL126:
+ 1025 000c A060 str r0, [r4, #8]
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1026 .loc 1 451 0
+ 1027 000e FFF7FEFF bl FLASH_OB_GetRDP
+ 1028 .LVL127:
+ 1029 0012 2073 strb r0, [r4, #12]
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1030 .loc 1 454 0
+ 1031 0014 FFF7FEFF bl FLASH_OB_GetUser
+ 1032 .LVL128:
+ 1033 0018 6073 strb r0, [r4, #13]
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1034 .loc 1 455 0
+ 1035 @ sp needed
+ 1036 .LVL129:
+ 1037 001a 10BD pop {r4, pc}
+ 1038 .cfi_endproc
+ 1039 .LFE44:
+ 1041 .section .text.HAL_FLASHEx_OBGetUserData,"ax",%progbits
+ 1042 .align 1
+ 1043 .global HAL_FLASHEx_OBGetUserData
+ 1044 .syntax unified
+ 1045 .code 16
+ 1046 .thumb_func
+ 1047 .fpu softvfp
+ 1049 HAL_FLASHEx_OBGetUserData:
+ 1050 .LFB45:
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t value = 0U;
+ 1051 .loc 1 466 0
+ 1052 .cfi_startproc
+ 1053 @ args = 0, pretend = 0, frame = 0
+ 1054 @ frame_needed = 0, uses_anonymous_args = 0
+ 1055 @ link register save eliminated.
+ 1056 .LVL130:
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1057 .loc 1 469 0
+ 1058 0000 064B ldr r3, .L84
+ ARM GAS /tmp/ccTbyH39.s page 38
+
+
+ 1059 0002 9842 cmp r0, r3
+ 1060 0004 03D0 beq .L83
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1061 .loc 1 477 0
+ 1062 0006 064B ldr r3, .L84+4
+ 1063 0008 D869 ldr r0, [r3, #28]
+ 1064 .LVL131:
+ 1065 000a 000E lsrs r0, r0, #24
+ 1066 .LVL132:
+ 1067 .L80:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1068 .loc 1 481 0
+ 1069 @ sp needed
+ 1070 000c 7047 bx lr
+ 1071 .LVL133:
+ 1072 .L83:
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1073 .loc 1 472 0
+ 1074 000e 044B ldr r3, .L84+4
+ 1075 0010 DB69 ldr r3, [r3, #28]
+ 1076 0012 1B0C lsrs r3, r3, #16
+ 1077 0014 FF20 movs r0, #255
+ 1078 .LVL134:
+ 1079 0016 1840 ands r0, r3
+ 1080 .LVL135:
+ 1081 0018 F8E7 b .L80
+ 1082 .L85:
+ 1083 001a C046 .align 2
+ 1084 .L84:
+ 1085 001c 04F8FF1F .word 536868868
+ 1086 0020 00200240 .word 1073881088
+ 1087 .cfi_endproc
+ 1088 .LFE45:
+ 1090 .section .text.FLASH_PageErase,"ax",%progbits
+ 1091 .align 1
+ 1092 .global FLASH_PageErase
+ 1093 .syntax unified
+ 1094 .code 16
+ 1095 .thumb_func
+ 1096 .fpu softvfp
+ 1098 FLASH_PageErase:
+ 1099 .LFB55:
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @}
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /** @addtogroup FLASH_Private_Functions
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @{
+ ARM GAS /tmp/ccTbyH39.s page 39
+
+
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /**
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @brief Erase the specified FLASH memory page
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @param PageAddress FLASH page to erase
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * The value of this parameter depend on device used within the same series
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** *
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** * @retval None
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** */
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** void FLASH_PageErase(uint32_t PageAddress)
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1100 .loc 1 961 0
+ 1101 .cfi_startproc
+ 1102 @ args = 0, pretend = 0, frame = 0
+ 1103 @ frame_needed = 0, uses_anonymous_args = 0
+ 1104 @ link register save eliminated.
+ 1105 .LVL136:
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Clean the error context */
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.ErrorCode = HAL_FLASH_ERROR_NONE;
+ 1106 .loc 1 963 0
+ 1107 0000 064B ldr r3, .L87
+ 1108 0002 0022 movs r2, #0
+ 1109 0004 DA61 str r2, [r3, #28]
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** /* Proceed to erase the page */
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_PER);
+ 1110 .loc 1 966 0
+ 1111 0006 064B ldr r3, .L87+4
+ 1112 0008 1A69 ldr r2, [r3, #16]
+ 1113 000a 0221 movs r1, #2
+ 1114 000c 0A43 orrs r2, r1
+ 1115 000e 1A61 str r2, [r3, #16]
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** WRITE_REG(FLASH->AR, PageAddress);
+ 1116 .loc 1 967 0
+ 1117 0010 5861 str r0, [r3, #20]
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** SET_BIT(FLASH->CR, FLASH_CR_STRT);
+ 1118 .loc 1 968 0
+ 1119 0012 1A69 ldr r2, [r3, #16]
+ 1120 0014 3E31 adds r1, r1, #62
+ 1121 0016 0A43 orrs r2, r1
+ 1122 0018 1A61 str r2, [r3, #16]
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1123 .loc 1 969 0
+ 1124 @ sp needed
+ 1125 001a 7047 bx lr
+ 1126 .L88:
+ 1127 .align 2
+ 1128 .L87:
+ 1129 001c 00000000 .word pFlash
+ 1130 0020 00200240 .word 1073881088
+ 1131 .cfi_endproc
+ 1132 .LFE55:
+ 1134 .section .text.HAL_FLASHEx_Erase,"ax",%progbits
+ 1135 .align 1
+ 1136 .global HAL_FLASHEx_Erase
+ 1137 .syntax unified
+ 1138 .code 16
+ ARM GAS /tmp/ccTbyH39.s page 40
+
+
+ 1139 .thumb_func
+ 1140 .fpu softvfp
+ 1142 HAL_FLASHEx_Erase:
+ 1143 .LFB40:
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_ERROR;
+ 1144 .loc 1 160 0
+ 1145 .cfi_startproc
+ 1146 @ args = 0, pretend = 0, frame = 0
+ 1147 @ frame_needed = 0, uses_anonymous_args = 0
+ 1148 .LVL137:
+ 1149 0000 70B5 push {r4, r5, r6, lr}
+ 1150 .LCFI8:
+ 1151 .cfi_def_cfa_offset 16
+ 1152 .cfi_offset 4, -16
+ 1153 .cfi_offset 5, -12
+ 1154 .cfi_offset 6, -8
+ 1155 .cfi_offset 14, -4
+ 1156 0002 0500 movs r5, r0
+ 1157 0004 0E00 movs r6, r1
+ 1158 .LVL138:
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1159 .loc 1 165 0
+ 1160 0006 244B ldr r3, .L102
+ 1161 0008 1B7E ldrb r3, [r3, #24]
+ 1162 000a 012B cmp r3, #1
+ 1163 000c 41D0 beq .L96
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1164 .loc 1 165 0 is_stmt 0 discriminator 2
+ 1165 000e 224B ldr r3, .L102
+ 1166 0010 0122 movs r2, #1
+ 1167 0012 1A76 strb r2, [r3, #24]
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1168 .loc 1 170 0 is_stmt 1 discriminator 2
+ 1169 0014 0368 ldr r3, [r0]
+ 1170 0016 012B cmp r3, #1
+ 1171 0018 22D0 beq .L99
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1172 .loc 1 195 0
+ 1173 001a 2048 ldr r0, .L102+4
+ 1174 .LVL139:
+ 1175 001c FFF7FEFF bl FLASH_WaitForLastOperation
+ 1176 .LVL140:
+ 1177 0020 0028 cmp r0, #0
+ 1178 0022 31D1 bne .L98
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1179 .loc 1 198 0
+ 1180 0024 0123 movs r3, #1
+ 1181 0026 5B42 rsbs r3, r3, #0
+ 1182 0028 3360 str r3, [r6]
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
+ 1183 .loc 1 201 0
+ 1184 002a 6C68 ldr r4, [r5, #4]
+ 1185 .LVL141:
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U;
+ 1186 .loc 1 161 0
+ 1187 002c 0130 adds r0, r0, #1
+ 1188 .LVL142:
+ ARM GAS /tmp/ccTbyH39.s page 41
+
+
+ 1189 .L93:
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address += FLASH_PAGE_SIZE)
+ 1190 .loc 1 202 0 discriminator 1
+ 1191 002e AB68 ldr r3, [r5, #8]
+ 1192 0030 DB02 lsls r3, r3, #11
+ 1193 0032 6A68 ldr r2, [r5, #4]
+ 1194 0034 9446 mov ip, r2
+ 1195 0036 6344 add r3, r3, ip
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** address < ((pEraseInit->NbPages * FLASH_PAGE_SIZE) + pEraseInit->PageAddress);
+ 1196 .loc 1 201 0 discriminator 1
+ 1197 0038 A342 cmp r3, r4
+ 1198 003a 26D9 bls .L92
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1199 .loc 1 205 0
+ 1200 003c 2000 movs r0, r4
+ 1201 .LVL143:
+ 1202 003e FFF7FEFF bl FLASH_PageErase
+ 1203 .LVL144:
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1204 .loc 1 208 0
+ 1205 0042 1648 ldr r0, .L102+4
+ 1206 0044 FFF7FEFF bl FLASH_WaitForLastOperation
+ 1207 .LVL145:
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1208 .loc 1 211 0
+ 1209 0048 154A ldr r2, .L102+8
+ 1210 004a 1369 ldr r3, [r2, #16]
+ 1211 004c 0221 movs r1, #2
+ 1212 004e 8B43 bics r3, r1
+ 1213 0050 1361 str r3, [r2, #16]
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1214 .loc 1 213 0
+ 1215 0052 0028 cmp r0, #0
+ 1216 0054 16D1 bne .L100
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1217 .loc 1 203 0
+ 1218 0056 8023 movs r3, #128
+ 1219 0058 1B01 lsls r3, r3, #4
+ 1220 005a 9C46 mov ip, r3
+ 1221 005c 6444 add r4, r4, ip
+ 1222 .LVL146:
+ 1223 005e E6E7 b .L93
+ 1224 .LVL147:
+ 1225 .L99:
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1226 .loc 1 174 0
+ 1227 0060 0E48 ldr r0, .L102+4
+ 1228 .LVL148:
+ 1229 0062 FFF7FEFF bl FLASH_WaitForLastOperation
+ 1230 .LVL149:
+ 1231 0066 0028 cmp r0, #0
+ 1232 0068 01D0 beq .L101
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U;
+ 1233 .loc 1 161 0
+ 1234 006a 0120 movs r0, #1
+ 1235 006c 0DE0 b .L92
+ 1236 .L101:
+ ARM GAS /tmp/ccTbyH39.s page 42
+
+
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1237 .loc 1 177 0
+ 1238 006e FFF7FEFF bl FLASH_MassErase
+ 1239 .LVL150:
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1240 .loc 1 180 0
+ 1241 0072 0A48 ldr r0, .L102+4
+ 1242 0074 FFF7FEFF bl FLASH_WaitForLastOperation
+ 1243 .LVL151:
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1244 .loc 1 183 0
+ 1245 0078 094A ldr r2, .L102+8
+ 1246 007a 1369 ldr r3, [r2, #16]
+ 1247 007c 0421 movs r1, #4
+ 1248 007e 8B43 bics r3, r1
+ 1249 0080 1361 str r3, [r2, #16]
+ 1250 0082 02E0 b .L92
+ 1251 .LVL152:
+ 1252 .L100:
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** break;
+ 1253 .loc 1 216 0
+ 1254 0084 3460 str r4, [r6]
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1255 .loc 1 217 0
+ 1256 0086 00E0 b .L92
+ 1257 .LVL153:
+ 1258 .L98:
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** uint32_t address = 0U;
+ 1259 .loc 1 161 0
+ 1260 0088 0120 movs r0, #1
+ 1261 .LVL154:
+ 1262 .L92:
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1263 .loc 1 224 0
+ 1264 008a 034B ldr r3, .L102
+ 1265 008c 0022 movs r2, #0
+ 1266 008e 1A76 strb r2, [r3, #24]
+ 1267 .LVL155:
+ 1268 .L90:
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1269 .loc 1 227 0
+ 1270 @ sp needed
+ 1271 .LVL156:
+ 1272 .LVL157:
+ 1273 0090 70BD pop {r4, r5, r6, pc}
+ 1274 .LVL158:
+ 1275 .L96:
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1276 .loc 1 165 0
+ 1277 0092 0220 movs r0, #2
+ 1278 .LVL159:
+ 1279 0094 FCE7 b .L90
+ 1280 .L103:
+ 1281 0096 C046 .align 2
+ 1282 .L102:
+ 1283 0098 00000000 .word pFlash
+ 1284 009c 50C30000 .word 50000
+ ARM GAS /tmp/ccTbyH39.s page 43
+
+
+ 1285 00a0 00200240 .word 1073881088
+ 1286 .cfi_endproc
+ 1287 .LFE40:
+ 1289 .section .text.HAL_FLASHEx_Erase_IT,"ax",%progbits
+ 1290 .align 1
+ 1291 .global HAL_FLASHEx_Erase_IT
+ 1292 .syntax unified
+ 1293 .code 16
+ 1294 .thumb_func
+ 1295 .fpu softvfp
+ 1297 HAL_FLASHEx_Erase_IT:
+ 1298 .LFB41:
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** HAL_StatusTypeDef status = HAL_OK;
+ 1299 .loc 1 241 0
+ 1300 .cfi_startproc
+ 1301 @ args = 0, pretend = 0, frame = 0
+ 1302 @ frame_needed = 0, uses_anonymous_args = 0
+ 1303 .LVL160:
+ 1304 0000 10B5 push {r4, lr}
+ 1305 .LCFI9:
+ 1306 .cfi_def_cfa_offset 8
+ 1307 .cfi_offset 4, -8
+ 1308 .cfi_offset 14, -4
+ 1309 .LVL161:
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1310 .loc 1 245 0
+ 1311 0002 154B ldr r3, .L110
+ 1312 0004 1B7E ldrb r3, [r3, #24]
+ 1313 0006 012B cmp r3, #1
+ 1314 0008 21D0 beq .L107
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1315 .loc 1 245 0 is_stmt 0 discriminator 2
+ 1316 000a 134B ldr r3, .L110
+ 1317 000c 0122 movs r2, #1
+ 1318 000e 1A76 strb r2, [r3, #24]
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1319 .loc 1 248 0 is_stmt 1 discriminator 2
+ 1320 0010 1B78 ldrb r3, [r3]
+ 1321 0012 002B cmp r3, #0
+ 1322 0014 1DD1 bne .L108
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1323 .loc 1 257 0
+ 1324 0016 114A ldr r2, .L110+4
+ 1325 0018 1169 ldr r1, [r2, #16]
+ 1326 001a A023 movs r3, #160
+ 1327 001c 5B01 lsls r3, r3, #5
+ 1328 001e 0B43 orrs r3, r1
+ 1329 0020 1361 str r3, [r2, #16]
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** {
+ 1330 .loc 1 259 0
+ 1331 0022 0368 ldr r3, [r0]
+ 1332 0024 012B cmp r3, #1
+ 1333 0026 0BD0 beq .L109
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.DataRemaining = pEraseInit->NbPages;
+ 1334 .loc 1 273 0
+ 1335 0028 0B4B ldr r3, .L110
+ 1336 002a 0122 movs r2, #1
+ ARM GAS /tmp/ccTbyH39.s page 44
+
+
+ 1337 002c 1A70 strb r2, [r3]
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** pFlash.Address = pEraseInit->PageAddress;
+ 1338 .loc 1 274 0
+ 1339 002e 8268 ldr r2, [r0, #8]
+ 1340 0030 5A60 str r2, [r3, #4]
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1341 .loc 1 275 0
+ 1342 0032 4268 ldr r2, [r0, #4]
+ 1343 0034 9A60 str r2, [r3, #8]
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1344 .loc 1 278 0
+ 1345 0036 4068 ldr r0, [r0, #4]
+ 1346 .LVL162:
+ 1347 0038 FFF7FEFF bl FLASH_PageErase
+ 1348 .LVL163:
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1349 .loc 1 281 0
+ 1350 003c 0020 movs r0, #0
+ 1351 003e 09E0 b .L105
+ 1352 .LVL164:
+ 1353 .L109:
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** FLASH_MassErase();
+ 1354 .loc 1 262 0
+ 1355 0040 054B ldr r3, .L110
+ 1356 0042 0222 movs r2, #2
+ 1357 0044 1A70 strb r2, [r3]
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1358 .loc 1 263 0
+ 1359 0046 FFF7FEFF bl FLASH_MassErase
+ 1360 .LVL165:
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1361 .loc 1 281 0
+ 1362 004a 0020 movs r0, #0
+ 1363 004c 02E0 b .L105
+ 1364 .LVL166:
+ 1365 .L107:
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1366 .loc 1 245 0
+ 1367 004e 0220 movs r0, #2
+ 1368 .LVL167:
+ 1369 0050 00E0 b .L105
+ 1370 .LVL168:
+ 1371 .L108:
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c **** }
+ 1372 .loc 1 250 0
+ 1373 0052 0120 movs r0, #1
+ 1374 .LVL169:
+ 1375 .L105:
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_flash_ex.c ****
+ 1376 .loc 1 282 0
+ 1377 @ sp needed
+ 1378 0054 10BD pop {r4, pc}
+ 1379 .L111:
+ 1380 0056 C046 .align 2
+ 1381 .L110:
+ 1382 0058 00000000 .word pFlash
+ 1383 005c 00200240 .word 1073881088
+ ARM GAS /tmp/ccTbyH39.s page 45
+
+
+ 1384 .cfi_endproc
+ 1385 .LFE41:
+ 1387 .text
+ 1388 .Letext0:
+ 1389 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1390 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 1391 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1392 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 1393 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 1394 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h"
+ 1395 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h"
+ 1396 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccTbyH39.s page 46
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_flash_ex.c
+ /tmp/ccTbyH39.s:16 .text.FLASH_MassErase:0000000000000000 $t
+ /tmp/ccTbyH39.s:22 .text.FLASH_MassErase:0000000000000000 FLASH_MassErase
+ /tmp/ccTbyH39.s:51 .text.FLASH_MassErase:000000000000001c $d
+ /tmp/ccTbyH39.s:57 .text.FLASH_OB_GetWRP:0000000000000000 $t
+ /tmp/ccTbyH39.s:63 .text.FLASH_OB_GetWRP:0000000000000000 FLASH_OB_GetWRP
+ /tmp/ccTbyH39.s:79 .text.FLASH_OB_GetWRP:0000000000000008 $d
+ /tmp/ccTbyH39.s:84 .text.FLASH_OB_GetRDP:0000000000000000 $t
+ /tmp/ccTbyH39.s:90 .text.FLASH_OB_GetRDP:0000000000000000 FLASH_OB_GetRDP
+ /tmp/ccTbyH39.s:128 .text.FLASH_OB_GetRDP:000000000000001c $d
+ /tmp/ccTbyH39.s:133 .text.FLASH_OB_GetUser:0000000000000000 $t
+ /tmp/ccTbyH39.s:139 .text.FLASH_OB_GetUser:0000000000000000 FLASH_OB_GetUser
+ /tmp/ccTbyH39.s:158 .text.FLASH_OB_GetUser:000000000000000c $d
+ /tmp/ccTbyH39.s:163 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 $t
+ /tmp/ccTbyH39.s:169 .text.FLASH_OB_RDP_LevelConfig:0000000000000000 FLASH_OB_RDP_LevelConfig
+ /tmp/ccTbyH39.s:248 .text.FLASH_OB_RDP_LevelConfig:0000000000000054 $d
+ /tmp/ccTbyH39.s:256 .text.FLASH_OB_UserConfig:0000000000000000 $t
+ /tmp/ccTbyH39.s:262 .text.FLASH_OB_UserConfig:0000000000000000 FLASH_OB_UserConfig
+ /tmp/ccTbyH39.s:322 .text.FLASH_OB_UserConfig:0000000000000038 $d
+ /tmp/ccTbyH39.s:330 .text.FLASH_OB_ProgramData:0000000000000000 $t
+ /tmp/ccTbyH39.s:336 .text.FLASH_OB_ProgramData:0000000000000000 FLASH_OB_ProgramData
+ /tmp/ccTbyH39.s:397 .text.FLASH_OB_ProgramData:0000000000000034 $d
+ /tmp/ccTbyH39.s:404 .text.HAL_FLASHEx_OBErase:0000000000000000 $t
+ /tmp/ccTbyH39.s:411 .text.HAL_FLASHEx_OBErase:0000000000000000 HAL_FLASHEx_OBErase
+ /tmp/ccTbyH39.s:481 .text.HAL_FLASHEx_OBErase:0000000000000044 $d
+ /tmp/ccTbyH39.s:488 .text.FLASH_OB_EnableWRP:0000000000000000 $t
+ /tmp/ccTbyH39.s:494 .text.FLASH_OB_EnableWRP:0000000000000000 FLASH_OB_EnableWRP
+ /tmp/ccTbyH39.s:659 .text.FLASH_OB_EnableWRP:00000000000000ac $d
+ /tmp/ccTbyH39.s:667 .text.FLASH_OB_DisableWRP:0000000000000000 $t
+ /tmp/ccTbyH39.s:673 .text.FLASH_OB_DisableWRP:0000000000000000 FLASH_OB_DisableWRP
+ /tmp/ccTbyH39.s:835 .text.FLASH_OB_DisableWRP:00000000000000a8 $d
+ /tmp/ccTbyH39.s:843 .text.HAL_FLASHEx_OBProgram:0000000000000000 $t
+ /tmp/ccTbyH39.s:850 .text.HAL_FLASHEx_OBProgram:0000000000000000 HAL_FLASHEx_OBProgram
+ /tmp/ccTbyH39.s:994 .text.HAL_FLASHEx_OBProgram:0000000000000090 $d
+ /tmp/ccTbyH39.s:999 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 $t
+ /tmp/ccTbyH39.s:1006 .text.HAL_FLASHEx_OBGetConfig:0000000000000000 HAL_FLASHEx_OBGetConfig
+ /tmp/ccTbyH39.s:1042 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 $t
+ /tmp/ccTbyH39.s:1049 .text.HAL_FLASHEx_OBGetUserData:0000000000000000 HAL_FLASHEx_OBGetUserData
+ /tmp/ccTbyH39.s:1085 .text.HAL_FLASHEx_OBGetUserData:000000000000001c $d
+ /tmp/ccTbyH39.s:1091 .text.FLASH_PageErase:0000000000000000 $t
+ /tmp/ccTbyH39.s:1098 .text.FLASH_PageErase:0000000000000000 FLASH_PageErase
+ /tmp/ccTbyH39.s:1129 .text.FLASH_PageErase:000000000000001c $d
+ /tmp/ccTbyH39.s:1135 .text.HAL_FLASHEx_Erase:0000000000000000 $t
+ /tmp/ccTbyH39.s:1142 .text.HAL_FLASHEx_Erase:0000000000000000 HAL_FLASHEx_Erase
+ /tmp/ccTbyH39.s:1283 .text.HAL_FLASHEx_Erase:0000000000000098 $d
+ /tmp/ccTbyH39.s:1290 .text.HAL_FLASHEx_Erase_IT:0000000000000000 $t
+ /tmp/ccTbyH39.s:1297 .text.HAL_FLASHEx_Erase_IT:0000000000000000 HAL_FLASHEx_Erase_IT
+ /tmp/ccTbyH39.s:1382 .text.HAL_FLASHEx_Erase_IT:0000000000000058 $d
+
+UNDEFINED SYMBOLS
+pFlash
+FLASH_WaitForLastOperation
diff --git a/fw/midi-dials/build/stm32f0xx_hal_flash_ex.o b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.o
new file mode 100644
index 0000000..5281f30
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_flash_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_gpio.d b/fw/midi-dials/build/stm32f0xx_hal_gpio.d
new file mode 100644
index 0000000..37dac08
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_gpio.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_gpio.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_gpio.lst b/fw/midi-dials/build/stm32f0xx_hal_gpio.lst
new file mode 100644
index 0000000..764228d
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_gpio.lst
@@ -0,0 +1,1501 @@
+ARM GAS /tmp/cclHgak8.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 "stm32f0xx_hal_gpio.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_GPIO_Init,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_GPIO_Init
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_GPIO_Init:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @file stm32f0xx_hal_gpio.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * functionalities of the General Purpose Input/Output (GPIO) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * + IO operation functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ==============================================================================
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### GPIO Peripheral features #####
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** [..]
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) Each port bit of the general-purpose I/O (GPIO) ports can be individually
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** configured by software in several modes:
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Input mode
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Analog mode
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Output mode
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Alternate function mode
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) External interrupt/event lines
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) During and just after reset, the alternate functions and external interrupt
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** lines are not active and the I/O ports are configured in input floating mode.
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) All GPIO pins have weak internal pull-up and pull-down resistors, which can be
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** activated or not.
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) In Output or Alternate mode, each IO can be configured on open-drain or push-pull
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** type and the IO speed can be selected depending on the VDD value.
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) The microcontroller IO pins are connected to onboard peripherals/modules through a
+ ARM GAS /tmp/cclHgak8.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** multiplexer that allows only one peripheral alternate function (AF) connected
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** to an IO pin at a time. In this way, there can be no conflict between peripherals
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** sharing the same IO pin.
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) All ports have external interrupt/event capability. To use external interrupt
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** lines, the port must be configured in input mode. All available GPIO pins are
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** connected to the 16 external interrupt/event lines from EXTI0 to EXTI15.
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (+) The external interrupt/event controller consists of up to 28 edge detectors
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (16 lines are connected to GPIO) for generating event/interrupt requests (each
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** input line can be independently configured to select the type (interrupt or event)
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** and the corresponding trigger event (rising or falling or both). Each line can
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** also be masked independently.
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### How to use this driver #####
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ==============================================================================
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** [..]
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) Enable the GPIO AHB clock using the following function : __HAL_RCC_GPIOx_CLK_ENABLE().
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) Configure the GPIO pin(s) using HAL_GPIO_Init().
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Configure the IO mode using "Mode" member from GPIO_InitTypeDef structure
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Activate Pull-up, Pull-down resistor using "Pull" member from GPIO_InitTypeDef
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** structure.
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In case of Output or alternate function mode selection: the speed is
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** configured through "Speed" member from GPIO_InitTypeDef structure.
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In alternate mode is selection, the alternate function connected to the IO
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** is configured through "Alternate" member from GPIO_InitTypeDef structure.
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) Analog mode is required when a pin is to be used as ADC channel
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** or DAC output.
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (++) In case of external interrupt/event selection the "Mode" member from
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_InitTypeDef structure select the type (interrupt or event) and
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** the corresponding trigger event (rising or falling or both).
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) In case of external interrupt/event mode selection, configure NVIC IRQ priority
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** mapped to the EXTI line using HAL_NVIC_SetPriority() and enable it using
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_NVIC_EnableIRQ().
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) HAL_GPIO_DeInit allows to set register values to their reset value. It's also
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** recommended to use it to unconfigure pin which was used as an external interrupt
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** or in event mode. That's the only way to reset corresponding bit in EXTI & SYSCFG
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** registers.
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To get the level of a pin configured in input mode use HAL_GPIO_ReadPin().
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To set/reset the level of a pin configured in output mode use
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_WritePin()/HAL_GPIO_TogglePin().
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) To lock pin configuration until next reset use HAL_GPIO_LockPin().
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) During and just after reset, the alternate functions are not
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** active and the GPIO pins are configured in input floating mode (except JTAG
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** pins).
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) The LSE oscillator pins OSC32_IN and OSC32_OUT can be used as general purpose
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (PC14 and PC15, respectively) when the LSE oscillator is off. The LSE has
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** priority over the GPIO function.
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ ARM GAS /tmp/cclHgak8.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (#) The HSE oscillator pins OSC_IN/OSC_OUT can be used as
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** general purpose PF0 and PF1, respectively, when the HSE oscillator is off.
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** The HSE has priority over the GPIO function.
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ******************************************************************************
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @attention
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * All rights reserved.</center></h2>
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the "License"; You may not use this file except in compliance with the
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * License. You may obtain a copy of the License at:
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * opensource.org/licenses/BSD-3-Clause
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ******************************************************************************
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Includes ------------------------------------------------------------------*/
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #include "stm32f0xx_hal.h"
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO GPIO
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO HAL module driver
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** MISRA C:2012 deviation rule has been granted for following rules:
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * Rule-18.1_d - Medium: Array pointer `GPIOx' is accessed with index [..,..]
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * which may be out of array bounds [..,UNKNOWN] in following APIs:
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * HAL_GPIO_Init
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * HAL_GPIO_DeInit
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #ifdef HAL_GPIO_MODULE_ENABLED
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private typedef -----------------------------------------------------------*/
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private defines -----------------------------------------------------------*/
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Private_Defines GPIO Private Defines
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE (0x00000003U)
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define EXTI_MODE (0x10000000U)
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE_IT (0x00010000U)
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_MODE_EVT (0x00020000U)
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define RISING_EDGE (0x00100000U)
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define FALLING_EDGE (0x00200000U)
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_OUTPUT_TYPE (0x00000010U)
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** #define GPIO_NUMBER (16U)
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @}
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ ARM GAS /tmp/cclHgak8.s page 4
+
+
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private macros ------------------------------------------------------------*/
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private variables ---------------------------------------------------------*/
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Private function prototypes -----------------------------------------------*/
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Exported functions --------------------------------------------------------*/
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions GPIO Exported Functions
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Initialization and Configuration functions
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ===============================================================================
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### Initialization and de-initialization functions #####
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ===============================================================================
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Initialize the GPIOx peripheral according to the specified parameters in the GPIO_Init.
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the configuration information for the specified GPIO peripheral.
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 26 .loc 1 178 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 8
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 20
+ 34 .cfi_offset 4, -20
+ 35 .cfi_offset 5, -16
+ 36 .cfi_offset 6, -12
+ 37 .cfi_offset 7, -8
+ 38 .cfi_offset 14, -4
+ 39 0002 C646 mov lr, r8
+ 40 0004 00B5 push {lr}
+ 41 .LCFI1:
+ 42 .cfi_def_cfa_offset 24
+ 43 .cfi_offset 8, -24
+ 44 0006 82B0 sub sp, sp, #8
+ 45 .LCFI2:
+ 46 .cfi_def_cfa_offset 32
+ 47 .LVL1:
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t position = 0x00u;
+ 48 .loc 1 179 0
+ 49 0008 0023 movs r3, #0
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t iocurrent;
+ ARM GAS /tmp/cclHgak8.s page 5
+
+
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t temp;
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Init->Pin));
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_MODE(GPIO_Init->Mode));
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PULL(GPIO_Init->Pull));
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the port pins */
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** while (((GPIO_Init->Pin) >> position) != 0x00u)
+ 50 .loc 1 190 0
+ 51 000a 38E0 b .L2
+ 52 .LVL2:
+ 53 .L20:
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Get current io position */
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** iocurrent = (GPIO_Init->Pin) & (1uL << position);
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (iocurrent != 0x00u)
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*--------------------- GPIO Mode Configuration ------------------------*/
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* In case of Alternate function mode selection */
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_AF_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the Alternate function parameters */
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_AF_INSTANCE(GPIOx));
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_AF(GPIO_Init->Alternate));
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure Alternate function mapped with the current IO */
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->AFR[position >> 3u];
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u));
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp;
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure IO Direction mode (Input, Output, Alternate or Analog) */
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->MODER;
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER = temp;
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* In case of Output or Alternate function mode selection */
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode == GPIO_MODE_OUTPUT_PP) || (GPIO_Init->Mode == GPIO_MODE_AF_PP) ||
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the Speed parameter */
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_SPEED(GPIO_Init->Speed));
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the IO Speed */
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->OSPEEDR;
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u));
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the IO Output Type */
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->OTYPER;
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4u) << position);
+ ARM GAS /tmp/cclHgak8.s page 6
+
+
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER = temp;
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Activate the Pull-up or Pull down resistor for the current IO */
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = GPIOx->PUPDR;
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR = temp;
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*--------------------- EXTI Mode Configuration ------------------------*/
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & EXTI_MODE) == EXTI_MODE)
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Enable SYSCFG Clock */
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = SYSCFG->EXTICR[position >> 2u];
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
+ 54 .loc 1 252 0
+ 55 000c 0426 movs r6, #4
+ 56 000e 00E0 b .L8
+ 57 .L14:
+ 58 0010 0026 movs r6, #0
+ 59 .L8:
+ 60 .loc 1 252 0 is_stmt 0 discriminator 20
+ 61 0012 AE40 lsls r6, r6, r5
+ 62 0014 3500 movs r5, r6
+ 63 0016 3D43 orrs r5, r7
+ 64 .LVL3:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 65 .loc 1 253 0 is_stmt 1 discriminator 20
+ 66 0018 0234 adds r4, r4, #2
+ 67 001a A400 lsls r4, r4, #2
+ 68 001c 574E ldr r6, .L21
+ 69 001e A551 str r5, [r4, r6]
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear EXTI line configuration */
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->IMR;
+ 70 .loc 1 256 0 discriminator 20
+ 71 0020 574C ldr r4, .L21+4
+ 72 0022 2568 ldr r5, [r4]
+ 73 .LVL4:
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent);
+ 74 .loc 1 257 0 discriminator 20
+ 75 0024 4246 mov r2, r8
+ 76 0026 D443 mvns r4, r2
+ 77 0028 2E00 movs r6, r5
+ 78 002a 2640 ands r6, r4
+ 79 .LVL5:
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_IT) == GPIO_MODE_IT)
+ 80 .loc 1 258 0 discriminator 20
+ 81 002c 4A68 ldr r2, [r1, #4]
+ 82 002e D203 lsls r2, r2, #15
+ 83 0030 02D5 bpl .L9
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent;
+ ARM GAS /tmp/cclHgak8.s page 7
+
+
+ 84 .loc 1 260 0
+ 85 0032 4246 mov r2, r8
+ 86 0034 1543 orrs r5, r2
+ 87 0036 2E00 movs r6, r5
+ 88 .LVL6:
+ 89 .L9:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->IMR = temp;
+ 90 .loc 1 262 0
+ 91 0038 514D ldr r5, .L21+4
+ 92 003a 2E60 str r6, [r5]
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->EMR;
+ 93 .loc 1 264 0
+ 94 003c 6D68 ldr r5, [r5, #4]
+ 95 .LVL7:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent);
+ 96 .loc 1 265 0
+ 97 003e 2E00 movs r6, r5
+ 98 0040 2640 ands r6, r4
+ 99 .LVL8:
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & GPIO_MODE_EVT) == GPIO_MODE_EVT)
+ 100 .loc 1 266 0
+ 101 0042 4A68 ldr r2, [r1, #4]
+ 102 0044 9203 lsls r2, r2, #14
+ 103 0046 02D5 bpl .L10
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent;
+ 104 .loc 1 268 0
+ 105 0048 4246 mov r2, r8
+ 106 004a 1543 orrs r5, r2
+ 107 004c 2E00 movs r6, r5
+ 108 .LVL9:
+ 109 .L10:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR = temp;
+ 110 .loc 1 270 0
+ 111 004e 4C4D ldr r5, .L21+4
+ 112 0050 6E60 str r6, [r5, #4]
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->RTSR;
+ 113 .loc 1 273 0
+ 114 0052 AD68 ldr r5, [r5, #8]
+ 115 .LVL10:
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent);
+ 116 .loc 1 274 0
+ 117 0054 2E00 movs r6, r5
+ 118 0056 2640 ands r6, r4
+ 119 .LVL11:
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & RISING_EDGE) == RISING_EDGE)
+ 120 .loc 1 275 0
+ 121 0058 4A68 ldr r2, [r1, #4]
+ 122 005a D202 lsls r2, r2, #11
+ 123 005c 02D5 bpl .L11
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent;
+ ARM GAS /tmp/cclHgak8.s page 8
+
+
+ 124 .loc 1 277 0
+ 125 005e 4246 mov r2, r8
+ 126 0060 1543 orrs r5, r2
+ 127 0062 2E00 movs r6, r5
+ 128 .LVL12:
+ 129 .L11:
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->RTSR = temp;
+ 130 .loc 1 279 0
+ 131 0064 464D ldr r5, .L21+4
+ 132 0066 AE60 str r6, [r5, #8]
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp = EXTI->FTSR;
+ 133 .loc 1 281 0
+ 134 0068 ED68 ldr r5, [r5, #12]
+ 135 .LVL13:
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(iocurrent);
+ 136 .loc 1 282 0
+ 137 006a 2C40 ands r4, r5
+ 138 .LVL14:
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIO_Init->Mode & FALLING_EDGE) == FALLING_EDGE)
+ 139 .loc 1 283 0
+ 140 006c 4A68 ldr r2, [r1, #4]
+ 141 006e 9202 lsls r2, r2, #10
+ 142 0070 02D5 bpl .L12
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= iocurrent;
+ 143 .loc 1 285 0
+ 144 0072 4246 mov r2, r8
+ 145 0074 2A43 orrs r2, r5
+ 146 0076 1400 movs r4, r2
+ 147 .LVL15:
+ 148 .L12:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR = temp;
+ 149 .loc 1 287 0
+ 150 0078 414A ldr r2, .L21+4
+ 151 007a D460 str r4, [r2, #12]
+ 152 .LVL16:
+ 153 .L3:
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** position++;
+ 154 .loc 1 291 0
+ 155 007c 0133 adds r3, r3, #1
+ 156 .LVL17:
+ 157 .L2:
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 158 .loc 1 190 0
+ 159 007e 0A68 ldr r2, [r1]
+ 160 0080 1400 movs r4, r2
+ 161 0082 DC40 lsrs r4, r4, r3
+ 162 0084 76D0 beq .L19
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 163 .loc 1 193 0
+ 164 0086 0125 movs r5, #1
+ ARM GAS /tmp/cclHgak8.s page 9
+
+
+ 165 0088 9D40 lsls r5, r5, r3
+ 166 008a 2A40 ands r2, r5
+ 167 008c 9046 mov r8, r2
+ 168 .LVL18:
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 169 .loc 1 195 0
+ 170 008e F5D0 beq .L3
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 171 .loc 1 199 0
+ 172 0090 4C68 ldr r4, [r1, #4]
+ 173 0092 022C cmp r4, #2
+ 174 0094 01D0 beq .L4
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 175 .loc 1 199 0 is_stmt 0 discriminator 1
+ 176 0096 122C cmp r4, #18
+ 177 0098 0ED1 bne .L5
+ 178 .L4:
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0xFu << ((position & 0x07u) * 4u));
+ 179 .loc 1 206 0 is_stmt 1
+ 180 009a DC08 lsrs r4, r3, #3
+ 181 009c 0834 adds r4, r4, #8
+ 182 009e A400 lsls r4, r4, #2
+ 183 00a0 2758 ldr r7, [r4, r0]
+ 184 .LVL19:
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Alternate) << ((position & 0x07u) * 4u));
+ 185 .loc 1 207 0
+ 186 00a2 0726 movs r6, #7
+ 187 00a4 1E40 ands r6, r3
+ 188 00a6 B600 lsls r6, r6, #2
+ 189 00a8 0F22 movs r2, #15
+ 190 .LVL20:
+ 191 00aa B240 lsls r2, r2, r6
+ 192 00ac 9743 bics r7, r2
+ 193 .LVL21:
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] = temp;
+ 194 .loc 1 208 0
+ 195 00ae 0A69 ldr r2, [r1, #16]
+ 196 00b0 B240 lsls r2, r2, r6
+ 197 00b2 1600 movs r6, r2
+ 198 00b4 3E43 orrs r6, r7
+ 199 .LVL22:
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 200 .loc 1 209 0
+ 201 00b6 2650 str r6, [r4, r0]
+ 202 .LVL23:
+ 203 .L5:
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_MODER_MODER0 << (position * 2u));
+ 204 .loc 1 213 0
+ 205 00b8 0268 ldr r2, [r0]
+ 206 .LVL24:
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2u));
+ 207 .loc 1 214 0
+ 208 00ba 5F00 lsls r7, r3, #1
+ 209 00bc 0324 movs r4, #3
+ 210 00be 2600 movs r6, r4
+ 211 00c0 BE40 lsls r6, r6, r7
+ 212 00c2 F643 mvns r6, r6
+ ARM GAS /tmp/cclHgak8.s page 10
+
+
+ 213 00c4 3240 ands r2, r6
+ 214 .LVL25:
+ 215 00c6 9446 mov ip, r2
+ 216 .LVL26:
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER = temp;
+ 217 .loc 1 215 0
+ 218 00c8 4A68 ldr r2, [r1, #4]
+ 219 .LVL27:
+ 220 00ca 1440 ands r4, r2
+ 221 00cc BC40 lsls r4, r4, r7
+ 222 00ce 6246 mov r2, ip
+ 223 00d0 1443 orrs r4, r2
+ 224 .LVL28:
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 225 .loc 1 216 0
+ 226 00d2 0460 str r4, [r0]
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 227 .loc 1 219 0
+ 228 00d4 4C68 ldr r4, [r1, #4]
+ 229 .LVL29:
+ 230 00d6 621E subs r2, r4, #1
+ 231 00d8 012A cmp r2, #1
+ 232 00da 03D9 bls .L6
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** (GPIO_Init->Mode == GPIO_MODE_OUTPUT_OD) || (GPIO_Init->Mode == GPIO_MODE_AF_OD))
+ 233 .loc 1 219 0 is_stmt 0 discriminator 1
+ 234 00dc 112C cmp r4, #17
+ 235 00de 01D0 beq .L6
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 236 .loc 1 220 0 is_stmt 1
+ 237 00e0 122C cmp r4, #18
+ 238 00e2 10D1 bne .L7
+ 239 .L6:
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
+ 240 .loc 1 225 0
+ 241 00e4 8468 ldr r4, [r0, #8]
+ 242 .LVL30:
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_Init->Speed << (position * 2u));
+ 243 .loc 1 226 0
+ 244 00e6 3440 ands r4, r6
+ 245 .LVL31:
+ 246 00e8 A446 mov ip, r4
+ 247 .LVL32:
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR = temp;
+ 248 .loc 1 227 0
+ 249 00ea CC68 ldr r4, [r1, #12]
+ 250 .LVL33:
+ 251 00ec BC40 lsls r4, r4, r7
+ 252 00ee 6246 mov r2, ip
+ 253 00f0 1443 orrs r4, r2
+ 254 .LVL34:
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 255 .loc 1 228 0
+ 256 00f2 8460 str r4, [r0, #8]
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_OTYPER_OT_0 << position) ;
+ 257 .loc 1 231 0
+ 258 00f4 4468 ldr r4, [r0, #4]
+ 259 .LVL35:
+ ARM GAS /tmp/cclHgak8.s page 11
+
+
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (((GPIO_Init->Mode & GPIO_OUTPUT_TYPE) >> 4u) << position);
+ 260 .loc 1 232 0
+ 261 00f6 AC43 bics r4, r5
+ 262 .LVL36:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER = temp;
+ 263 .loc 1 233 0
+ 264 00f8 4A68 ldr r2, [r1, #4]
+ 265 00fa 1209 lsrs r2, r2, #4
+ 266 00fc 0125 movs r5, #1
+ 267 00fe 1540 ands r5, r2
+ 268 0100 9D40 lsls r5, r5, r3
+ 269 0102 2543 orrs r5, r4
+ 270 .LVL37:
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 271 .loc 1 234 0
+ 272 0104 4560 str r5, [r0, #4]
+ 273 .LVL38:
+ 274 .L7:
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2u));
+ 275 .loc 1 238 0
+ 276 0106 C468 ldr r4, [r0, #12]
+ 277 .LVL39:
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= ((GPIO_Init->Pull) << (position * 2u));
+ 278 .loc 1 239 0
+ 279 0108 2640 ands r6, r4
+ 280 .LVL40:
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR = temp;
+ 281 .loc 1 240 0
+ 282 010a 8C68 ldr r4, [r1, #8]
+ 283 010c BC40 lsls r4, r4, r7
+ 284 010e 3443 orrs r4, r6
+ 285 .LVL41:
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 286 .loc 1 241 0
+ 287 0110 C460 str r4, [r0, #12]
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 288 .loc 1 245 0
+ 289 0112 4A68 ldr r2, [r1, #4]
+ 290 0114 D200 lsls r2, r2, #3
+ 291 0116 B1D5 bpl .L3
+ 292 .LBB2:
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 293 .loc 1 248 0
+ 294 0118 1A4D ldr r5, .L21+8
+ 295 011a AE69 ldr r6, [r5, #24]
+ 296 011c 0124 movs r4, #1
+ 297 .LVL42:
+ 298 011e 2643 orrs r6, r4
+ 299 0120 AE61 str r6, [r5, #24]
+ 300 .LVL43:
+ 301 0122 AD69 ldr r5, [r5, #24]
+ 302 0124 2C40 ands r4, r5
+ 303 0126 0194 str r4, [sp, #4]
+ 304 0128 019C ldr r4, [sp, #4]
+ 305 .LBE2:
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp &= ~(0x0FuL << (4u * (position & 0x03u)));
+ 306 .loc 1 250 0
+ ARM GAS /tmp/cclHgak8.s page 12
+
+
+ 307 012a 9C08 lsrs r4, r3, #2
+ 308 012c A51C adds r5, r4, #2
+ 309 012e AD00 lsls r5, r5, #2
+ 310 0130 124E ldr r6, .L21
+ 311 0132 AF59 ldr r7, [r5, r6]
+ 312 .LVL44:
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** temp |= (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u)));
+ 313 .loc 1 251 0
+ 314 0134 0326 movs r6, #3
+ 315 0136 1E40 ands r6, r3
+ 316 0138 B500 lsls r5, r6, #2
+ 317 013a 0F26 movs r6, #15
+ 318 013c AE40 lsls r6, r6, r5
+ 319 013e B743 bics r7, r6
+ 320 .LVL45:
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 321 .loc 1 252 0
+ 322 0140 9026 movs r6, #144
+ 323 0142 F605 lsls r6, r6, #23
+ 324 0144 B042 cmp r0, r6
+ 325 0146 00D1 bne .LCB325
+ 326 0148 62E7 b .L14 @long jump
+ 327 .LCB325:
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 328 .loc 1 252 0 is_stmt 0 discriminator 1
+ 329 014a 0F4E ldr r6, .L21+12
+ 330 014c B042 cmp r0, r6
+ 331 014e 0BD0 beq .L15
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 332 .loc 1 252 0 discriminator 3
+ 333 0150 0E4E ldr r6, .L21+16
+ 334 0152 B042 cmp r0, r6
+ 335 0154 0AD0 beq .L16
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 336 .loc 1 252 0 discriminator 5
+ 337 0156 0E4E ldr r6, .L21+20
+ 338 0158 B042 cmp r0, r6
+ 339 015a 09D0 beq .L17
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 340 .loc 1 252 0 discriminator 7
+ 341 015c 0D4E ldr r6, .L21+24
+ 342 015e B042 cmp r0, r6
+ 343 0160 00D1 bne .LCB337
+ 344 0162 53E7 b .L20 @long jump
+ 345 .LCB337:
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] = temp;
+ 346 .loc 1 252 0
+ 347 0164 0526 movs r6, #5
+ 348 0166 54E7 b .L8
+ 349 .L15:
+ 350 0168 0126 movs r6, #1
+ 351 016a 52E7 b .L8
+ 352 .L16:
+ 353 016c 0226 movs r6, #2
+ 354 016e 50E7 b .L8
+ 355 .L17:
+ 356 0170 0326 movs r6, #3
+ ARM GAS /tmp/cclHgak8.s page 13
+
+
+ 357 0172 4EE7 b .L8
+ 358 .LVL46:
+ 359 .L19:
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 360 .loc 1 293 0 is_stmt 1
+ 361 0174 02B0 add sp, sp, #8
+ 362 @ sp needed
+ 363 0176 04BC pop {r2}
+ 364 0178 9046 mov r8, r2
+ 365 017a F0BD pop {r4, r5, r6, r7, pc}
+ 366 .L22:
+ 367 .align 2
+ 368 .L21:
+ 369 017c 00000140 .word 1073807360
+ 370 0180 00040140 .word 1073808384
+ 371 0184 00100240 .word 1073876992
+ 372 0188 00040048 .word 1207960576
+ 373 018c 00080048 .word 1207961600
+ 374 0190 000C0048 .word 1207962624
+ 375 0194 00100048 .word 1207963648
+ 376 .cfi_endproc
+ 377 .LFE40:
+ 379 .section .text.HAL_GPIO_DeInit,"ax",%progbits
+ 380 .align 1
+ 381 .global HAL_GPIO_DeInit
+ 382 .syntax unified
+ 383 .code 16
+ 384 .thumb_func
+ 385 .fpu softvfp
+ 387 HAL_GPIO_DeInit:
+ 388 .LFB41:
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief De-initialize the GPIOx peripheral registers to their default reset values.
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 389 .loc 1 303 0
+ 390 .cfi_startproc
+ 391 @ args = 0, pretend = 0, frame = 0
+ 392 @ frame_needed = 0, uses_anonymous_args = 0
+ 393 .LVL47:
+ 394 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 395 .LCFI3:
+ 396 .cfi_def_cfa_offset 20
+ 397 .cfi_offset 4, -20
+ 398 .cfi_offset 5, -16
+ 399 .cfi_offset 6, -12
+ 400 .cfi_offset 7, -8
+ 401 .cfi_offset 14, -4
+ 402 0002 CE46 mov lr, r9
+ 403 0004 4746 mov r7, r8
+ ARM GAS /tmp/cclHgak8.s page 14
+
+
+ 404 0006 80B5 push {r7, lr}
+ 405 .LCFI4:
+ 406 .cfi_def_cfa_offset 28
+ 407 .cfi_offset 8, -28
+ 408 .cfi_offset 9, -24
+ 409 0008 8946 mov r9, r1
+ 410 .LVL48:
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t position = 0x00u;
+ 411 .loc 1 304 0
+ 412 000a 0023 movs r3, #0
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t iocurrent;
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** uint32_t tmp;
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_ALL_INSTANCE(GPIOx));
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the port pins */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** while ((GPIO_Pin >> position) != 0x00u)
+ 413 .loc 1 313 0
+ 414 000c 24E0 b .L24
+ 415 .LVL49:
+ 416 .L36:
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Get current io position */
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** iocurrent = (GPIO_Pin) & (1uL << position);
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (iocurrent != 0x00u)
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*------------------------- EXTI Mode Configuration --------------------*/
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear the External Interrupt or Event for the current IO */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = SYSCFG->EXTICR[position >> 2u];
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
+ 417 .loc 1 325 0
+ 418 000e 0421 movs r1, #4
+ 419 0010 8846 mov r8, r1
+ 420 0012 01E0 b .L26
+ 421 .L29:
+ 422 0014 0021 movs r1, #0
+ 423 0016 8846 mov r8, r1
+ 424 .L26:
+ 425 .loc 1 325 0 is_stmt 0 discriminator 20
+ 426 0018 4146 mov r1, r8
+ 427 001a A140 lsls r1, r1, r4
+ 428 001c A942 cmp r1, r5
+ 429 001e 4BD0 beq .L34
+ 430 .LVL50:
+ 431 .L27:
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear EXTI line configuration */
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->IMR &= ~((uint32_t)iocurrent);
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Clear Rising Falling edge configuration */
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->RTSR &= ~((uint32_t)iocurrent);
+ ARM GAS /tmp/cclHgak8.s page 15
+
+
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the External Interrupt or event for the current IO */
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = 0x0FuL << (4u * (position & 0x03u));
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SYSCFG->EXTICR[position >> 2u] &= ~tmp;
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /*------------------------- GPIO Mode Configuration --------------------*/
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure IO Direction in Input Floating Mode */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2u));
+ 432 .loc 1 342 0 is_stmt 1
+ 433 0020 0568 ldr r5, [r0]
+ 434 0022 5E00 lsls r6, r3, #1
+ 435 0024 0324 movs r4, #3
+ 436 0026 B440 lsls r4, r4, r6
+ 437 0028 E443 mvns r4, r4
+ 438 002a 2540 ands r5, r4
+ 439 002c 0560 str r5, [r0]
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default Alternate Function in current IO */
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->AFR[position >> 3u] &= ~(0xFu << ((uint32_t)(position & 0x07u) * 4u)) ;
+ 440 .loc 1 345 0
+ 441 002e DD08 lsrs r5, r3, #3
+ 442 0030 0835 adds r5, r5, #8
+ 443 0032 AD00 lsls r5, r5, #2
+ 444 0034 2F58 ldr r7, [r5, r0]
+ 445 0036 0726 movs r6, #7
+ 446 0038 1E40 ands r6, r3
+ 447 003a B600 lsls r6, r6, #2
+ 448 003c 0F21 movs r1, #15
+ 449 003e B140 lsls r1, r1, r6
+ 450 0040 8F43 bics r7, r1
+ 451 0042 2F50 str r7, [r5, r0]
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default value for IO Speed */
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2u));
+ 452 .loc 1 348 0
+ 453 0044 8568 ldr r5, [r0, #8]
+ 454 0046 2540 ands r5, r4
+ 455 0048 8560 str r5, [r0, #8]
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Configure the default value IO Output Type */
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ;
+ 456 .loc 1 351 0
+ 457 004a 4568 ldr r5, [r0, #4]
+ 458 004c 9543 bics r5, r2
+ 459 004e 4560 str r5, [r0, #4]
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Deactivate the Pull-up and Pull-down resistor for the current IO */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2U));
+ 460 .loc 1 354 0
+ 461 0050 C268 ldr r2, [r0, #12]
+ 462 .LVL51:
+ 463 0052 1440 ands r4, r2
+ 464 0054 C460 str r4, [r0, #12]
+ 465 .L25:
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ ARM GAS /tmp/cclHgak8.s page 16
+
+
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** position++;
+ 466 .loc 1 357 0
+ 467 0056 0133 adds r3, r3, #1
+ 468 .LVL52:
+ 469 .L24:
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 470 .loc 1 313 0
+ 471 0058 4A46 mov r2, r9
+ 472 005a DA40 lsrs r2, r2, r3
+ 473 005c 42D0 beq .L35
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 474 .loc 1 316 0
+ 475 005e 0122 movs r2, #1
+ 476 0060 9A40 lsls r2, r2, r3
+ 477 0062 4E46 mov r6, r9
+ 478 0064 1640 ands r6, r2
+ 479 .LVL53:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 480 .loc 1 318 0
+ 481 0066 F6D0 beq .L25
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp &= (0x0FuL << (4u * (position & 0x03u)));
+ 482 .loc 1 323 0
+ 483 0068 9908 lsrs r1, r3, #2
+ 484 006a 8C46 mov ip, r1
+ 485 006c 8C1C adds r4, r1, #2
+ 486 006e A400 lsls r4, r4, #2
+ 487 0070 1E4D ldr r5, .L37
+ 488 0072 6559 ldr r5, [r4, r5]
+ 489 .LVL54:
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (tmp == (GPIO_GET_INDEX(GPIOx) << (4u * (position & 0x03u))))
+ 490 .loc 1 324 0
+ 491 0074 0324 movs r4, #3
+ 492 0076 1C40 ands r4, r3
+ 493 0078 A400 lsls r4, r4, #2
+ 494 007a 0F27 movs r7, #15
+ 495 007c A740 lsls r7, r7, r4
+ 496 007e 3D40 ands r5, r7
+ 497 .LVL55:
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 498 .loc 1 325 0
+ 499 0080 9021 movs r1, #144
+ 500 0082 C905 lsls r1, r1, #23
+ 501 0084 8842 cmp r0, r1
+ 502 0086 C5D0 beq .L29
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 503 .loc 1 325 0 is_stmt 0 discriminator 1
+ 504 0088 1949 ldr r1, .L37+4
+ 505 008a 8842 cmp r0, r1
+ 506 008c 0BD0 beq .L30
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 507 .loc 1 325 0 discriminator 3
+ 508 008e 1949 ldr r1, .L37+8
+ 509 0090 8842 cmp r0, r1
+ 510 0092 0BD0 beq .L31
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 511 .loc 1 325 0 discriminator 5
+ ARM GAS /tmp/cclHgak8.s page 17
+
+
+ 512 0094 1849 ldr r1, .L37+12
+ 513 0096 8842 cmp r0, r1
+ 514 0098 0BD0 beq .L32
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 515 .loc 1 325 0 discriminator 7
+ 516 009a 1849 ldr r1, .L37+16
+ 517 009c 8842 cmp r0, r1
+ 518 009e B6D0 beq .L36
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 519 .loc 1 325 0
+ 520 00a0 0521 movs r1, #5
+ 521 00a2 8846 mov r8, r1
+ 522 00a4 B8E7 b .L26
+ 523 .L30:
+ 524 00a6 0121 movs r1, #1
+ 525 00a8 8846 mov r8, r1
+ 526 00aa B5E7 b .L26
+ 527 .L31:
+ 528 00ac 0221 movs r1, #2
+ 529 00ae 8846 mov r8, r1
+ 530 00b0 B2E7 b .L26
+ 531 .L32:
+ 532 00b2 0321 movs r1, #3
+ 533 00b4 8846 mov r8, r1
+ 534 00b6 AFE7 b .L26
+ 535 .L34:
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->EMR &= ~((uint32_t)iocurrent);
+ 536 .loc 1 328 0 is_stmt 1
+ 537 00b8 114C ldr r4, .L37+20
+ 538 00ba 2568 ldr r5, [r4]
+ 539 .LVL56:
+ 540 00bc F643 mvns r6, r6
+ 541 .LVL57:
+ 542 00be 3540 ands r5, r6
+ 543 00c0 2560 str r5, [r4]
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 544 .loc 1 329 0
+ 545 00c2 6568 ldr r5, [r4, #4]
+ 546 00c4 3540 ands r5, r6
+ 547 00c6 6560 str r5, [r4, #4]
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** EXTI->FTSR &= ~((uint32_t)iocurrent);
+ 548 .loc 1 332 0
+ 549 00c8 A568 ldr r5, [r4, #8]
+ 550 00ca 3540 ands r5, r6
+ 551 00cc A560 str r5, [r4, #8]
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 552 .loc 1 333 0
+ 553 00ce E568 ldr r5, [r4, #12]
+ 554 00d0 2E40 ands r6, r5
+ 555 .LVL58:
+ 556 00d2 E660 str r6, [r4, #12]
+ 557 .LVL59:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 558 .loc 1 337 0
+ 559 00d4 054E ldr r6, .L37
+ 560 00d6 6446 mov r4, ip
+ 561 00d8 0234 adds r4, r4, #2
+ ARM GAS /tmp/cclHgak8.s page 18
+
+
+ 562 00da A400 lsls r4, r4, #2
+ 563 00dc A559 ldr r5, [r4, r6]
+ 564 00de BD43 bics r5, r7
+ 565 00e0 A551 str r5, [r4, r6]
+ 566 00e2 9DE7 b .L27
+ 567 .LVL60:
+ 568 .L35:
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 569 .loc 1 359 0
+ 570 @ sp needed
+ 571 .LVL61:
+ 572 00e4 0CBC pop {r2, r3}
+ 573 00e6 9046 mov r8, r2
+ 574 00e8 9946 mov r9, r3
+ 575 00ea F0BD pop {r4, r5, r6, r7, pc}
+ 576 .L38:
+ 577 .align 2
+ 578 .L37:
+ 579 00ec 00000140 .word 1073807360
+ 580 00f0 00040048 .word 1207960576
+ 581 00f4 00080048 .word 1207961600
+ 582 00f8 000C0048 .word 1207962624
+ 583 00fc 00100048 .word 1207963648
+ 584 0100 00040140 .word 1073808384
+ 585 .cfi_endproc
+ 586 .LFE41:
+ 588 .section .text.HAL_GPIO_ReadPin,"ax",%progbits
+ 589 .align 1
+ 590 .global HAL_GPIO_ReadPin
+ 591 .syntax unified
+ 592 .code 16
+ 593 .thumb_func
+ 594 .fpu softvfp
+ 596 HAL_GPIO_ReadPin:
+ 597 .LFB42:
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @}
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /** @defgroup GPIO_Exported_Functions_Group2 IO operation functions
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief GPIO Read, Write, Toggle, Lock and EXTI management functions.
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @verbatim
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ===============================================================================
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ##### IO operation functions #####
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** ===============================================================================
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** @endverbatim
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @{
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Read the specified input port pin.
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to read.
+ ARM GAS /tmp/cclHgak8.s page 19
+
+
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be GPIO_PIN_x where x can be (0..15).
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval The input port pin value.
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 598 .loc 1 385 0
+ 599 .cfi_startproc
+ 600 @ args = 0, pretend = 0, frame = 0
+ 601 @ frame_needed = 0, uses_anonymous_args = 0
+ 602 @ link register save eliminated.
+ 603 .LVL62:
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIO_PinState bitstatus;
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET)
+ 604 .loc 1 391 0
+ 605 0000 0369 ldr r3, [r0, #16]
+ 606 0002 0B42 tst r3, r1
+ 607 0004 01D1 bne .L42
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** bitstatus = GPIO_PIN_SET;
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** bitstatus = GPIO_PIN_RESET;
+ 608 .loc 1 397 0
+ 609 0006 0020 movs r0, #0
+ 610 .LVL63:
+ 611 .L40:
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return bitstatus;
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 612 .loc 1 400 0
+ 613 @ sp needed
+ 614 0008 7047 bx lr
+ 615 .LVL64:
+ 616 .L42:
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 617 .loc 1 393 0
+ 618 000a 0120 movs r0, #1
+ 619 .LVL65:
+ 620 000c FCE7 b .L40
+ 621 .cfi_endproc
+ 622 .LFE42:
+ 624 .section .text.HAL_GPIO_WritePin,"ax",%progbits
+ 625 .align 1
+ 626 .global HAL_GPIO_WritePin
+ 627 .syntax unified
+ 628 .code 16
+ 629 .thumb_func
+ 630 .fpu softvfp
+ 632 HAL_GPIO_WritePin:
+ 633 .LFB43:
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ ARM GAS /tmp/cclHgak8.s page 20
+
+
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Set or clear the selected data port bit.
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note This function uses GPIOx_BSRR and GPIOx_BRR registers to allow atomic read/modify
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * accesses. In this way, there is no risk of an IRQ occurring between
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * the read and the modify access.
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** *
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..H) to select the GPIO peripheral for STM32F0 family
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bit to be written.
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of GPIO_PIN_x where x can be (0..15).
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param PinState specifies the value to be written to the selected bit.
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be one of the GPIO_PinState enum values:
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @arg GPIO_PIN_RESET: to clear the port pin
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @arg GPIO_PIN_SET: to set the port pin
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 634 .loc 1 418 0
+ 635 .cfi_startproc
+ 636 @ args = 0, pretend = 0, frame = 0
+ 637 @ frame_needed = 0, uses_anonymous_args = 0
+ 638 @ link register save eliminated.
+ 639 .LVL66:
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN_ACTION(PinState));
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if (PinState != GPIO_PIN_RESET)
+ 640 .loc 1 423 0
+ 641 0000 002A cmp r2, #0
+ 642 0002 01D1 bne .L46
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin;
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BRR = (uint32_t)GPIO_Pin;
+ 643 .loc 1 429 0
+ 644 0004 8162 str r1, [r0, #40]
+ 645 .L43:
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 646 .loc 1 431 0
+ 647 @ sp needed
+ 648 0006 7047 bx lr
+ 649 .L46:
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 650 .loc 1 425 0
+ 651 0008 8161 str r1, [r0, #24]
+ 652 000a FCE7 b .L43
+ 653 .cfi_endproc
+ 654 .LFE43:
+ 656 .section .text.HAL_GPIO_TogglePin,"ax",%progbits
+ 657 .align 1
+ 658 .global HAL_GPIO_TogglePin
+ 659 .syntax unified
+ 660 .code 16
+ 661 .thumb_func
+ ARM GAS /tmp/cclHgak8.s page 21
+
+
+ 662 .fpu softvfp
+ 664 HAL_GPIO_TogglePin:
+ 665 .LFB44:
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Toggle the specified GPIO pin.
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the pin to be toggled.
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 666 .loc 1 440 0
+ 667 .cfi_startproc
+ 668 @ args = 0, pretend = 0, frame = 0
+ 669 @ frame_needed = 0, uses_anonymous_args = 0
+ 670 @ link register save eliminated.
+ 671 .LVL67:
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if ((GPIOx->ODR & GPIO_Pin) != 0X00u)
+ 672 .loc 1 444 0
+ 673 0000 4369 ldr r3, [r0, #20]
+ 674 0002 1942 tst r1, r3
+ 675 0004 01D1 bne .L50
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin << GPIO_NUMBER;
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->BSRR = (uint32_t)GPIO_Pin;
+ 676 .loc 1 450 0
+ 677 0006 8161 str r1, [r0, #24]
+ 678 .LVL68:
+ 679 .L47:
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 680 .loc 1 452 0
+ 681 @ sp needed
+ 682 0008 7047 bx lr
+ 683 .LVL69:
+ 684 .L50:
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 685 .loc 1 446 0
+ 686 000a 0904 lsls r1, r1, #16
+ 687 .LVL70:
+ 688 000c 8161 str r1, [r0, #24]
+ 689 000e FBE7 b .L47
+ 690 .cfi_endproc
+ 691 .LFE44:
+ 693 .section .text.HAL_GPIO_LockPin,"ax",%progbits
+ 694 .align 1
+ 695 .global HAL_GPIO_LockPin
+ 696 .syntax unified
+ 697 .code 16
+ 698 .thumb_func
+ ARM GAS /tmp/cclHgak8.s page 22
+
+
+ 699 .fpu softvfp
+ 701 HAL_GPIO_LockPin:
+ 702 .LFB45:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Locks GPIO Pins configuration registers.
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note The locked registers are GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR,
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * GPIOx_PUPDR, GPIOx_AFRL and GPIOx_AFRH.
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @note The configuration of the locked GPIO pins can no longer be modified
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * until the next reset.
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIOx where x can be (A..F) to select the GPIO peripheral for STM32F0 family
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin specifies the port bits to be locked.
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 703 .loc 1 466 0
+ 704 .cfi_startproc
+ 705 @ args = 0, pretend = 0, frame = 8
+ 706 @ frame_needed = 0, uses_anonymous_args = 0
+ 707 @ link register save eliminated.
+ 708 .LVL71:
+ 709 0000 82B0 sub sp, sp, #8
+ 710 .LCFI5:
+ 711 .cfi_def_cfa_offset 8
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __IO uint32_t tmp = GPIO_LCKR_LCKK;
+ 712 .loc 1 467 0
+ 713 0002 8022 movs r2, #128
+ 714 0004 5202 lsls r2, r2, #9
+ 715 0006 0192 str r2, [sp, #4]
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Check the parameters */
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_LOCK_INSTANCE(GPIOx));
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** assert_param(IS_GPIO_PIN(GPIO_Pin));
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Apply lock key write sequence */
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** SET_BIT(tmp, GPIO_Pin);
+ 716 .loc 1 474 0
+ 717 0008 019B ldr r3, [sp, #4]
+ 718 000a 0B43 orrs r3, r1
+ 719 000c 0193 str r3, [sp, #4]
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = tmp;
+ 720 .loc 1 476 0
+ 721 000e 019B ldr r3, [sp, #4]
+ 722 0010 C361 str r3, [r0, #28]
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Reset LCKx bit(s): LCKK='0' + LCK[15-0] */
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = GPIO_Pin;
+ 723 .loc 1 478 0
+ 724 0012 C161 str r1, [r0, #28]
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Set LCKx bit(s): LCKK='1' + LCK[15-0] */
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** GPIOx->LCKR = tmp;
+ 725 .loc 1 480 0
+ 726 0014 019B ldr r3, [sp, #4]
+ 727 0016 C361 str r3, [r0, #28]
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Read LCKK register. This read is mandatory to complete key lock sequence */
+ ARM GAS /tmp/cclHgak8.s page 23
+
+
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** tmp = GPIOx->LCKR;
+ 728 .loc 1 482 0
+ 729 0018 C369 ldr r3, [r0, #28]
+ 730 001a 0193 str r3, [sp, #4]
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* read again in order to confirm lock is active */
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if((GPIOx->LCKR & GPIO_LCKR_LCKK) != 0x00u)
+ 731 .loc 1 485 0
+ 732 001c C369 ldr r3, [r0, #28]
+ 733 001e 1342 tst r3, r2
+ 734 0020 02D1 bne .L54
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return HAL_OK;
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** else
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** return HAL_ERROR;
+ 735 .loc 1 491 0
+ 736 0022 0120 movs r0, #1
+ 737 .LVL72:
+ 738 .L52:
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 739 .loc 1 493 0
+ 740 0024 02B0 add sp, sp, #8
+ 741 @ sp needed
+ 742 0026 7047 bx lr
+ 743 .LVL73:
+ 744 .L54:
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 745 .loc 1 487 0
+ 746 0028 0020 movs r0, #0
+ 747 .LVL74:
+ 748 002a FBE7 b .L52
+ 749 .cfi_endproc
+ 750 .LFE45:
+ 752 .section .text.HAL_GPIO_EXTI_Callback,"ax",%progbits
+ 753 .align 1
+ 754 .weak HAL_GPIO_EXTI_Callback
+ 755 .syntax unified
+ 756 .code 16
+ 757 .thumb_func
+ 758 .fpu softvfp
+ 760 HAL_GPIO_EXTI_Callback:
+ 761 .LFB47:
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief Handle EXTI interrupt request.
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* EXTI line interrupt detected */
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != 0x00u)
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin);
+ ARM GAS /tmp/cclHgak8.s page 24
+
+
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /**
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @brief EXTI line detection callback.
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @param GPIO_Pin Specifies the port pin connected to corresponding EXTI line.
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** * @retval None
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** __weak void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 762 .loc 1 516 0
+ 763 .cfi_startproc
+ 764 @ args = 0, pretend = 0, frame = 0
+ 765 @ frame_needed = 0, uses_anonymous_args = 0
+ 766 @ link register save eliminated.
+ 767 .LVL75:
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* Prevent unused argument(s) compilation warning */
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** UNUSED(GPIO_Pin);
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* NOTE: This function should not be modified, when the callback is needed,
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** the HAL_GPIO_EXTI_Callback could be implemented in the user file
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** */
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 768 .loc 1 523 0
+ 769 @ sp needed
+ 770 0000 7047 bx lr
+ 771 .cfi_endproc
+ 772 .LFE47:
+ 774 .section .text.HAL_GPIO_EXTI_IRQHandler,"ax",%progbits
+ 775 .align 1
+ 776 .global HAL_GPIO_EXTI_IRQHandler
+ 777 .syntax unified
+ 778 .code 16
+ 779 .thumb_func
+ 780 .fpu softvfp
+ 782 HAL_GPIO_EXTI_IRQHandler:
+ 783 .LFB46:
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** /* EXTI line interrupt detected */
+ 784 .loc 1 501 0
+ 785 .cfi_startproc
+ 786 @ args = 0, pretend = 0, frame = 0
+ 787 @ frame_needed = 0, uses_anonymous_args = 0
+ 788 .LVL76:
+ 789 0000 10B5 push {r4, lr}
+ 790 .LCFI6:
+ 791 .cfi_def_cfa_offset 8
+ 792 .cfi_offset 4, -8
+ 793 .cfi_offset 14, -4
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** {
+ 794 .loc 1 503 0
+ 795 0002 054B ldr r3, .L59
+ 796 0004 5B69 ldr r3, [r3, #20]
+ 797 0006 1842 tst r0, r3
+ 798 0008 00D1 bne .L58
+ 799 .LVL77:
+ 800 .L56:
+ ARM GAS /tmp/cclHgak8.s page 25
+
+
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 801 .loc 1 508 0
+ 802 @ sp needed
+ 803 000a 10BD pop {r4, pc}
+ 804 .LVL78:
+ 805 .L58:
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** HAL_GPIO_EXTI_Callback(GPIO_Pin);
+ 806 .loc 1 505 0
+ 807 000c 024B ldr r3, .L59
+ 808 000e 5861 str r0, [r3, #20]
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c **** }
+ 809 .loc 1 506 0
+ 810 0010 FFF7FEFF bl HAL_GPIO_EXTI_Callback
+ 811 .LVL79:
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_gpio.c ****
+ 812 .loc 1 508 0
+ 813 0014 F9E7 b .L56
+ 814 .L60:
+ 815 0016 C046 .align 2
+ 816 .L59:
+ 817 0018 00040140 .word 1073808384
+ 818 .cfi_endproc
+ 819 .LFE46:
+ 821 .text
+ 822 .Letext0:
+ 823 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 824 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 825 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 826 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 827 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 828 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
+ 829 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/cclHgak8.s page 26
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_gpio.c
+ /tmp/cclHgak8.s:16 .text.HAL_GPIO_Init:0000000000000000 $t
+ /tmp/cclHgak8.s:23 .text.HAL_GPIO_Init:0000000000000000 HAL_GPIO_Init
+ /tmp/cclHgak8.s:369 .text.HAL_GPIO_Init:000000000000017c $d
+ /tmp/cclHgak8.s:380 .text.HAL_GPIO_DeInit:0000000000000000 $t
+ /tmp/cclHgak8.s:387 .text.HAL_GPIO_DeInit:0000000000000000 HAL_GPIO_DeInit
+ /tmp/cclHgak8.s:579 .text.HAL_GPIO_DeInit:00000000000000ec $d
+ /tmp/cclHgak8.s:589 .text.HAL_GPIO_ReadPin:0000000000000000 $t
+ /tmp/cclHgak8.s:596 .text.HAL_GPIO_ReadPin:0000000000000000 HAL_GPIO_ReadPin
+ /tmp/cclHgak8.s:625 .text.HAL_GPIO_WritePin:0000000000000000 $t
+ /tmp/cclHgak8.s:632 .text.HAL_GPIO_WritePin:0000000000000000 HAL_GPIO_WritePin
+ /tmp/cclHgak8.s:657 .text.HAL_GPIO_TogglePin:0000000000000000 $t
+ /tmp/cclHgak8.s:664 .text.HAL_GPIO_TogglePin:0000000000000000 HAL_GPIO_TogglePin
+ /tmp/cclHgak8.s:694 .text.HAL_GPIO_LockPin:0000000000000000 $t
+ /tmp/cclHgak8.s:701 .text.HAL_GPIO_LockPin:0000000000000000 HAL_GPIO_LockPin
+ /tmp/cclHgak8.s:753 .text.HAL_GPIO_EXTI_Callback:0000000000000000 $t
+ /tmp/cclHgak8.s:760 .text.HAL_GPIO_EXTI_Callback:0000000000000000 HAL_GPIO_EXTI_Callback
+ /tmp/cclHgak8.s:775 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 $t
+ /tmp/cclHgak8.s:782 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000000 HAL_GPIO_EXTI_IRQHandler
+ /tmp/cclHgak8.s:817 .text.HAL_GPIO_EXTI_IRQHandler:0000000000000018 $d
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_gpio.o b/fw/midi-dials/build/stm32f0xx_hal_gpio.o
new file mode 100644
index 0000000..8a033c9
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_gpio.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c.d b/fw/midi-dials/build/stm32f0xx_hal_i2c.d
new file mode 100644
index 0000000..0501c2f
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_i2c.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c.lst b/fw/midi-dials/build/stm32f0xx_hal_i2c.lst
new file mode 100644
index 0000000..f4e7a61
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c.lst
@@ -0,0 +1,20498 @@
+ARM GAS /tmp/ccskJbbb.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 "stm32f0xx_hal_i2c.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.I2C_Flush_TXDR,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 I2C_Flush_TXDR:
+ 23 .LFB102:
+ 24 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @file stm32f0xx_hal_i2c.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * functionalities of the Inter Integrated Circuit (I2C) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + IO operation functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * + Peripheral State and Errors functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### How to use this driver #####
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The I2C HAL driver can be used as follows:
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Declare a I2C_HandleTypeDef handle structure, for example:
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef hi2c;
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#)Initialize the I2C low level resources by implementing the @ref HAL_I2C_MspInit() API:
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) Enable the I2Cx interface clock
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) I2C pins configuration
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the clock for the I2C GPIOs
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure I2C pins as alternate function open-drain
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) NVIC configuration if you need to use interrupt process
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the I2Cx interrupt priority
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the NVIC I2C IRQ Channel
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (##) DMA Configuration if you need to use DMA process
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Declare a DMA_HandleTypeDef handle structure for the transmit or receive channel
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Enable the DMAx interface clock using
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA handle parameters
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the DMA Tx or Rx channel
+ ARM GAS /tmp/ccskJbbb.s page 2
+
+
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Associate the initialized DMA handle to the hi2c DMA Tx or Rx handle
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) Configure the priority and enable the NVIC for the transfer complete interrupt on
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the DMA Tx or Rx channel
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Configure the Communication Clock Timing, Own Address1, Master Addressing mode, Dual Addres
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Own Address2, Own Address2 Mask, General call and Nostretch mode in the hi2c Init structure
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Initialize the I2C registers by calling the @ref HAL_I2C_Init(), configures also the low le
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (GPIO, CLOCK, NVIC...etc) by calling the customized @ref HAL_I2C_MspInit(&hi2c) API.
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) To check if target device is ready for communication, use the function @ref HAL_I2C_IsDevic
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) For I2C IO and IO MEM operations, three operation modes are available within this driver :
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO operation ***
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Tran
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in blocking mode using @ref HAL_I2C_Master_Recei
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Transm
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in blocking mode using @ref HAL_I2C_Slave_Receive
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Polling mode IO MEM operation ***
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =====================================
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in blocking mode to a specific memory address using @ref HAL_I2C_
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in blocking mode from a specific memory address using @ref HAL_I2C
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO operation ***
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===================================
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode using @ref HAL_I2C_Master_R
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Tr
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode using @ref HAL_I2C_Slave_Rec
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode or DMA mode IO sequential operation ***
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==========================================================
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) These interfaces allow to manage a sequential transfer with a repeated start condition
+ ARM GAS /tmp/ccskJbbb.s page 3
+
+
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** when a direction change during transfer
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) A specific option field manage the different steps of a sequential transfer
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Option field values are defined through @ref I2C_XFEROPTIONS and are listed below:
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_LAST_FRAME: No sequential usage, functionnal is same as associated interfa
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_FRAME: Sequential usage, this option allow to manage a sequence with start con
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_FIRST_AND_NEXT_FRAME: Sequential usage (Master only), this option allow to manage a
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and data to transfer without a final stop condition, an then permit a c
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** several times (like @ref HAL_I2C_Master_Seq_Transmit_IT() then @ref HAL
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Master_Seq_Transmit_DMA() then @ref HAL_I2C_Master_Seq_
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_NEXT_FRAME: Sequential usage, this option allow to manage a sequence with a restart
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and without a final stop condition in both cases
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME: Sequential usage, this option allow to manage a sequance with a restart
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and with new data to transfer if the direction change or manage only th
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if no direction change and with a final stop condition in both cases
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_LAST_FRAME_NO_STOP: Sequential usage (Master only), this option allow to manage a re
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface several times (link with option I2C_FIRST_AND_NEXT_FRAME).
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one using HAL_I2C_Master_Seq_T
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_AND_NEXT_FRAME then
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_AND_NEXT_FRAME th
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_AND_NEXT_FRAME the
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_LAST_FRAME_NO_STOP at the last Transmit o
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** without stopping the communication and so generate a restart conditio
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) I2C_OTHER_FRAME: Sequential usage (Master only), this option allow to manage a restart c
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** interface.
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Usage can, transfer several bytes one by one with a restart with slave
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_IT(option I2C_FIRST_FRAME then I2C_OTHE
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Transmit_DMA(option I2C_FIRST_FRAME then I2C_OT
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or HAL_I2C_Master_Seq_Receive_DMA(option I2C_FIRST_FRAME then I2C_OTH
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then usage of this option I2C_OTHER_AND_LAST_FRAME at the last frame to
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Differents sequential I2C interfaces are listed below:
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in master I2C mode an amount of data in non-blocking mode using @ref
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Transmit_DMA()
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_MasterTxCpltCallback() is e
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in master I2C mode an amount of data in non-blocking mode using @ref
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Master_Seq_Receive_DMA()
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_MasterRxCpltCallback() is exec
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Abort a master IT or DMA I2C process communication with Interrupt using @ref HAL_I2C_Mas
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Enable/disable the Address listen mode in slave I2C mode using @ref HAL_I2C_EnableListen
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) When address slave I2C match, @ref HAL_I2C_AddrCallback() is executed and user can
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code to check the Address Match Code and the transmission direction request
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At Listen mode end @ref HAL_I2C_ListenCpltCallback() is executed and user can
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ListenCpltCallback()
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential transmit in slave I2C mode an amount of data in non-blocking mode using @ref
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Transmit_DMA()
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At transmission end of current frame transfer, @ref HAL_I2C_SlaveTxCpltCallback() is ex
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Sequential receive in slave I2C mode an amount of data in non-blocking mode using @ref H
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or using @ref HAL_I2C_Slave_Seq_Receive_DMA()
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+++) At reception end of current frame transfer, @ref HAL_I2C_SlaveRxCpltCallback() is execu
+ ARM GAS /tmp/ccskJbbb.s page 4
+
+
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user ca
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Interrupt mode IO MEM operation ***
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =======================================
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with Interrupt to a specific memory address
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_IT()
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with Interrupt from a specific memory address
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_IT()
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO operation ***
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==============================
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in master mode an amount of data in non-blocking mode (DMA) using
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Transmit_DMA()
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_MasterTxCpltCallback() is executed and user
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterTxCpltCallback(
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in master mode an amount of data in non-blocking mode (DMA) using
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Master_Receive_DMA()
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_MasterRxCpltCallback() is executed and user ca
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MasterRxCpltCallback(
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Transmit in slave mode an amount of data in non-blocking mode (DMA) using
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Transmit_DMA()
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At transmission end of transfer, @ref HAL_I2C_SlaveTxCpltCallback() is executed and user
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveTxCpltCallback()
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Receive in slave mode an amount of data in non-blocking mode (DMA) using
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Slave_Receive_DMA()
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At reception end of transfer, @ref HAL_I2C_SlaveRxCpltCallback() is executed and user can
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_SlaveRxCpltCallback()
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Abort a master I2C process communication with Interrupt using @ref HAL_I2C_Master_Abort_I
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) End of abort process, @ref HAL_I2C_AbortCpltCallback() is executed and user can
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_AbortCpltCallback()
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Discard a slave I2C process communication using @ref __HAL_I2C_GENERATE_NACK() macro.
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This action will inform Master to generate a Stop condition to discard the communication
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** DMA mode IO MEM operation ***
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =================================
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Write an amount of data in non-blocking mode with DMA to a specific memory address using
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Write_DMA()
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of write transfer, @ref HAL_I2C_MemTxCpltCallback() is executed and user ca
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemTxCpltCallback()
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Read an amount of data in non-blocking mode with DMA from a specific memory address using
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_Mem_Read_DMA()
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) At Memory end of read transfer, @ref HAL_I2C_MemRxCpltCallback() is executed and user can
+ ARM GAS /tmp/ccskJbbb.s page 5
+
+
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_MemRxCpltCallback()
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) In case of transfer Error, @ref HAL_I2C_ErrorCallback() function is executed and user can
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** add his own code by customization of function pointer @ref HAL_I2C_ErrorCallback()
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** I2C HAL driver macros list ***
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ==================================
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Below the list of most used macros in I2C HAL driver.
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE: Enable the I2C peripheral
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE: Disable the I2C peripheral
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GENERATE_NACK: Generate a Non-Acknowledge I2C peripheral in Slave mode
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_GET_FLAG: Check whether the specified I2C flag is set or not
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_CLEAR_FLAG: Clear the specified I2C pending flag
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_ENABLE_IT: Enable the specified I2C interrupt
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) @ref __HAL_I2C_DISABLE_IT: Disable the specified I2C interrupt
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *** Callback registration ***
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** =============================================
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The compilation flag USE_HAL_I2C_REGISTER_CALLBACKS when set to 1
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** allows the user to configure dynamically the driver callbacks.
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use Functions @ref HAL_I2C_RegisterCallback() or @ref HAL_I2C_RegisterAddrCallback()
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to register an interrupt callback.
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Function @ref HAL_I2C_RegisterCallback() allows to register following callbacks:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and a pointer to the user callback function.
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For specific callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_RegisterAdd
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Use function @ref HAL_I2C_UnRegisterCallback to reset a callback to the default
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** weak function.
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @ref HAL_I2C_UnRegisterCallback takes as parameters the HAL peripheral handle,
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the Callback ID.
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This function allows to reset following callbacks:
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterTxCpltCallback : callback for Master transmission end of transfer.
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MasterRxCpltCallback : callback for Master reception end of transfer.
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveTxCpltCallback : callback for Slave transmission end of transfer.
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) SlaveRxCpltCallback : callback for Slave reception end of transfer.
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ListenCpltCallback : callback for end of listen mode.
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemTxCpltCallback : callback for Memory transmission end of transfer.
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MemRxCpltCallback : callback for Memory reception end of transfer.
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) ErrorCallback : callback for error detection.
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) AbortCpltCallback : callback for abort completion process.
+ ARM GAS /tmp/ccskJbbb.s page 6
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspInitCallback : callback for Msp Init.
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) MspDeInitCallback : callback for Msp DeInit.
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** For callback AddrCallback use dedicated register callbacks : @ref HAL_I2C_UnRegisterAddrCallba
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** By default, after the @ref HAL_I2C_Init() and when the state is @ref HAL_I2C_STATE_RESET
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all callbacks are set to the corresponding weak functions:
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** examples @ref HAL_I2C_MasterTxCpltCallback(), @ref HAL_I2C_MasterRxCpltCallback().
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done for MspInit and MspDeInit functions that are
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** reset to the legacy weak functions in the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit() only when
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** these callbacks are null (not registered beforehand).
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** If MspInit or MspDeInit are not null, the @ref HAL_I2C_Init()/ @ref HAL_I2C_DeInit()
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand) whatever the state.
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Callbacks can be registered/unregistered in @ref HAL_I2C_STATE_READY state only.
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Exception done MspInit/MspDeInit functions that can be registered/unregistered
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** in @ref HAL_I2C_STATE_READY or @ref HAL_I2C_STATE_RESET state,
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** Then, the user first registers the MspInit/MspDeInit user callbacks
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using @ref HAL_I2C_RegisterCallback() before calling @ref HAL_I2C_DeInit()
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or @ref HAL_I2C_Init() function.
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** When the compilation flag USE_HAL_I2C_REGISTER_CALLBACKS is set to 0 or
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** not defined, the callback registration feature is not available and all callbacks
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** are set to the corresponding weak functions.
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (@) You can refer to the I2C HAL driver header file for more useful macros
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @attention
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * All rights reserved.</center></h2>
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the "License"; You may not use this file except in compliance with the
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * License. You may obtain a copy of the License at:
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * opensource.org/licenses/BSD-3-Clause
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ******************************************************************************
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Includes ------------------------------------------------------------------*/
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #include "stm32f0xx_hal.h"
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C I2C
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C HAL module driver
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #ifdef HAL_I2C_MODULE_ENABLED
+ ARM GAS /tmp/ccskJbbb.s page 7
+
+
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private typedef -----------------------------------------------------------*/
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define ------------------------------------------------------------*/
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Define I2C Private Define
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define TIMING_CLEAR_MASK (0xF0FFFFFFU) /*!< I2C TIMING clear register Mask */
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_ADDR (10000U) /*!< 10 s */
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_BUSY (25U) /*!< 25 ms */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_DIR (25U) /*!< 25 ms */
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_RXNE (25U) /*!< 25 ms */
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_STOPF (25U) /*!< 25 ms */
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TC (25U) /*!< 25 ms */
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TCR (25U) /*!< 25 ms */
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_TXIS (25U) /*!< 25 ms */
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_TIMEOUT_FLAG (25U) /*!< 25 ms */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define MAX_NBYTE_SIZE 255U
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_SHIFT 7U
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define SlaveAddr_MSK 0x06U
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define for @ref PreviousState usage */
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MSK ((uint32_t)((uint32_t)((uint32_t)HAL_I2C_STATE_BUSY_TX | (uint32_
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_NONE ((uint32_t)(HAL_I2C_MODE_NONE))
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MASTER_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_SLAVE_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_TX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_TX & I2C_STATE_MSK) | (
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_STATE_MEM_BUSY_RX ((uint32_t)(((uint32_t)HAL_I2C_STATE_BUSY_RX & I2C_STATE_MSK) | (
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define to centralize the enable/disable of Interrupts */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_TX_IT (0x00000001U)
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RX_IT (0x00000002U)
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_LISTEN_IT (0x00000004U)
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_ERROR_IT (0x00000011U)
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_CPLT_IT (0x00000012U)
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_XFER_RELOAD_IT (0x00000012U)
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private define Sequential Transfer Options default/reset value */
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #define I2C_NO_OPTION_FRAME (0xFFFF0000U)
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private macro -------------------------------------------------------------*/
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private variables ---------------------------------------------------------*/
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function prototypes -----------------------------------------------*/
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Private_Functions I2C Private Functions
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle DMA transfer */
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma);
+ ARM GAS /tmp/ccskJbbb.s page 8
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma);
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma);
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma);
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma);
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma);
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c);
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c);
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags);
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode);
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle IT transfer */
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions for I2C transfer IRQ handler */
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to handle flags during polling transfer */
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private functions to centralize the enable/disable of Interrupts */
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest);
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to flush TXDR register */
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c);
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to handle start, restart or stop a transfer */
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Private function to Convert Specific options */
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c);
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Exported functions --------------------------------------------------------*/
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions I2C Exported Functions
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group1 Initialization and de-initialization functions
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialization and Configuration functions
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ ARM GAS /tmp/ccskJbbb.s page 9
+
+
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Initialization and de-initialization functions #####
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..] This subsection provides a set of functions allowing to initialize and
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** deinitialize the I2Cx peripheral:
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) User must Implement HAL_I2C_MspInit() function in which he configures
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** all related peripherals resources (CLOCK, GPIO, DMA, IT and NVIC ).
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_Init() to configure the selected device with
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the selected configuration:
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Clock Timing
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 1
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Addressing mode (Master, Slave)
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Dual Addressing mode
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Own Address 2 Mask
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) General call mode
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Nostretch mode
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (+) Call the function HAL_I2C_DeInit() to restore the default configuration
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** of the selected I2Cx peripheral.
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initializes the I2C according to the specified parameters
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in the I2C_InitTypeDef and initialize the associated handle.
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Init(I2C_HandleTypeDef *hi2c)
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS1(hi2c->Init.OwnAddress1));
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ADDRESSING_MODE(hi2c->Init.AddressingMode));
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_DUAL_ADDRESS(hi2c->Init.DualAddressMode));
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2(hi2c->Init.OwnAddress2));
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_OWN_ADDRESS2_MASK(hi2c->Init.OwnAddress2Masks));
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_GENERAL_CALL(hi2c->Init.GeneralCallMode));
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_NO_STRETCH(hi2c->Init.NoStretchMode));
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_RESET)
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Allocate lock resource and initialize it */
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Lock = HAL_UNLOCKED;
+ ARM GAS /tmp/ccskJbbb.s page 10
+
+
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the I2C Callback settings */
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallback
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallback
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallback
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallback
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallback
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspInitCallback == NULL)
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit */
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback(hi2c);
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspInit(hi2c);
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the selected I2C peripheral */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx TIMINGR Configuration ------------------*/
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Frequency range */
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TIMINGR = hi2c->Init.Timing & TIMING_CLEAR_MASK;
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR1 Configuration ---------------------*/
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address1 before set the Own Address1 configuration */
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 &= ~I2C_OAR1_OA1EN;
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Own Address1 and ack own address1 mode */
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_7BIT)
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | hi2c->Init.OwnAddress1);
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else /* I2C_ADDRESSINGMODE_10BIT */
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR1 = (I2C_OAR1_OA1EN | I2C_OAR1_OA1MODE | hi2c->Init.OwnAddress1);
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR2 Configuration ----------------------*/
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Addressing Master mode */
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = (I2C_CR2_ADD10);
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the AUTOEND by default, and enable NACK (should be disable only during Slave process */
+ ARM GAS /tmp/ccskJbbb.s page 11
+
+
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= (I2C_CR2_AUTOEND | I2C_CR2_NACK);
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx OAR2 Configuration ---------------------*/
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Own Address2 before set the Own Address2 configuration */
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 &= ~I2C_DUALADDRESS_ENABLE;
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Dual mode and Own Address2 */
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->OAR2 = (hi2c->Init.DualAddressMode | hi2c->Init.OwnAddress2 | (hi2c->Init.OwnAddr
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /*---------------------------- I2Cx CR1 Configuration ----------------------*/
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Configure I2Cx: Generalcall and NoStretch mode */
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 = (hi2c->Init.GeneralCallMode | hi2c->Init.NoStretchMode);
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the selected I2C peripheral */
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE(hi2c);
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C peripheral.
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DeInit(I2C_HandleTypeDef *hi2c)
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c == NULL)
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the I2C Peripheral Clock */
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE(hi2c);
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->MspDeInitCallback == NULL)
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit */
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback(hi2c);
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* DeInit the low level hardware: GPIO, CLOCK, NVIC */
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MspDeInit(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 12
+
+
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Initialize the I2C MSP.
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspInit(I2C_HandleTypeDef *hi2c)
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspInit could be implemented in the user file
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DeInitialize the I2C MSP.
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MspDeInit(I2C_HandleTypeDef *hi2c)
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MspDeInit could be implemented in the user file
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register a User I2C Callback
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak predefined callback
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be registered
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
+ ARM GAS /tmp/ccskJbbb.s page 13
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Callback function
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Callb
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = pCallback;
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = pCallback;
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = pCallback;
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = pCallback;
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = pCallback;
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = pCallback;
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = pCallback;
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
+ ARM GAS /tmp/ccskJbbb.s page 14
+
+
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = pCallback;
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = pCallback;
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = pCallback;
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = pCallback;
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ ARM GAS /tmp/ccskJbbb.s page 15
+
+
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Unregister an I2C Callback
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * I2C callback is redirected to the weak predefined callback
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param CallbackID ID of the callback to be unregistered
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_TX_COMPLETE_CB_ID Master Tx Transfer completed callback ID
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MASTER_RX_COMPLETE_CB_ID Master Rx Transfer completed callback ID
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_TX_COMPLETE_CB_ID Slave Tx Transfer completed callback ID
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_SLAVE_RX_COMPLETE_CB_ID Slave Rx Transfer completed callback ID
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_LISTEN_COMPLETE_CB_ID Listen Complete callback ID
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_TX_COMPLETE_CB_ID Memory Tx Transfer callback ID
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MEM_RX_COMPLETE_CB_ID Memory Rx Transfer completed callback ID
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ERROR_CB_ID Error callback ID
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_ABORT_CB_ID Abort callback ID
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPINIT_CB_ID MspInit callback ID
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref HAL_I2C_MSPDEINIT_CB_ID MspDeInit callback ID
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterCallback(I2C_HandleTypeDef *hi2c, HAL_I2C_CallbackIDTypeDef Cal
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_TX_COMPLETE_CB_ID :
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback = HAL_I2C_MasterTxCpltCallback; /* Legacy weak MasterTxCpltCallb
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MASTER_RX_COMPLETE_CB_ID :
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback = HAL_I2C_MasterRxCpltCallback; /* Legacy weak MasterRxCpltCallb
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_TX_COMPLETE_CB_ID :
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback = HAL_I2C_SlaveTxCpltCallback; /* Legacy weak SlaveTxCpltCallba
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_SLAVE_RX_COMPLETE_CB_ID :
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback = HAL_I2C_SlaveRxCpltCallback; /* Legacy weak SlaveRxCpltCallba
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_LISTEN_COMPLETE_CB_ID :
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback = HAL_I2C_ListenCpltCallback; /* Legacy weak ListenCpltCallbac
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_TX_COMPLETE_CB_ID :
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback = HAL_I2C_MemTxCpltCallback; /* Legacy weak MemTxCpltCallback
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ ARM GAS /tmp/ccskJbbb.s page 16
+
+
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MEM_RX_COMPLETE_CB_ID :
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback = HAL_I2C_MemRxCpltCallback; /* Legacy weak MemRxCpltCallback
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ERROR_CB_ID :
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback = HAL_I2C_ErrorCallback; /* Legacy weak ErrorCallback
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_ABORT_CB_ID :
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback = HAL_I2C_AbortCpltCallback; /* Legacy weak AbortCpltCallback
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (HAL_I2C_STATE_RESET == hi2c->State)
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** switch (CallbackID)
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPINIT_CB_ID :
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspInitCallback = HAL_I2C_MspInit; /* Legacy weak MspInit
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** case HAL_I2C_MSPDEINIT_CB_ID :
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MspDeInitCallback = HAL_I2C_MspDeInit; /* Legacy weak MspDeInit
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** default :
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** break;
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ ARM GAS /tmp/ccskJbbb.s page 17
+
+
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Register the Slave Address Match I2C Callback
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * To be used instead of the weak HAL_I2C_AddrCallback() predefined callback
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pCallback pointer to the Address Match Callback function
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_RegisterAddrCallback(I2C_HandleTypeDef *hi2c, pI2C_AddrCallbackTypeDef pC
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (pCallback == NULL)
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = pCallback;
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief UnRegister the Slave Address Match I2C Callback
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * Info Ready I2C Callback is redirected to the weak HAL_I2C_AddrCallback() predefined cal
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_UnRegisterAddrCallback(I2C_HandleTypeDef *hi2c)
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 18
+
+
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef status = HAL_OK;
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_I2C_STATE_READY == hi2c->State)
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback = HAL_I2C_AddrCallback; /* Legacy weak AddrCallback */
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update the error code */
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_INVALID_CALLBACK;
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return error status */
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** status = HAL_ERROR;
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Release Lock */
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return status;
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+ 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group2 Input and Output operation functions
+ 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Data transfers functions
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+ 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+ 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### IO operation functions #####
+ 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+ 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+ 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection provides a set of functions allowing to manage the I2C data
+ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transfers.
+ 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) There are two modes of transfer:
+ 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) Blocking mode : The communication is performed in the polling mode.
+ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The status of all data processing is returned by the same function
+ 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** after finishing transfer.
+ 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) No-Blocking mode : The communication is performed using Interrupts
+ 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** or DMA. These functions return the status of the transfer startup.
+ 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** The end of the data processing will be indicated through the
+ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dedicated I2C IRQ when using Interrupt mode or the DMA IRQ when
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** using DMA mode.
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) Blocking mode functions are :
+ 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit()
+ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive()
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit()
+1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive()
+1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write()
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read()
+ ARM GAS /tmp/ccskJbbb.s page 19
+
+
+1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_IsDeviceReady()
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with Interrupt are :
+1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_IT()
+1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_IT()
+1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_IT()
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_IT()
+1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_IT()
+1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_IT()
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_IT()
+1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_IT()
+1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_IT()
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_IT()
+1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_EnableListen_IT()
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_DisableListen_IT()
+1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Abort_IT()
+1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) No-Blocking mode functions with DMA are :
+1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Transmit_DMA()
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Receive_DMA()
+1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Transmit_DMA()
+1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Receive_DMA()
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Write_DMA()
+1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Mem_Read_DMA()
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Transmit_DMA()
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Master_Seq_Receive_DMA()
+1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Transmit_DMA()
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_Slave_Seq_Receive_DMA()
+1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (#) A set of Transfer Complete Callbacks are provided in non Blocking mode:
+1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterTxCpltCallback()
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MasterRxCpltCallback()
+1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveTxCpltCallback()
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_SlaveRxCpltCallback()
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemTxCpltCallback()
+1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_MemRxCpltCallback()
+1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AddrCallback()
+1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ListenCpltCallback()
+1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_ErrorCallback()
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (++) HAL_I2C_AbortCpltCallback()
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in master mode an amount of data in blocking mode.
+1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pD
+ ARM GAS /tmp/ccskJbbb.s page 20
+
+
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+ ARM GAS /tmp/ccskJbbb.s page 21
+
+
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receives in master mode an amount of data in blocking mode.
+1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pDa
+ ARM GAS /tmp/ccskJbbb.s page 22
+
+
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 23
+
+
+1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set */
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmits in slave mode an amount of data in blocking mode.
+1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, ui
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 24
+
+
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bit addressing mode is selected */
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is set Transmitter mode */
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, RESET, Timeout, tickstart) != HAL_OK)
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+ ARM GAS /tmp/ccskJbbb.s page 25
+
+
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode == HAL_I2C_ERROR_AF)
+1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Normal use case for Transmitter mode */
+1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A NACK is generated to confirm the end of transfer */
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
+1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 26
+
+
+1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in blocking mode
+1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size, uin
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until ADDR flag is set */
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_ADDR, RESET, Timeout, tickstart) != HAL_OK)
+1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 27
+
+
+1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until DIR flag is reset Receiver mode */
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_DIR, SET, Timeout, tickstart) != HAL_OK)
+1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U)
+1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnRXNEFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET)
+1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP flag is set */
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP flag */
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until BUSY flag is reset */
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, Timeout, tickstart) != HAL_OK)
+ ARM GAS /tmp/ccskJbbb.s page 28
+
+
+1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with Interrupt
+1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 29
+
+
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_WRIT
+1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with Interrupt
+1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+ ARM GAS /tmp/ccskJbbb.s page 30
+
+
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
+1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with Interrupt
+1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 31
+
+
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
+1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with Interrupt
+1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 32
+
+
+1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in master mode an amount of data in non-blocking mode with DMA
+1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+ ARM GAS /tmp/ccskJbbb.s page 33
+
+
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
+1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+1855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART
+1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
+ ARM GAS /tmp/ccskJbbb.s page 34
+
+
+1859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+1862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+1871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+1874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+1883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+1894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+1896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
+1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+1898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+1903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+1904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+1905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+1906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+1907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+1909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+1912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+ ARM GAS /tmp/ccskJbbb.s page 35
+
+
+1916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+1920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in master mode an amount of data in non-blocking mode with DMA
+1921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+1922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+1923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+1924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+1925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+1926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+1927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+1928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+1929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t
+1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+1932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+1933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+1935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+1937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+1939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+1943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+1947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+1953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+1955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+1958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+1963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+1966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+1968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+1971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+ ARM GAS /tmp/ccskJbbb.s page 36
+
+
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+1974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+1978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
+1981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+1983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+1987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+1990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+1993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+1995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+1996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+1998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+1999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART *
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_
+2002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 37
+
+
+2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
+2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+2041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+2049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+2052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Transmit in slave mode an amount of data in non-blocking mode with DMA
+2064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 38
+
+
+2087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+2094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+2096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
+2099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+2102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+2106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+2109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+2129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+2138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+2141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 39
+
+
+2144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Receive in slave mode an amount of data in non-blocking mode with DMA
+2167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Size)
+2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+2197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+2199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+ ARM GAS /tmp/ccskJbbb.s page 40
+
+
+2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
+2202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+2205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+2209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+2212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+2232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+2241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ ARM GAS /tmp/ccskJbbb.s page 41
+
+
+2258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in blocking mode to a specific memory address
+2269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+2278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddre
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+2302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+2314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 42
+
+
+2315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL
+2317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE */
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
+2328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
+2333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+2336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+2345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+2348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+2351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+2353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+2356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+2364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+2369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 43
+
+
+2372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
+2374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+2376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+2384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+2387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in blocking mode from a specific memory address
+2404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+2413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddres
+2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 44
+
+
+2429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_BUSY, SET, I2C_TIMEOUT_BUSY, tickstart) != HAL_OK
+2437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+2449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, Timeout, tickstart) != HAL_
+2452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+2464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+2469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+2472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until RXNE flag is set */
+2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_RXNE, RESET, Timeout, tickstart) != HAL_OK)
+2475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+2481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+2484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ ARM GAS /tmp/ccskJbbb.s page 45
+
+
+2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+2487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+2489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, tickstart) != HAL_OK)
+2492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST
+2500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+2505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (hi2c->XferCount > 0U);
+2509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+2511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnSTOPFlagUntilTimeout(hi2c, Timeout, tickstart) != HAL_OK)
+2513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+2519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+2522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with Interrupt to a specific memory addres
+2538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+ ARM GAS /tmp/ccskJbbb.s page 46
+
+
+2543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
+2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
+2598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+ ARM GAS /tmp/ccskJbbb.s page 47
+
+
+2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+2606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+2615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+2618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Read an amount of data in non-blocking mode with Interrupt from a specific memory addre
+2629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAdd
+2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 48
+
+
+2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+2675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
+2689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_READ
+2697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, RXI interrupt */
+2706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+2707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_TX
+2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+2709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 49
+
+
+2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Write an amount of data in non-blocking mode with DMA to a specific memory address
+2719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+2727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Write_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemA
+2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+2741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+2766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 50
+
+
+2771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryWrite(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstar
+2780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+2788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+2791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+2794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+2798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+2801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+2820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+2822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 51
+
+
+2828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+2837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+2862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Reads an amount of data in non-blocking mode with DMA from a specific memory address.
+2863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+2864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+2865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+2866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+2867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+2868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+2869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+2870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be read
+2871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+2872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+2873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Mem_Read_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAd
+2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+2876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+2877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+2878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+2880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_MEMADD_SIZE(MemAddSize));
+2881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+2883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+ ARM GAS /tmp/ccskJbbb.s page 52
+
+
+2885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+2891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+2893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+2897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Init tickstart for timeout management*/
+2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+2900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+2904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+2910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+2912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+2915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+2920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and Memory Address */
+2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_RequestMemoryRead(hi2c, DevAddress, MemAddress, MemAddSize, I2C_TIMEOUT_FLAG, tickstart
+2924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+2931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+2934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+2937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+2941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 53
+
+
+2942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+2944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+2953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+2961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and reload if hi2c->XferCount > MAX_NBYTE_SIZE and generate RESTART */
+2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, I2C_GENERATE_START_RE
+2964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+2967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+2972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+2973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+2974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+2976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+2979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+2982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+2985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+2988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+2991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+2993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+2996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+2997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+2998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 54
+
+
+2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Checks if target device is ready for communication.
+3005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This function is used with Memory devices
+3006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Trials Number of trials
+3011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+3012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_IsDeviceReady(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint32_t Tria
+3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+3017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __IO uint32_t I2C_Trials = 0UL;
+3019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp1;
+3021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** FlagStatus tmp2;
+3022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_BUSY) == SET)
+3026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** do
+3037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Start */
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 = I2C_GENERATE_START(hi2c->Init.AddressingMode, DevAddress);
+3040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to Check TC flag, with AUTOEND mode the stop is automatically generated */
+3042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is set or a NACK flag is set*/
+3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tickstart = HAL_GetTick();
+3044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
+3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+3047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while ((tmp1 == RESET) && (tmp2 == RESET))
+3049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+3051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U))
+3053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ ARM GAS /tmp/ccskJbbb.s page 55
+
+
+3056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+3059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp1 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF);
+3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+3069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the NACKF flag has not been set */
+3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == RESET)
+3073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Device is ready */
+3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+3101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag, auto generated with autoend*/
+3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if the maximum allowed number of trials has been reached */
+3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_Trials == Trials)
+3108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+3111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOPF flag is reset */
+ ARM GAS /tmp/ccskJbbb.s page 56
+
+
+3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_STOPF, RESET, Timeout, tickstart) != HAL_OK)
+3114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+3120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Trials */
+3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Trials++;
+3124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (I2C_Trials < Trials);
+3126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+3132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with Inte
+3146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
+3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
+3160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+ ARM GAS /tmp/ccskJbbb.s page 57
+
+
+3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
+3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+3219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 58
+
+
+3227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in master I2C mode an amount of data in non-blocking mode with DMA.
+3230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uin
+3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_WRITE;
+3244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX;
+3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+3263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_TX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 59
+
+
+3284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+3295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMAMasterTransmitCplt;
+3300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+3303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+3307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->
+3310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to write */
+3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+ ARM GAS /tmp/ccskJbbb.s page 60
+
+
+3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+3342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+3345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+3367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to write and generate START condition */
+3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+3369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+3377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+3378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+3380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with Inter
+3392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+ ARM GAS /tmp/ccskJbbb.s page 61
+
+
+3398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8
+3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
+3406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+3427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 62
+
+
+3455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
+3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT);
+3465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in master I2C mode an amount of data in non-blocking mode with DMA
+3476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+3480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+3481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint
+3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xferrequest = I2C_GENERATE_START_READ;
+3490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+3496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX;
+3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+3509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If hi2c->XferCount > MAX_NBYTE_SIZE, use reload mode */
+3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+ ARM GAS /tmp/ccskJbbb.s page 63
+
+
+3512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+3515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If transfer direction not change and there is no request to start another frame, do not gene
+3523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean Previous state is same as current state */
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->PreviousState == I2C_STATE_MASTER_BUSY_RX) && (IS_I2C_TRANSFER_OTHER_OPTIONS_REQUEST
+3525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xferrequest = I2C_NO_STARTSTOP;
+3527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Convert OTHER_xxx XferOptions if any */
+3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ConvertOtherXferOptions(hi2c);
+3532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update xfermode accordingly if no reload is necessary */
+3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount < MAX_NBYTE_SIZE)
+3535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+3537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferSize > 0U)
+3541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMAMasterReceiveCplt;
+3546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+3549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+3553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)p
+3556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 64
+
+
+3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address and set NBYTES to read */
+3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, xfermode, xferrequest);
+3576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_ERROR_IT);
+3588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+3591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Transfer ISR function pointer */
+3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+3611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Slave Address */
+3613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to read and generate START condition */
+3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+3615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK, TXI interrupt */
+3623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* possible to enable all of these */
+3624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C_IT_ERRI | I2C_IT_TCI| I2C_IT_STOPI| I2C_IT_NACKI | I2C_IT_ADDRI | I2C_IT_RXI | I2C_IT_
+3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT);
+ ARM GAS /tmp/ccskJbbb.s page 65
+
+
+3626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+3633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
+3638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
+3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
+3661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
+3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+3668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+3671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+3674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+3676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+3682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 66
+
+
+3683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+3685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+3688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
+3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+3706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
+3708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_LISTEN_IT);
+3722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+3732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential transmit in slave/device I2C mode an amount of data in non-blocking mode wit
+3733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+ ARM GAS /tmp/ccskJbbb.s page 67
+
+
+3740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t
+3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+3744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT);
+3761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave RX state to TX state */
+3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+3765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+3768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+3770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+3773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+3775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+3779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+3782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+3785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+3790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+3792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+3794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+ ARM GAS /tmp/ccskJbbb.s page 68
+
+
+3797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+3801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+3804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+3807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+3814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_TX_LISTEN;
+3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+3829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferCpltCallback = I2C_DMASlaveTransmitCplt;
+3834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferErrorCallback = I2C_DMAError;
+3837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferHalfCpltCallback = NULL;
+3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+3841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)pData, (uint32_t)&hi2c->Instance->TX
+3844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+3853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 69
+
+
+3854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+3861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+3864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
+3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
+3867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+3873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+3876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_RECEIVE)
+3884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, ADDR interrupts */
+3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+3898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+3901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+3905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ ARM GAS /tmp/ccskJbbb.s page 70
+
+
+3911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
+3912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+3913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+3914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+3915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+3916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+3917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+3918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+3919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+3920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_IT(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t Si
+3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+3923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+3924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+3926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+3928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+3931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
+3935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+3938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+3940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
+3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+3942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+3945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+3947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+3949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+3952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+3954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+3956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+3959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+3962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
+ ARM GAS /tmp/ccskJbbb.s page 71
+
+
+3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+3970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+3973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+3980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
+3982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+3983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+3984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+3986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+3990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+3992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+3993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+3994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+3996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+3998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+3999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Sequential receive in slave/device I2C mode an amount of data in non-blocking mode with
+4007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @note This interface allow to manage repeated start condition when a direction change during
+4008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param pData Pointer to data buffer
+4011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Amount of data to be sent
+4012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param XferOptions Options of Transfer, value of @ref I2C_XFEROPTIONS
+4013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Slave_Seq_Receive_DMA(I2C_HandleTypeDef *hi2c, uint8_t *pData, uint16_t S
+4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+4018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+4020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_TRANSFER_OPTIONS_REQUEST(XferOptions));
+4021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+4023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((pData == NULL) || (Size == 0U))
+ ARM GAS /tmp/ccskJbbb.s page 72
+
+
+4025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_INVALID_PARAM;
+4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts, to prevent preemption during treatment in case of multicall */
+4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT);
+4032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C cannot manage full duplex exchange so disable previous IT enabled if any */
+4037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* and then toggle the HAL slave TX state to RX state */
+4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+4039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable associated Interrupts */
+4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+4042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+4044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+4047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+4049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+4051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+4053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+4056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+4059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+4064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+4066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+4068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA Xfer if any */
+4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+4071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+4073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+4075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+4078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+4081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 73
+
+
+4082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_BUSY_RX_LISTEN;
+4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+4093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable Address Acknowledge */
+4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 &= ~I2C_CR2_NACK;
+4096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare transfer parameters */
+4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr = pData;
+4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+4103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+4105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA transfer complete callback */
+4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferCpltCallback = I2C_DMASlaveReceiveCplt;
+4108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the DMA error callback */
+4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferErrorCallback = I2C_DMAError;
+4111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the unused DMA callbacks to NULL */
+4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferHalfCpltCallback = NULL;
+4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+4115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** dmaxferstatus = HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)pDa
+4118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA_PARAM;
+4127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (dmaxferstatus == HAL_OK)
+4135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+4138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 74
+
+
+4139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset XferSize */
+4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = 0;
+4141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C state */
+4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update I2C error code */
+4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_DMA;
+4150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_DIR(hi2c) == I2C_DIRECTION_TRANSMIT)
+4158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag after prepare the transfer parameters */
+4160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This action will generate an acknowledge to the Master */
+4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+4162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+4168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+4169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+4170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* REnable ADDR interrupt */
+4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_LISTEN_IT);
+4172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+4175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Enable the Address listen mode with Interrupt.
+4186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_EnableListen_IT(I2C_HandleTypeDef *hi2c)
+4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+4193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ ARM GAS /tmp/ccskJbbb.s page 75
+
+
+4196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the Address Match interrupt */
+4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+4199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+4205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Disable the Address listen mode with Interrupt.
+4210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C
+4212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_DisableListen_IT(I2C_HandleTypeDef *hi2c)
+4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
+4217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmp;
+4218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address listen mode only if a transfer is not ongoing */
+4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
+4221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp = (uint32_t)(hi2c->State) & I2C_STATE_MSK;
+4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
+4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+4227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable the Address Match interrupt */
+4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+4230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_BUSY;
+4236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Abort a master I2C IT or DMA process communication with Interrupt.
+4241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+4244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+4245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef HAL_I2C_Master_Abort_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress)
+4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
+4250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 76
+
+
+4253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+4257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set State at HAL_I2C_STATE_ABORT */
+4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_ABORT;
+4260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set NBYTES to 1 to generate a dummy read on I2C peripheral */
+4262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set AUTOEND mode, this will generate a NACK then STOP condition to abort the current transfe
+4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, 1, I2C_AUTOEND_MODE, I2C_GENERATE_STOP);
+4264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Note : The I2C interrupts must be enabled after unlocking current process
+4269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** to avoid the risk of I2C interrupt handle execution before current
+4270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** process unlock */
+4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+4272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong usage of abort function */
+4278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This function should be used only in case of abort monitored by master device */
+4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+4280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_IRQ_Handler_and_Callbacks IRQ Handler and Callbacks
+4288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C event interrupt request.
+4293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_EV_IRQHandler(I2C_HandleTypeDef *hi2c)
+4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
+4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+4302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C events treatment -------------------------------------*/
+4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferISR != NULL)
+4305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR(hi2c, itflags, itsources);
+4307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 77
+
+
+4310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C error interrupt request.
+4312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** void HAL_I2C_ER_IRQHandler(I2C_HandleTypeDef *hi2c)
+4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+4320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+4321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Bus error interrupt occurred ------------------------------------*/
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_BERR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E
+4324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_BERR;
+4326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear BERR flag */
+4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_BERR);
+4329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Over-Run/Under-Run interrupt occurred ----------------------------------------*/
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_OVR) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_ER
+4333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_OVR;
+4335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear OVR flag */
+4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_OVR);
+4338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* I2C Arbitration Loss error interrupt occurred -------------------------------------*/
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(itflags, I2C_FLAG_ARLO) != RESET) && (I2C_CHECK_IT_SOURCE(itsources, I2C_IT_E
+4342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_ARLO;
+4344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ARLO flag */
+4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ARLO);
+4347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
+4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
+4351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Error Callback in case of Error detected */
+4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmperror & (HAL_I2C_ERROR_BERR | HAL_I2C_ERROR_OVR | HAL_I2C_ERROR_ARLO)) != HAL_I2C_ERROR_
+4354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, tmperror);
+4356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Tx Transfer completed callback.
+4361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 78
+
+
+4367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterTxCpltCallback could be implemented in the user file
+4372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master Rx Transfer completed callback.
+4377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
+4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MasterRxCpltCallback could be implemented in the user file
+4388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @brief Slave Tx Transfer completed callback.
+4392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveTxCpltCallback could be implemented in the user file
+4403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Rx Transfer completed callback.
+4408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
+4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_SlaveRxCpltCallback could be implemented in the user file
+4419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Slave Address Match callback.
+ ARM GAS /tmp/ccskJbbb.s page 79
+
+
+4424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param TransferDirection Master request Transfer Direction (Write/Read), value of @ref I2C_XFE
+4427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param AddrMatchCode Address Match Code
+4428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AddrCallback(I2C_HandleTypeDef *hi2c, uint8_t TransferDirection, uint16_t AddrM
+4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(TransferDirection);
+4435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(AddrMatchCode);
+4436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AddrCallback() could be implemented in the user file
+4439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Listen Complete callback.
+4444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ListenCpltCallback(I2C_HandleTypeDef *hi2c)
+4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ListenCpltCallback() could be implemented in the user file
+4455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Tx Transfer completed callback.
+4460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
+4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemTxCpltCallback could be implemented in the user file
+4471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Memory Rx Transfer completed callback.
+4476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
+ ARM GAS /tmp/ccskJbbb.s page 80
+
+
+4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_MemRxCpltCallback could be implemented in the user file
+4487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C error callback.
+4492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
+4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_ErrorCallback could be implemented in the user file
+4503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C abort callback.
+4508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+4511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __weak void HAL_I2C_AbortCpltCallback(I2C_HandleTypeDef *hi2c)
+4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+4515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(hi2c);
+4516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* NOTE : This function should not be modified, when the callback is needed,
+4518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** the HAL_I2C_AbortCpltCallback could be implemented in the user file
+4519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @defgroup I2C_Exported_Functions_Group3 Peripheral State, Mode and Error functions
+4527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Peripheral State, Mode and Error functions
+4528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *
+4529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @verbatim
+4530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+4531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ##### Peripheral State, Mode and Error functions #####
+4532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ===============================================================================
+4533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** [..]
+4534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** This subsection permit to get in run-time the status of the peripheral
+4535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** and the data flow.
+4536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** @endverbatim
+ ARM GAS /tmp/ccskJbbb.s page 81
+
+
+4538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C handle state.
+4543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL state
+4546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef HAL_I2C_GetState(I2C_HandleTypeDef *hi2c)
+4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
+4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->State;
+4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Returns the I2C Master, Slave, Memory or no mode.
+4555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for I2C module
+4557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL mode
+4558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ModeTypeDef HAL_I2C_GetMode(I2C_HandleTypeDef *hi2c)
+4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
+4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Return the I2C error code.
+4566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval I2C Error Code
+4569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t HAL_I2C_GetError(I2C_HandleTypeDef *hi2c)
+4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
+4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @}
+4581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /** @addtogroup I2C_Private_Functions
+4584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @{
+4585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with Interrupt.
+4589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ ARM GAS /tmp/ccskJbbb.s page 82
+
+
+4595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+4598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+4599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+4604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
+4609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
+4610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
+4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+4612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
+4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
+4620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+4623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+4634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I
+4642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount != 0U) && (hi2c->XferSize == 0U))
+4644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
+4646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+4648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
+4651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 83
+
+
+4652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+4656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, hi2c->XferOptions, I2C_NO_S
+4658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+4662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
+4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
+4676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2
+4682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
+4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
+4689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+4692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
+4703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 84
+
+
+4709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
+4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, tmpITFlags);
+4716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with Interrupt.
+4726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_IT(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint3
+4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+4735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+4736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
+4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, tmpITFlags);
+4745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+4748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
+4750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
+4751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0*/
+4752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
+4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* Sam
+4756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
+4759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAME)
+4761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+ ARM GAS /tmp/ccskJbbb.s page 85
+
+
+4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+4769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
+4781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+4786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
+4788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+4791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
+4797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+4800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferCount == 0U) && \
+4809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+4810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, tmpITFlags);
+4818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_TXIS) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources,
+4820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR only if XferCount not reach "0" */
+4822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* A TXIS flag can be set, during STOP treatment */
+ ARM GAS /tmp/ccskJbbb.s page 86
+
+
+4823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if all Datas have already been sent */
+4824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */
+4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > 0U)
+4826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write data to TXDR */
+4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = *hi2c->pBuffPtr;
+4829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+4832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+4835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
+4839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+4841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+4843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Master Mode with DMA.
+4859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+4865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Master_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uin
+4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+4868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+4869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Locked */
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+4872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC
+4874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+4877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set corresponding Error Code */
+4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+ ARM GAS /tmp/ccskJbbb.s page 87
+
+
+4880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No need to generate STOP, it is automatically done */
+4882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* But enable STOP interrupt, to treat it */
+4883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Error callback will be send during stop flag treatment */
+4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+4885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+4888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TCR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_
+4890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC interrupt */
+4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, I2C_IT_TCI);
+4893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
+4895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Recover Slave address */
+4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** devaddress = (uint16_t)(hi2c->Instance->CR2 & I2C_CR2_SADD);
+4898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prepare the new XferSize to transfer */
+4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+4901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+4904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+4909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+4911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+4915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the new XferSize in Nbytes register */
+4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, xfermode, I2C_NO_STARTSTOP);
+4920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update XferCount value */
+4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount -= hi2c->XferSize;
+4923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable DMA Request */
+4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+4926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_RXDMAEN;
+4928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 |= I2C_CR1_TXDMAEN;
+4932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call TxCpltCallback() if no stop mode is set */
+ ARM GAS /tmp/ccskJbbb.s page 88
+
+
+4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TCR flag event */
+4945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_TC) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_I
+4951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+4953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_GET_STOP_MODE(hi2c) != I2C_AUTOEND_MODE)
+4955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate a stop condition in case of no transfer option */
+4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_NO_OPTION_FRAME)
+4958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Generate Stop */
+4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_STOP;
+4961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master Sequential complete process */
+4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterSeqCplt(hi2c);
+4966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wrong size Status regarding TC flag event */
+4972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_SIZE);
+4974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2
+4977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Master complete process */
+4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITMasterCplt(hi2c, ITFlags);
+4980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+4982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+4983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+4984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+4988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+4991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+4992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+4993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Interrupt Sub-Routine which handle the Interrupt Flags Slave Mode with DMA.
+ ARM GAS /tmp/ccskJbbb.s page 89
+
+
+4994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+4995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+4996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+4997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITSources Interrupt sources enabled.
+4998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+4999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_Slave_ISR_DMA(struct __I2C_HandleTypeDef *hi2c, uint32_t ITFlags, uint
+5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
+5004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process locked */
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_LOCK(hi2c);
+5007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if STOPF is set */
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_STOPF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_
+5010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave complete process */
+5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveCplt(hi2c, ITFlags);
+5013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C_IT_NAC
+5016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check that I2C transfer finished */
+5018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if yes, normal use case, a NACK is sent by the MASTER when Transfer is finished */
+5019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean XferCount == 0 */
+5020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So clear Flag NACKF only */
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET) ||
+5022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+5023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmarx, for MISRA compliance */
+5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET)
+5028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U)
+5030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
+5032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Split check of hdmatx, for MISRA compliance */
+5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_TXDMAEN) != RESET)
+5040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_DMA_GET_COUNTER(hi2c->hdmatx) == 0U)
+5042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** treatdmanack = 1U;
+5044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (treatdmanack == 1U)
+5049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_LISTEN) && (tmpoptions == I2C_FIRST_AND_LAST_FRAME)) /* S
+ ARM GAS /tmp/ccskJbbb.s page 90
+
+
+5051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, ITFlags);
+5054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN) && (tmpoptions != I2C_NO_OPTION_FRAM
+5056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+5062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+5064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if no, error use case, a Non-Acknowledge of last Data is generated by the MASTER*/
+5076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_FIRST_FRAME) || (tmpoptions == I2C_NEXT_FRAME))
+5083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Only Clear NACK Flag, no DMA treatment is pending */
+5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((I2C_CHECK_FLAG(ITFlags, I2C_FLAG_ADDR) != RESET) && (I2C_CHECK_IT_SOURCE(ITSources, I2C
+5096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITAddrCplt(hi2c, ITFlags);
+5098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+ ARM GAS /tmp/ccskJbbb.s page 91
+
+
+5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for write reques
+5112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+5113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+5114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+5115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+5116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+5117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+5118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+5119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+5120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+5121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryWrite(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint1
+5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
+5125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
+5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
+5134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
+5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
+5139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
+5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
+5143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
+5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TCR flag is set */
+5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TCR, RESET, Timeout, Tickstart) != HAL_OK)
+5156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Master sends target device address followed by internal memory address for read request
+ ARM GAS /tmp/ccskJbbb.s page 92
+
+
+5165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+5166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+5167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Target device address: The device 7 bits address value
+5168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * in datasheet must be shifted to the left before calling the interface
+5169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddress Internal memory address
+5170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param MemAddSize Size of internal memory address
+5171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+5172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+5173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+5174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_RequestMemoryRead(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16
+5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
+5178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 8Bit */
+5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (MemAddSize == I2C_MEMADD_SIZE_8BIT)
+5187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send Memory Address */
+5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If Memory address size is 16Bit */
+5192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send MSB of Memory Address */
+5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_MSB(MemAddress);
+5196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TXIS flag is set */
+5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnTXISFlagUntilTimeout(hi2c, Timeout, Tickstart) != HAL_OK)
+5199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Send LSB of Memory Address */
+5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = I2C_MEM_ADD_LSB(MemAddress);
+5205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until TC flag is set */
+5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_WaitOnFlagUntilTimeout(hi2c, I2C_FLAG_TC, RESET, Timeout, Tickstart) != HAL_OK)
+5209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+5211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Address complete process callback.
+5218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+ ARM GAS /tmp/ccskJbbb.s page 93
+
+
+5222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITAddrCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
+5225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t slaveaddrcode;
+5226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd1code;
+5227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t ownadd2code;
+5228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+5230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** UNUSED(ITFlags);
+5231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* In case of Listen state, need to inform upper layer of address match code event */
+5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) == (uint32_t)HAL_I2C_STATE_LISTEN)
+5234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** transferdirection = I2C_GET_DIR(hi2c);
+5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
+5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
+5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
+5239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If 10bits addressing mode is selected */
+5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Init.AddressingMode == I2C_ADDRESSINGMODE_10BIT)
+5242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((slaveaddrcode & SlaveAddr_MSK) == ((ownadd1code >> SlaveAddr_SHIFT) & SlaveAddr_MSK))
+5244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd1code;
+5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount++;
+5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
+5248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset Address Event counter */
+5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrEventCount = 0U;
+5251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+5254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = ownadd2code;
+5269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
+5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+5272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+ ARM GAS /tmp/ccskJbbb.s page 94
+
+
+5279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else 7 bits addressing mode is selected */
+5285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR Interrupts */
+5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT);
+5289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Slave Addr callback */
+5294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AddrCallback(hi2c, transferdirection, slaveaddrcode);
+5298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Else clear address flag only */
+5302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear ADDR flag */
+5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_ADDR);
+5306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master sequential complete process.
+5314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterSeqCplt(I2C_HandleTypeDef *hi2c)
+5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No Generate Stop, to permit restart mode */
+5323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The stop will be done at the end of transfer, when I2C_AUTOEND_MODE enable */
+5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
+5325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
+5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+5332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 95
+
+
+5336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
+5339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
+5341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
+5344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
+5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+5352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
+5359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
+5361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave sequential complete process.
+5367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveSeqCplt(I2C_HandleTypeDef *hi2c)
+5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_BUSY_TX_LISTEN)
+5376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_TX, keep only HAL_I2C_STATE_LISTEN */
+5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
+5380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+5383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
+5390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
+5392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ ARM GAS /tmp/ccskJbbb.s page 96
+
+
+5393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX_LISTEN)
+5396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove HAL_I2C_STATE_SLAVE_BUSY_RX, keep only HAL_I2C_STATE_LISTEN */
+5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
+5400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT);
+5403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
+5410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
+5412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Master complete process.
+5422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITMasterCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+5429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+5432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+5435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_AF) != RESET)
+5442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set acknowledge error code */
+5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 97
+
+
+5450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+5452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT | I2C_XFER_RX_IT);
+5455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store current volatile hi2c->ErrorCode, misra rule */
+5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmperror = hi2c->ErrorCode;
+5458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->State == HAL_I2C_STATE_ABORT) || (tmperror != HAL_I2C_ERROR_NONE))
+5461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_TX */
+5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_TX)
+5467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
+5471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemTxCpltCallback(hi2c);
+5480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemTxCpltCallback(hi2c);
+5482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterTxCpltCallback(hi2c);
+5494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterTxCpltCallback(hi2c);
+5496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* hi2c->State == HAL_I2C_STATE_BUSY_RX */
+5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+5501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MEM)
+5505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 98
+
+
+5507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MemRxCpltCallback(hi2c);
+5514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MemRxCpltCallback(hi2c);
+5516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->MasterRxCpltCallback(hi2c);
+5528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_MasterRxCpltCallback(hi2c);
+5530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+5536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Slave complete process.
+5541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITSlaveCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
+5548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+5549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+5552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
+5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_TX_IT | I2C_XFER_RX_IT);
+5555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Address Acknowledge */
+5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+5558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+5561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 99
+
+
+5564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a DMA is ongoing, Update handle size context */
+5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_TXDMAEN) != RESET)
+5567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmatx);
+5571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (I2C_CHECK_IT_SOURCE(tmpcr1value, I2C_CR1_RXDMAEN) != RESET)
+5574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = (uint16_t)__HAL_DMA_GET_COUNTER(hi2c->hdmarx);
+5578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Do nothing */
+5583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(tmpITFlags, I2C_FLAG_RXNE) != RESET)
+5587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Remove RXNE flag on temporary variable as read done */
+5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpITFlags &= ~I2C_FLAG_RXNE;
+5590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+5593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+5596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
+5598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+5601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* All data are not transferred, so set error code accordingly */
+5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount != 0U)
+5606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->ErrorCode != HAL_I2C_ERROR_NONE)
+5616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, hi2c->ErrorCode);
+5619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+ ARM GAS /tmp/ccskJbbb.s page 100
+
+
+5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_LISTEN)
+5622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Listen complete process */
+5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITListenCplt(hi2c, tmpITFlags);
+5625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+5628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Sequential Complete callback, to inform upper layer of the end of Tranfer */
+5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+5639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
+5641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
+5643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_BUSY_RX)
+5647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveRxCpltCallback(hi2c);
+5656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveRxCpltCallback(hi2c);
+5658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->SlaveTxCpltCallback(hi2c);
+5670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_SlaveTxCpltCallback(hi2c);
+5672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Listen complete process.
+ ARM GAS /tmp/ccskJbbb.s page 101
+
+
+5678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ITFlags Interrupt flags to handle.
+5680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITListenCplt(I2C_HandleTypeDef *hi2c, uint32_t ITFlags)
+5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_CHECK_FLAG(ITFlags, I2C_FLAG_RXNE) != RESET)
+5693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Read data from RXDR */
+5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** *hi2c->pBuffPtr = (uint8_t)hi2c->Instance->RXDR;
+5696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Increment Buffer pointer */
+5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr++;
+5699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferSize > 0U))
+5701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+5704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set ErrorCode corresponding to a Non-Acknowledge */
+5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+5707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all Interrupts*/
+5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACK Flag */
+5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+5715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */
+5720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ListenCpltCallback(hi2c);
+5722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ListenCpltCallback(hi2c);
+5724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C interrupts error process.
+5729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+5730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param ErrorCode Error code to handle.
+5731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ITError(I2C_HandleTypeDef *hi2c, uint32_t ErrorCode)
+5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 102
+
+
+5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
+5736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
+5741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set new error code */
+5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= ErrorCode;
+5744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Interrupts */
+5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpstate == HAL_I2C_STATE_LISTEN) ||
+5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
+5748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
+5749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts, except interrupts related to LISTEN state */
+5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* keep HAL_I2C_STATE_LISTEN if set */
+5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_LISTEN;
+5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+5757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable all interrupts */
+5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_LISTEN_IT | I2C_XFER_RX_IT | I2C_XFER_TX_IT);
+5762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If state is an abort treatment on goind, don't change state */
+5764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* This change will be do later */
+5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State != HAL_I2C_STATE_ABORT)
+5766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set HAL_I2C_STATE_READY */
+5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+5772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX transfer if any */
+5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->Instance->CR1 & I2C_CR1_TXDMAEN) == I2C_CR1_TXDMAEN)
+5776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmatx != NULL)
+5780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+5782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = I2C_DMAAbort;
+5784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA TX */
+5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmatx) != HAL_OK)
+5790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly XferAbortCallback function in case of error */
+ ARM GAS /tmp/ccskJbbb.s page 103
+
+
+5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback(hi2c->hdmatx);
+5793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX transfer if any */
+5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((hi2c->Instance->CR1 & I2C_CR1_RXDMAEN) == I2C_CR1_RXDMAEN)
+5798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+5800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->hdmarx != NULL)
+5802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the I2C DMA Abort callback :
+5804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** will lead to call HAL_I2C_ErrorCallback() at end of DMA abort procedure */
+5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = I2C_DMAAbort;
+5806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Abort DMA RX */
+5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Abort_IT(hi2c->hdmarx) != HAL_OK)
+5812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call Directly hi2c->hdmarx->XferAbortCallback function in case of error */
+5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback(hi2c->hdmarx);
+5815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->State == HAL_I2C_STATE_ABORT)
+5819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+5821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
+5828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
+5830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+5836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+5839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
+5840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
+5842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+5843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief I2C Tx data register flush process.
+5848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+ ARM GAS /tmp/ccskJbbb.s page 104
+
+
+5849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Flush_TXDR(I2C_HandleTypeDef *hi2c)
+5852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 25 .loc 1 5852 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 @ link register save eliminated.
+ 30 .LVL0:
+5853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If a pending TXIS flag is set */
+5854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Write a dummy data in TXDR to clear it */
+5855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) != RESET)
+ 31 .loc 1 5855 0
+ 32 0000 0368 ldr r3, [r0]
+ 33 0002 9A69 ldr r2, [r3, #24]
+ 34 0004 9207 lsls r2, r2, #30
+ 35 0006 01D5 bpl .L2
+5856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->TXDR = 0x00U;
+ 36 .loc 1 5857 0
+ 37 0008 0022 movs r2, #0
+ 38 000a 9A62 str r2, [r3, #40]
+ 39 .L2:
+5858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register if not empty */
+5861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXE) == RESET)
+ 40 .loc 1 5861 0
+ 41 000c 0368 ldr r3, [r0]
+ 42 000e 9A69 ldr r2, [r3, #24]
+ 43 0010 D207 lsls r2, r2, #31
+ 44 0012 03D4 bmi .L1
+5862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_TXE);
+ 45 .loc 1 5863 0
+ 46 0014 9A69 ldr r2, [r3, #24]
+ 47 0016 0121 movs r1, #1
+ 48 0018 0A43 orrs r2, r1
+ 49 001a 9A61 str r2, [r3, #24]
+ 50 .L1:
+5864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 51 .loc 1 5865 0
+ 52 @ sp needed
+ 53 001c 7047 bx lr
+ 54 .cfi_endproc
+ 55 .LFE102:
+ 57 .section .text.I2C_TransferConfig,"ax",%progbits
+ 58 .align 1
+ 59 .syntax unified
+ 60 .code 16
+ 61 .thumb_func
+ 62 .fpu softvfp
+ 64 I2C_TransferConfig:
+ 65 .LFB114:
+5866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 105
+
+
+5867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master transmit process complete callback.
+5869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterTransmitCplt(DMA_HandleTypeDef *hdma)
+5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
+5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+5881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
+5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+5884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
+5886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
+5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
+5890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
+5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+5893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+5895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+5899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmatx, (uint32_t)hi2c->pBuffPtr, (uint32_t)&hi2c->Instance->TXDR, h
+5903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+5906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
+5911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave transmit process complete callback.
+5917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveTransmitCplt(DMA_HandleTypeDef *hdma)
+5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ ARM GAS /tmp/ccskJbbb.s page 106
+
+
+5924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((tmpoptions == I2C_NEXT_FRAME) || (tmpoptions == I2C_FIRST_FRAME))
+5926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_TXDMAEN;
+5929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Last Byte is Transmitted */
+5931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+5933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
+5937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
+5938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
+5939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C master receive process complete callback.
+5944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAMasterReceiveCplt(DMA_HandleTypeDef *hdma)
+5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+5953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* If last transfer, enable STOP interrupt */
+5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount == 0U)
+5956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupt */
+5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_CPLT_IT);
+5959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else prepare a new DMA transfer and enable TCReload interrupt */
+5961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Update Buffer pointer */
+5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->pBuffPtr += hi2c->XferSize;
+5965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Set the XferSize to transfer */
+5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferCount > MAX_NBYTE_SIZE)
+5968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = MAX_NBYTE_SIZE;
+5970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+5974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable the DMA channel */
+5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (HAL_DMA_Start_IT(hi2c->hdmarx, (uint32_t)&hi2c->Instance->RXDR, (uint32_t)hi2c->pBuffPtr, h
+5978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+ ARM GAS /tmp/ccskJbbb.s page 107
+
+
+5981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+5983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Enable_IRQ(hi2c, I2C_XFER_RELOAD_IT);
+5986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+5989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+5990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+5991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C slave receive process complete callback.
+5992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+5993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+5994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+5995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMASlaveReceiveCplt(DMA_HandleTypeDef *hdma)
+5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+5999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_DMA_GET_COUNTER(hi2c->hdmarx) == 0U) && \
+6001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+6002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable DMA Request */
+6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR1 &= ~I2C_CR1_RXDMAEN;
+6005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call I2C Slave Sequential complete process */
+6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITSlaveSeqCplt(hi2c);
+6008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* No specific action, Master fully manage the generation of STOP condition */
+6012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Mean that this generation can arrive at any time, at the end or during DMA process */
+6013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* So STOP condition should be manage through Interrupt treatment */
+6014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication error callback.
+6019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle
+6020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAError(DMA_HandleTypeDef *hdma)
+6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+6025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable Acknowledge */
+6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Instance->CR2 |= I2C_CR2_NACK;
+6028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_ITError(hi2c, HAL_I2C_ERROR_DMA);
+6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief DMA I2C communication abort callback
+6035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * (To be called at end of DMA Abort procedure).
+6036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hdma DMA handle.
+6037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+ ARM GAS /tmp/ccskJbbb.s page 108
+
+
+6038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_DMAAbort(DMA_HandleTypeDef *hdma)
+6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+6042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset AbortCpltCallback */
+6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+6046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if come from abort from user */
+6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_ABORT)
+6049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+6054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->AbortCpltCallback(hi2c);
+6055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_AbortCpltCallback(hi2c);
+6057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+6058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Call the corresponding callback to inform upper layer of End of Transfer */
+6062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #if (USE_HAL_I2C_REGISTER_CALLBACKS == 1)
+6063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCallback(hi2c);
+6064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #else
+6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_ErrorCallback(hi2c);
+6066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+6067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout.
+6072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Flag Specifies the I2C flag to check.
+6075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Status The new Flag status (SET or RESET).
+6076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Flag, FlagSta
+6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
+6083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 109
+
+
+6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of TXIS flag.
+6104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnTXISFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
+6113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of STOP flag.
+6141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnSTOPFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+6150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+ ARM GAS /tmp/ccskJbbb.s page 110
+
+
+6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles I2C Communication Timeout for specific usage of RXNE flag.
+6175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_WaitOnRXNEFlagUntilTimeout(I2C_HandleTypeDef *hi2c, uint32_t Timeout,
+6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
+6184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a NACK is detected */
+6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (I2C_IsAcknowledgeFailed(hi2c, Timeout, Tickstart) != HAL_OK)
+6187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if a STOPF is detected */
+6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == SET)
+6193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check if an RXNE is pending */
+6195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Store Last receive data if any */
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == SET) && (hi2c->XferSize > 0U))
+6197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return HAL_OK */
+6199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* The Reading of data from RXDR will be done in caller function */
+6200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+6206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+ ARM GAS /tmp/ccskJbbb.s page 111
+
+
+6209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief This function handles Acknowledge failed detection during an I2C Communication.
+6238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Timeout Timeout duration
+6241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Tickstart Tick start value
+6242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval HAL status
+6243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static HAL_StatusTypeDef I2C_IsAcknowledgeFailed(I2C_HandleTypeDef *hi2c, uint32_t Timeout, uint32_
+6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
+6247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Wait until STOP Flag is reset */
+6249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* AutoEnd should be initiate after AF */
+6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+6251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check for the Timeout */
+6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (Timeout != HAL_MAX_DELAY)
+6254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((HAL_GetTick() - Tickstart) > Timeout) || (Timeout == 0U))
+6256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_TIMEOUT;
+6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 112
+
+
+6266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear NACKF Flag */
+6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_AF);
+6271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear STOP Flag */
+6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_CLEAR_FLAG(hi2c, I2C_FLAG_STOPF);
+6274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Flush TX register */
+6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Flush_TXDR(hi2c);
+6277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Clear Configuration Register 2 */
+6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_RESET_CR2(hi2c);
+6280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode |= HAL_I2C_ERROR_AF;
+6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+6284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Process Unlocked */
+6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_UNLOCK(hi2c);
+6287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+6289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_OK;
+6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Handles I2Cx communication when starting transfer or during transfer (TC or TCR flag ar
+6295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+6296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param DevAddress Specifies the slave address to be programmed.
+6297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Size Specifies the number of bytes to be programmed.
+6298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter must be a value between 0 and 255.
+6299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Mode New state of the I2C START condition generation.
+6300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+6301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_RELOAD_MODE Enable Reload mode .
+6302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_AUTOEND_MODE Enable Automatic end mode.
+6303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_SOFTEND_MODE Enable Software end mode.
+6304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param Request New state of the I2C START condition generation.
+6305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * This parameter can be one of the following values:
+6306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_NO_STARTSTOP Don't Generate stop and start condition.
+6307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_STOP Generate stop condition (Size should be set to 0).
+6308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_READ Generate Restart for read request.
+6309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @arg @ref I2C_GENERATE_START_WRITE Generate Restart for write request.
+6310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_TransferConfig(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t Size, uint32_t
+6313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 66 .loc 1 6313 0
+ 67 .cfi_startproc
+ 68 @ args = 4, pretend = 0, frame = 0
+ 69 @ frame_needed = 0, uses_anonymous_args = 0
+ 70 .LVL1:
+ 71 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 72 .LCFI0:
+ 73 .cfi_def_cfa_offset 20
+ 74 .cfi_offset 4, -20
+ ARM GAS /tmp/ccskJbbb.s page 113
+
+
+ 75 .cfi_offset 5, -16
+ 76 .cfi_offset 6, -12
+ 77 .cfi_offset 7, -8
+ 78 .cfi_offset 14, -4
+ 79 0002 059C ldr r4, [sp, #20]
+6314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+6315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+6316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_MODE(Mode));
+6317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** assert_param(IS_TRANSFER_REQUEST(Request));
+6318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* update CR2 register */
+6320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** MODIFY_REG(hi2c->Instance->CR2, ((I2C_CR2_SADD | I2C_CR2_NBYTES | I2C_CR2_RELOAD | I2C_CR2_AUTOEN
+ 80 .loc 1 6320 0
+ 81 0004 0568 ldr r5, [r0]
+ 82 0006 6868 ldr r0, [r5, #4]
+ 83 .LVL2:
+ 84 0008 660D lsrs r6, r4, #21
+ 85 000a 8027 movs r7, #128
+ 86 000c FF00 lsls r7, r7, #3
+ 87 000e 3740 ands r7, r6
+ 88 0010 054E ldr r6, .L5
+ 89 0012 3E43 orrs r6, r7
+ 90 0014 B043 bics r0, r6
+ 91 0016 8905 lsls r1, r1, #22
+ 92 .LVL3:
+ 93 0018 890D lsrs r1, r1, #22
+ 94 001a 1204 lsls r2, r2, #16
+ 95 .LVL4:
+ 96 001c 1143 orrs r1, r2
+ 97 001e 0B43 orrs r3, r1
+ 98 .LVL5:
+ 99 0020 2343 orrs r3, r4
+ 100 0022 0343 orrs r3, r0
+ 101 0024 6B60 str r3, [r5, #4]
+6321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | (((uint32_t)Size << I2C_CR2_NBYTES_
+6322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 102 .loc 1 6322 0
+ 103 @ sp needed
+ 104 0026 F0BD pop {r4, r5, r6, r7, pc}
+ 105 .L6:
+ 106 .align 2
+ 107 .L5:
+ 108 0028 FF63FF03 .word 67068927
+ 109 .cfi_endproc
+ 110 .LFE114:
+ 112 .section .text.I2C_Enable_IRQ,"ax",%progbits
+ 113 .align 1
+ 114 .syntax unified
+ 115 .code 16
+ 116 .thumb_func
+ 117 .fpu softvfp
+ 119 I2C_Enable_IRQ:
+ 120 .LFB115:
+6323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the enabling of Interrupts.
+6326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ ARM GAS /tmp/ccskJbbb.s page 114
+
+
+6327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
+6329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Enable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
+6332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 121 .loc 1 6332 0
+ 122 .cfi_startproc
+ 123 @ args = 0, pretend = 0, frame = 0
+ 124 @ frame_needed = 0, uses_anonymous_args = 0
+ 125 @ link register save eliminated.
+ 126 .LVL6:
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+6334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((hi2c->XferISR == I2C_Master_ISR_DMA) || \
+ 127 .loc 1 6335 0
+ 128 0000 436B ldr r3, [r0, #52]
+ 129 0002 1C4A ldr r2, .L23
+ 130 0004 9342 cmp r3, r2
+ 131 0006 12D0 beq .L8
+ 132 .loc 1 6335 0 is_stmt 0 discriminator 1
+ 133 0008 1B4A ldr r2, .L23+4
+ 134 000a 9342 cmp r3, r2
+ 135 000c 0FD0 beq .L8
+6336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (hi2c->XferISR == I2C_Slave_ISR_DMA))
+6337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+6339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK and ADDR interrupts */
+6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+6342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
+6345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
+6348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+6351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+6354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
+6357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
+6360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+ 136 .loc 1 6364 0 is_stmt 1
+ 137 000e 4B07 lsls r3, r1, #29
+ 138 0010 2AD4 bmi .L18
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+ ARM GAS /tmp/ccskJbbb.s page 115
+
+
+ 139 .loc 1 6333 0
+ 140 0012 0023 movs r3, #0
+ 141 .L14:
+ 142 .LVL7:
+6365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, STOP, NACK, and ADDR interrupts */
+6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+6368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
+ 143 .loc 1 6370 0
+ 144 0014 CA07 lsls r2, r1, #31
+ 145 0016 01D5 bpl .L15
+6371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and RXI interrupts */
+6373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_TXI;
+ 146 .loc 1 6373 0
+ 147 0018 F222 movs r2, #242
+ 148 001a 1343 orrs r3, r2
+ 149 .LVL8:
+ 150 .L15:
+6374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
+ 151 .loc 1 6376 0
+ 152 001c 8A07 lsls r2, r1, #30
+ 153 001e 25D4 bmi .L19
+6377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR, TC, STOP, NACK and TXI interrupts */
+6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_TCI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_RXI;
+6380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+ 154 .loc 1 6382 0
+ 155 0020 1222 movs r2, #18
+ 156 0022 1140 ands r1, r2
+ 157 .LVL9:
+ 158 0024 1229 cmp r1, #18
+ 159 0026 0FD1 bne .L13
+6383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+ 160 .loc 1 6385 0
+ 161 0028 0E32 adds r2, r2, #14
+ 162 002a 1343 orrs r3, r2
+ 163 .LVL10:
+ 164 002c 0CE0 b .L13
+ 165 .LVL11:
+ 166 .L8:
+6338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 167 .loc 1 6338 0
+ 168 002e 4B07 lsls r3, r1, #29
+ 169 0030 0FD4 bmi .L17
+6333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 170 .loc 1 6333 0
+ 171 0032 0023 movs r3, #0
+ 172 .L10:
+ ARM GAS /tmp/ccskJbbb.s page 116
+
+
+ 173 .LVL12:
+6344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 174 .loc 1 6344 0
+ 175 0034 1122 movs r2, #17
+ 176 0036 0A40 ands r2, r1
+ 177 0038 112A cmp r2, #17
+ 178 003a 0CD0 beq .L20
+ 179 .L11:
+ 180 003c 1222 movs r2, #18
+ 181 003e 1140 ands r1, r2
+ 182 .LVL13:
+6350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 183 .loc 1 6350 0
+ 184 0040 1229 cmp r1, #18
+ 185 0042 0BD0 beq .L21
+ 186 .L12:
+6356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 187 .loc 1 6356 0
+ 188 0044 1229 cmp r1, #18
+ 189 0046 0CD0 beq .L22
+ 190 .L13:
+6386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable interrupts only at the end */
+6390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid the risk of I2C interrupt handle execution before */
+6391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all interrupts requested done */
+6392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_ENABLE_IT(hi2c, tmpisr);
+ 191 .loc 1 6392 0
+ 192 0048 0168 ldr r1, [r0]
+ 193 004a 0A68 ldr r2, [r1]
+ 194 004c 1343 orrs r3, r2
+ 195 .LVL14:
+ 196 004e 0B60 str r3, [r1]
+6393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 197 .loc 1 6393 0
+ 198 @ sp needed
+ 199 0050 7047 bx lr
+ 200 .LVL15:
+ 201 .L17:
+6341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 202 .loc 1 6341 0
+ 203 0052 B823 movs r3, #184
+ 204 0054 EEE7 b .L10
+ 205 .LVL16:
+ 206 .L20:
+6347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 207 .loc 1 6347 0
+ 208 0056 7F32 adds r2, r2, #127
+ 209 0058 1343 orrs r3, r2
+ 210 .LVL17:
+ 211 005a EFE7 b .L11
+ 212 .LVL18:
+ 213 .L21:
+6353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 214 .loc 1 6353 0
+ 215 005c 0E32 adds r2, r2, #14
+ ARM GAS /tmp/ccskJbbb.s page 117
+
+
+ 216 005e 1343 orrs r3, r2
+ 217 .LVL19:
+ 218 0060 F0E7 b .L12
+ 219 .L22:
+6359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 220 .loc 1 6359 0
+ 221 0062 4022 movs r2, #64
+ 222 0064 1343 orrs r3, r2
+ 223 .LVL20:
+ 224 0066 EFE7 b .L13
+ 225 .LVL21:
+ 226 .L18:
+6367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 227 .loc 1 6367 0
+ 228 0068 B823 movs r3, #184
+ 229 006a D3E7 b .L14
+ 230 .LVL22:
+ 231 .L19:
+6379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 232 .loc 1 6379 0
+ 233 006c F422 movs r2, #244
+ 234 006e 1343 orrs r3, r2
+ 235 .LVL23:
+ 236 0070 EAE7 b .L13
+ 237 .L24:
+ 238 0072 C046 .align 2
+ 239 .L23:
+ 240 0074 00000000 .word I2C_Master_ISR_DMA
+ 241 0078 00000000 .word I2C_Slave_ISR_DMA
+ 242 .cfi_endproc
+ 243 .LFE115:
+ 245 .section .text.I2C_Disable_IRQ,"ax",%progbits
+ 246 .align 1
+ 247 .syntax unified
+ 248 .code 16
+ 249 .thumb_func
+ 250 .fpu softvfp
+ 252 I2C_Disable_IRQ:
+ 253 .LFB116:
+6394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Manage the disabling of Interrupts.
+6397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+6398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * the configuration information for the specified I2C.
+6399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param InterruptRequest Value of @ref I2C_Interrupt_configuration_definition.
+6400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_Disable_IRQ(I2C_HandleTypeDef *hi2c, uint16_t InterruptRequest)
+6403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 254 .loc 1 6403 0
+ 255 .cfi_startproc
+ 256 @ args = 0, pretend = 0, frame = 0
+ 257 @ frame_needed = 0, uses_anonymous_args = 0
+ 258 .LVL24:
+ 259 0000 30B5 push {r4, r5, lr}
+ 260 .LCFI1:
+ 261 .cfi_def_cfa_offset 12
+ ARM GAS /tmp/ccskJbbb.s page 118
+
+
+ 262 .cfi_offset 4, -12
+ 263 .cfi_offset 5, -8
+ 264 .cfi_offset 14, -4
+ 265 .LVL25:
+6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpisr = 0U;
+6405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_TX_IT) == I2C_XFER_TX_IT)
+ 266 .loc 1 6406 0
+ 267 0002 CB07 lsls r3, r1, #31
+ 268 0004 09D5 bpl .L32
+ 269 .LVL26:
+6407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and TXI interrupts */
+6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_TXI;
+6410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
+ 270 .loc 1 6411 0
+ 271 0006 4123 movs r3, #65
+ 272 0008 C35C ldrb r3, [r0, r3]
+ 273 000a 2822 movs r2, #40
+ 274 000c 1340 ands r3, r2
+ 275 000e 282B cmp r3, #40
+ 276 0010 01D0 beq .L35
+6412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
+6414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 277 .loc 1 6414 0
+ 278 0012 F223 movs r3, #242
+ 279 0014 02E0 b .L26
+ 280 .L35:
+6409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 281 .loc 1 6409 0
+ 282 0016 1A33 adds r3, r3, #26
+ 283 0018 00E0 b .L26
+ 284 .LVL27:
+ 285 .L32:
+6404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 286 .loc 1 6404 0
+ 287 001a 0023 movs r3, #0
+ 288 .LVL28:
+ 289 .L26:
+6415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RX_IT) == I2C_XFER_RX_IT)
+ 290 .loc 1 6418 0
+ 291 001c 8A07 lsls r2, r1, #30
+ 292 001e 09D5 bpl .L27
+6419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable TC and RXI interrupts */
+6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI | I2C_IT_RXI;
+ 293 .loc 1 6421 0
+ 294 0020 4424 movs r4, #68
+ 295 0022 1C43 orrs r4, r3
+ 296 .LVL29:
+6422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (((uint32_t)hi2c->State & (uint32_t)HAL_I2C_STATE_LISTEN) != (uint32_t)HAL_I2C_STATE_LISTEN)
+ ARM GAS /tmp/ccskJbbb.s page 119
+
+
+ 297 .loc 1 6423 0
+ 298 0024 4122 movs r2, #65
+ 299 0026 825C ldrb r2, [r0, r2]
+ 300 0028 2825 movs r5, #40
+ 301 002a 2A40 ands r2, r5
+ 302 002c 282A cmp r2, #40
+ 303 002e 14D0 beq .L34
+6424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable NACK and STOP interrupts */
+6426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 304 .loc 1 6426 0
+ 305 0030 F422 movs r2, #244
+ 306 0032 1343 orrs r3, r2
+ 307 .LVL30:
+ 308 .L27:
+6427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_LISTEN_IT) == I2C_XFER_LISTEN_IT)
+ 309 .loc 1 6430 0
+ 310 0034 4A07 lsls r2, r1, #29
+ 311 0036 01D5 bpl .L28
+6431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable ADDR, NACK and STOP interrupts */
+6433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ADDRI | I2C_IT_STOPI | I2C_IT_NACKI | I2C_IT_ERRI;
+ 312 .loc 1 6433 0
+ 313 0038 B822 movs r2, #184
+ 314 003a 1343 orrs r3, r2
+ 315 .LVL31:
+ 316 .L28:
+6434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_ERROR_IT) == I2C_XFER_ERROR_IT)
+ 317 .loc 1 6436 0
+ 318 003c 1122 movs r2, #17
+ 319 003e 0A40 ands r2, r1
+ 320 0040 112A cmp r2, #17
+ 321 0042 0CD0 beq .L36
+ 322 .L29:
+ 323 0044 1222 movs r2, #18
+ 324 0046 1140 ands r1, r2
+ 325 .LVL32:
+6437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable ERR and NACK interrupts */
+6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_ERRI | I2C_IT_NACKI;
+6440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_CPLT_IT) == I2C_XFER_CPLT_IT)
+ 326 .loc 1 6442 0
+ 327 0048 1229 cmp r1, #18
+ 328 004a 0BD0 beq .L37
+ 329 .L30:
+6443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable STOP interrupts */
+6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_STOPI;
+6446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 120
+
+
+6448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if ((InterruptRequest & I2C_XFER_RELOAD_IT) == I2C_XFER_RELOAD_IT)
+ 330 .loc 1 6448 0
+ 331 004c 1229 cmp r1, #18
+ 332 004e 0CD0 beq .L38
+ 333 .L31:
+6449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Enable TC interrupts */
+6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmpisr |= I2C_IT_TCI;
+6452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Disable interrupts only at the end */
+6455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* to avoid a breaking situation like at "t" time */
+6456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* all disable interrupts request are not done */
+6457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** __HAL_I2C_DISABLE_IT(hi2c, tmpisr);
+ 334 .loc 1 6457 0
+ 335 0050 0168 ldr r1, [r0]
+ 336 0052 0A68 ldr r2, [r1]
+ 337 0054 9A43 bics r2, r3
+ 338 0056 0A60 str r2, [r1]
+6458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 339 .loc 1 6458 0
+ 340 @ sp needed
+ 341 0058 30BD pop {r4, r5, pc}
+ 342 .LVL33:
+ 343 .L34:
+6421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 344 .loc 1 6421 0
+ 345 005a 2300 movs r3, r4
+ 346 005c EAE7 b .L27
+ 347 .LVL34:
+ 348 .L36:
+6439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 349 .loc 1 6439 0
+ 350 005e 7F32 adds r2, r2, #127
+ 351 0060 1343 orrs r3, r2
+ 352 .LVL35:
+ 353 0062 EFE7 b .L29
+ 354 .LVL36:
+ 355 .L37:
+6445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 356 .loc 1 6445 0
+ 357 0064 0E32 adds r2, r2, #14
+ 358 0066 1343 orrs r3, r2
+ 359 .LVL37:
+ 360 0068 F0E7 b .L30
+ 361 .L38:
+6451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 362 .loc 1 6451 0
+ 363 006a 4022 movs r2, #64
+ 364 006c 1343 orrs r3, r2
+ 365 .LVL38:
+ 366 006e EFE7 b .L31
+ 367 .cfi_endproc
+ 368 .LFE116:
+ 370 .section .text.I2C_ConvertOtherXferOptions,"ax",%progbits
+ 371 .align 1
+ 372 .syntax unified
+ ARM GAS /tmp/ccskJbbb.s page 121
+
+
+ 373 .code 16
+ 374 .thumb_func
+ 375 .fpu softvfp
+ 377 I2C_ConvertOtherXferOptions:
+ 378 .LFB117:
+6459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+6460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+6461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @brief Convert I2Cx OTHER_xxx XferOptions to functionnal XferOptions.
+6462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @param hi2c I2C handle.
+6463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** * @retval None
+6464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** */
+6465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** static void I2C_ConvertOtherXferOptions(I2C_HandleTypeDef *hi2c)
+6466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 379 .loc 1 6466 0
+ 380 .cfi_startproc
+ 381 @ args = 0, pretend = 0, frame = 0
+ 382 @ frame_needed = 0, uses_anonymous_args = 0
+ 383 @ link register save eliminated.
+ 384 .LVL39:
+6467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* if user set XferOptions to I2C_OTHER_FRAME */
+6468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
+6469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_FRAME */
+6470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions == I2C_OTHER_FRAME)
+ 385 .loc 1 6470 0
+ 386 0000 C36A ldr r3, [r0, #44]
+ 387 0002 AA2B cmp r3, #170
+ 388 0004 05D0 beq .L42
+6471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_FRAME;
+6473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* else if user set XferOptions to I2C_OTHER_AND_LAST_FRAME */
+6475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* it request implicitly to generate a restart condition */
+6476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* then generate a stop condition at the end of transfer */
+6477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* set XferOptions to I2C_FIRST_AND_LAST_FRAME */
+6478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else if (hi2c->XferOptions == I2C_OTHER_AND_LAST_FRAME)
+ 389 .loc 1 6478 0
+ 390 0006 C26A ldr r2, [r0, #44]
+ 391 0008 AA23 movs r3, #170
+ 392 000a 1B02 lsls r3, r3, #8
+ 393 000c 9A42 cmp r2, r3
+ 394 000e 03D0 beq .L43
+ 395 .L39:
+6479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_FIRST_AND_LAST_FRAME;
+6481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** else
+6483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+6484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Nothing to do */
+6485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+6486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 396 .loc 1 6486 0
+ 397 @ sp needed
+ 398 0010 7047 bx lr
+ 399 .L42:
+6472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 400 .loc 1 6472 0
+ 401 0012 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 122
+
+
+ 402 0014 C362 str r3, [r0, #44]
+ 403 0016 FBE7 b .L39
+ 404 .L43:
+6480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 405 .loc 1 6480 0
+ 406 0018 8023 movs r3, #128
+ 407 001a 9B04 lsls r3, r3, #18
+ 408 001c C362 str r3, [r0, #44]
+ 409 .loc 1 6486 0
+ 410 001e F7E7 b .L39
+ 411 .cfi_endproc
+ 412 .LFE117:
+ 414 .section .text.I2C_IsAcknowledgeFailed,"ax",%progbits
+ 415 .align 1
+ 416 .syntax unified
+ 417 .code 16
+ 418 .thumb_func
+ 419 .fpu softvfp
+ 421 I2C_IsAcknowledgeFailed:
+ 422 .LFB113:
+6245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF) == SET)
+ 423 .loc 1 6245 0
+ 424 .cfi_startproc
+ 425 @ args = 0, pretend = 0, frame = 0
+ 426 @ frame_needed = 0, uses_anonymous_args = 0
+ 427 .LVL40:
+ 428 0000 70B5 push {r4, r5, r6, lr}
+ 429 .LCFI2:
+ 430 .cfi_def_cfa_offset 16
+ 431 .cfi_offset 4, -16
+ 432 .cfi_offset 5, -12
+ 433 .cfi_offset 6, -8
+ 434 .cfi_offset 14, -4
+ 435 0002 0400 movs r4, r0
+ 436 0004 0E00 movs r6, r1
+ 437 0006 1500 movs r5, r2
+6246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 438 .loc 1 6246 0
+ 439 0008 0368 ldr r3, [r0]
+ 440 000a 9B69 ldr r3, [r3, #24]
+ 441 000c DB06 lsls r3, r3, #27
+ 442 000e 19D5 bpl .L50
+ 443 .LVL41:
+ 444 .L47:
+6250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 445 .loc 1 6250 0
+ 446 0010 2368 ldr r3, [r4]
+ 447 0012 9A69 ldr r2, [r3, #24]
+ 448 0014 9206 lsls r2, r2, #26
+ 449 0016 17D4 bmi .L51
+6253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 450 .loc 1 6253 0
+ 451 0018 731C adds r3, r6, #1
+ 452 001a F9D0 beq .L47
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 453 .loc 1 6255 0
+ 454 001c FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccskJbbb.s page 123
+
+
+ 455 .LVL42:
+ 456 0020 401B subs r0, r0, r5
+ 457 0022 B042 cmp r0, r6
+ 458 0024 01D8 bhi .L48
+6255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 459 .loc 1 6255 0 is_stmt 0 discriminator 1
+ 460 0026 002E cmp r6, #0
+ 461 0028 F2D1 bne .L47
+ 462 .L48:
+6257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 463 .loc 1 6257 0 is_stmt 1
+ 464 002a 636C ldr r3, [r4, #68]
+ 465 002c 2022 movs r2, #32
+ 466 002e 1343 orrs r3, r2
+ 467 0030 6364 str r3, [r4, #68]
+6258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 468 .loc 1 6258 0
+ 469 0032 4123 movs r3, #65
+ 470 0034 E254 strb r2, [r4, r3]
+6259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 471 .loc 1 6259 0
+ 472 0036 0023 movs r3, #0
+ 473 0038 2232 adds r2, r2, #34
+ 474 003a A354 strb r3, [r4, r2]
+6262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 475 .loc 1 6262 0
+ 476 003c 023A subs r2, r2, #2
+ 477 003e A354 strb r3, [r4, r2]
+6264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 478 .loc 1 6264 0
+ 479 0040 0120 movs r0, #1
+ 480 0042 1AE0 b .L46
+ 481 .LVL43:
+ 482 .L50:
+6290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 483 .loc 1 6290 0
+ 484 0044 0020 movs r0, #0
+ 485 .LVL44:
+ 486 0046 18E0 b .L46
+ 487 .LVL45:
+ 488 .L51:
+6270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 489 .loc 1 6270 0
+ 490 0048 1022 movs r2, #16
+ 491 004a DA61 str r2, [r3, #28]
+6273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 492 .loc 1 6273 0
+ 493 004c 2368 ldr r3, [r4]
+ 494 004e 2025 movs r5, #32
+ 495 .LVL46:
+ 496 0050 DD61 str r5, [r3, #28]
+6276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 497 .loc 1 6276 0
+ 498 0052 2000 movs r0, r4
+ 499 0054 FFF7FEFF bl I2C_Flush_TXDR
+ 500 .LVL47:
+6279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 124
+
+
+ 501 .loc 1 6279 0
+ 502 0058 2268 ldr r2, [r4]
+ 503 005a 5368 ldr r3, [r2, #4]
+ 504 005c 0749 ldr r1, .L52
+ 505 005e 0B40 ands r3, r1
+ 506 0060 5360 str r3, [r2, #4]
+6281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 507 .loc 1 6281 0
+ 508 0062 636C ldr r3, [r4, #68]
+ 509 0064 0422 movs r2, #4
+ 510 0066 1343 orrs r3, r2
+ 511 0068 6364 str r3, [r4, #68]
+6282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 512 .loc 1 6282 0
+ 513 006a 4123 movs r3, #65
+ 514 006c E554 strb r5, [r4, r3]
+6283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 515 .loc 1 6283 0
+ 516 006e 0023 movs r3, #0
+ 517 0070 3E32 adds r2, r2, #62
+ 518 0072 A354 strb r3, [r4, r2]
+6286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 519 .loc 1 6286 0
+ 520 0074 023A subs r2, r2, #2
+ 521 0076 A354 strb r3, [r4, r2]
+6288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 522 .loc 1 6288 0
+ 523 0078 0120 movs r0, #1
+ 524 .L46:
+6291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 525 .loc 1 6291 0
+ 526 @ sp needed
+ 527 .LVL48:
+ 528 .LVL49:
+ 529 007a 70BD pop {r4, r5, r6, pc}
+ 530 .L53:
+ 531 .align 2
+ 532 .L52:
+ 533 007c 00E800FE .word -33495040
+ 534 .cfi_endproc
+ 535 .LFE113:
+ 537 .section .text.I2C_WaitOnTXISFlagUntilTimeout,"ax",%progbits
+ 538 .align 1
+ 539 .syntax unified
+ 540 .code 16
+ 541 .thumb_func
+ 542 .fpu softvfp
+ 544 I2C_WaitOnTXISFlagUntilTimeout:
+ 545 .LFB110:
+6111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_TXIS) == RESET)
+ 546 .loc 1 6111 0
+ 547 .cfi_startproc
+ 548 @ args = 0, pretend = 0, frame = 0
+ 549 @ frame_needed = 0, uses_anonymous_args = 0
+ 550 .LVL50:
+ 551 0000 70B5 push {r4, r5, r6, lr}
+ 552 .LCFI3:
+ ARM GAS /tmp/ccskJbbb.s page 125
+
+
+ 553 .cfi_def_cfa_offset 16
+ 554 .cfi_offset 4, -16
+ 555 .cfi_offset 5, -12
+ 556 .cfi_offset 6, -8
+ 557 .cfi_offset 14, -4
+ 558 0002 0400 movs r4, r0
+ 559 0004 0D00 movs r5, r1
+ 560 0006 1600 movs r6, r2
+ 561 .LVL51:
+ 562 .L57:
+6112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 563 .loc 1 6112 0
+ 564 0008 2368 ldr r3, [r4]
+ 565 000a 9B69 ldr r3, [r3, #24]
+ 566 000c 9B07 lsls r3, r3, #30
+ 567 000e 1CD4 bmi .L61
+6115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 568 .loc 1 6115 0
+ 569 0010 3200 movs r2, r6
+ 570 0012 2900 movs r1, r5
+ 571 0014 2000 movs r0, r4
+ 572 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 573 .LVL52:
+ 574 001a 0028 cmp r0, #0
+ 575 001c 17D1 bne .L60
+6121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 576 .loc 1 6121 0
+ 577 001e 6B1C adds r3, r5, #1
+ 578 0020 F2D0 beq .L57
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 579 .loc 1 6123 0
+ 580 0022 FFF7FEFF bl HAL_GetTick
+ 581 .LVL53:
+ 582 0026 801B subs r0, r0, r6
+ 583 0028 A842 cmp r0, r5
+ 584 002a 01D8 bhi .L58
+6123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 585 .loc 1 6123 0 is_stmt 0 discriminator 1
+ 586 002c 002D cmp r5, #0
+ 587 002e EBD1 bne .L57
+ 588 .L58:
+6125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 589 .loc 1 6125 0 is_stmt 1
+ 590 0030 636C ldr r3, [r4, #68]
+ 591 0032 2022 movs r2, #32
+ 592 0034 1343 orrs r3, r2
+ 593 0036 6364 str r3, [r4, #68]
+6126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 594 .loc 1 6126 0
+ 595 0038 4123 movs r3, #65
+ 596 003a E254 strb r2, [r4, r3]
+6127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 597 .loc 1 6127 0
+ 598 003c 0023 movs r3, #0
+ 599 003e 2232 adds r2, r2, #34
+ 600 0040 A354 strb r3, [r4, r2]
+6130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 126
+
+
+ 601 .loc 1 6130 0
+ 602 0042 023A subs r2, r2, #2
+ 603 0044 A354 strb r3, [r4, r2]
+6132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 604 .loc 1 6132 0
+ 605 0046 0120 movs r0, #1
+ 606 0048 00E0 b .L56
+ 607 .L61:
+6136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 608 .loc 1 6136 0
+ 609 004a 0020 movs r0, #0
+ 610 .L56:
+6137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 611 .loc 1 6137 0
+ 612 @ sp needed
+ 613 .LVL54:
+ 614 .LVL55:
+ 615 .LVL56:
+ 616 004c 70BD pop {r4, r5, r6, pc}
+ 617 .LVL57:
+ 618 .L60:
+6117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 619 .loc 1 6117 0
+ 620 004e 0120 movs r0, #1
+ 621 0050 FCE7 b .L56
+ 622 .cfi_endproc
+ 623 .LFE110:
+ 625 .section .text.I2C_WaitOnFlagUntilTimeout,"ax",%progbits
+ 626 .align 1
+ 627 .syntax unified
+ 628 .code 16
+ 629 .thumb_func
+ 630 .fpu softvfp
+ 632 I2C_WaitOnFlagUntilTimeout:
+ 633 .LFB109:
+6081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, Flag) == Status)
+ 634 .loc 1 6081 0
+ 635 .cfi_startproc
+ 636 @ args = 4, pretend = 0, frame = 0
+ 637 @ frame_needed = 0, uses_anonymous_args = 0
+ 638 .LVL58:
+ 639 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 640 .LCFI4:
+ 641 .cfi_def_cfa_offset 24
+ 642 .cfi_offset 3, -24
+ 643 .cfi_offset 4, -20
+ 644 .cfi_offset 5, -16
+ 645 .cfi_offset 6, -12
+ 646 .cfi_offset 7, -8
+ 647 .cfi_offset 14, -4
+ 648 0002 0600 movs r6, r0
+ 649 0004 0C00 movs r4, r1
+ 650 0006 1700 movs r7, r2
+ 651 0008 1D00 movs r5, r3
+ 652 .LVL59:
+ 653 .L64:
+6082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 127
+
+
+ 654 .loc 1 6082 0
+ 655 000a 3368 ldr r3, [r6]
+ 656 000c 9B69 ldr r3, [r3, #24]
+ 657 000e 2340 ands r3, r4
+ 658 0010 1B1B subs r3, r3, r4
+ 659 0012 5A42 rsbs r2, r3, #0
+ 660 0014 5341 adcs r3, r3, r2
+ 661 0016 BB42 cmp r3, r7
+ 662 0018 16D1 bne .L68
+6085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 663 .loc 1 6085 0
+ 664 001a 6B1C adds r3, r5, #1
+ 665 001c F5D0 beq .L64
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 666 .loc 1 6087 0
+ 667 001e FFF7FEFF bl HAL_GetTick
+ 668 .LVL60:
+ 669 0022 069B ldr r3, [sp, #24]
+ 670 0024 C01A subs r0, r0, r3
+ 671 0026 A842 cmp r0, r5
+ 672 0028 01D8 bhi .L65
+6087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 673 .loc 1 6087 0 is_stmt 0 discriminator 1
+ 674 002a 002D cmp r5, #0
+ 675 002c EDD1 bne .L64
+ 676 .L65:
+6089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 677 .loc 1 6089 0 is_stmt 1
+ 678 002e 736C ldr r3, [r6, #68]
+ 679 0030 2022 movs r2, #32
+ 680 0032 1343 orrs r3, r2
+ 681 0034 7364 str r3, [r6, #68]
+6090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 682 .loc 1 6090 0
+ 683 0036 4123 movs r3, #65
+ 684 0038 F254 strb r2, [r6, r3]
+6091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 685 .loc 1 6091 0
+ 686 003a 0023 movs r3, #0
+ 687 003c 2232 adds r2, r2, #34
+ 688 003e B354 strb r3, [r6, r2]
+6094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 689 .loc 1 6094 0
+ 690 0040 023A subs r2, r2, #2
+ 691 0042 B354 strb r3, [r6, r2]
+6095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 692 .loc 1 6095 0
+ 693 0044 0120 movs r0, #1
+ 694 0046 00E0 b .L66
+ 695 .L68:
+6099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 696 .loc 1 6099 0
+ 697 0048 0020 movs r0, #0
+ 698 .L66:
+6100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 699 .loc 1 6100 0
+ 700 @ sp needed
+ ARM GAS /tmp/ccskJbbb.s page 128
+
+
+ 701 .LVL61:
+ 702 .LVL62:
+ 703 .LVL63:
+ 704 004a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 705 .cfi_endproc
+ 706 .LFE109:
+ 708 .section .text.I2C_RequestMemoryWrite,"ax",%progbits
+ 709 .align 1
+ 710 .syntax unified
+ 711 .code 16
+ 712 .thumb_func
+ 713 .fpu softvfp
+ 715 I2C_RequestMemoryWrite:
+ 716 .LFB93:
+5123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_RELOAD_MODE, I2C_GENERATE_START_WRI
+ 717 .loc 1 5123 0
+ 718 .cfi_startproc
+ 719 @ args = 8, pretend = 0, frame = 0
+ 720 @ frame_needed = 0, uses_anonymous_args = 0
+ 721 .LVL64:
+ 722 0000 70B5 push {r4, r5, r6, lr}
+ 723 .LCFI5:
+ 724 .cfi_def_cfa_offset 16
+ 725 .cfi_offset 4, -16
+ 726 .cfi_offset 5, -12
+ 727 .cfi_offset 6, -8
+ 728 .cfi_offset 14, -4
+ 729 0002 82B0 sub sp, sp, #8
+ 730 .LCFI6:
+ 731 .cfi_def_cfa_offset 24
+ 732 0004 0400 movs r4, r0
+ 733 0006 1600 movs r6, r2
+ 734 0008 1D00 movs r5, r3
+5124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 735 .loc 1 5124 0
+ 736 000a 8023 movs r3, #128
+ 737 .LVL65:
+ 738 000c EAB2 uxtb r2, r5
+ 739 .LVL66:
+ 740 000e 1848 ldr r0, .L75
+ 741 .LVL67:
+ 742 0010 0090 str r0, [sp]
+ 743 0012 5B04 lsls r3, r3, #17
+ 744 0014 2000 movs r0, r4
+ 745 0016 FFF7FEFF bl I2C_TransferConfig
+ 746 .LVL68:
+5127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 747 .loc 1 5127 0
+ 748 001a 079A ldr r2, [sp, #28]
+ 749 001c 0699 ldr r1, [sp, #24]
+ 750 001e 2000 movs r0, r4
+ 751 0020 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 752 .LVL69:
+ 753 0024 0028 cmp r0, #0
+ 754 0026 1ED1 bne .L73
+5133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 755 .loc 1 5133 0
+ ARM GAS /tmp/ccskJbbb.s page 129
+
+
+ 756 0028 012D cmp r5, #1
+ 757 002a 0ED1 bne .L71
+5136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 758 .loc 1 5136 0
+ 759 002c 2368 ldr r3, [r4]
+ 760 002e F6B2 uxtb r6, r6
+ 761 0030 9E62 str r6, [r3, #40]
+ 762 .L72:
+5155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 763 .loc 1 5155 0
+ 764 0032 079B ldr r3, [sp, #28]
+ 765 0034 0093 str r3, [sp]
+ 766 0036 069B ldr r3, [sp, #24]
+ 767 0038 0022 movs r2, #0
+ 768 003a 8021 movs r1, #128
+ 769 003c 2000 movs r0, r4
+ 770 003e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 771 .LVL70:
+ 772 0042 0028 cmp r0, #0
+ 773 0044 10D0 beq .L70
+5157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 774 .loc 1 5157 0
+ 775 0046 0120 movs r0, #1
+ 776 0048 0EE0 b .L70
+ 777 .L71:
+5142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 778 .loc 1 5142 0
+ 779 004a 2368 ldr r3, [r4]
+ 780 004c 320A lsrs r2, r6, #8
+ 781 004e 9A62 str r2, [r3, #40]
+5145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 782 .loc 1 5145 0
+ 783 0050 079A ldr r2, [sp, #28]
+ 784 0052 0699 ldr r1, [sp, #24]
+ 785 0054 2000 movs r0, r4
+ 786 0056 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 787 .LVL71:
+ 788 005a 0028 cmp r0, #0
+ 789 005c 06D1 bne .L74
+5151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 790 .loc 1 5151 0
+ 791 005e 2368 ldr r3, [r4]
+ 792 0060 F6B2 uxtb r6, r6
+ 793 0062 9E62 str r6, [r3, #40]
+ 794 0064 E5E7 b .L72
+ 795 .L73:
+5129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 796 .loc 1 5129 0
+ 797 0066 0120 movs r0, #1
+ 798 .L70:
+5161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 799 .loc 1 5161 0
+ 800 0068 02B0 add sp, sp, #8
+ 801 @ sp needed
+ 802 .LVL72:
+ 803 006a 70BD pop {r4, r5, r6, pc}
+ 804 .LVL73:
+ ARM GAS /tmp/ccskJbbb.s page 130
+
+
+ 805 .L74:
+5147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 806 .loc 1 5147 0
+ 807 006c 0120 movs r0, #1
+ 808 006e FBE7 b .L70
+ 809 .L76:
+ 810 .align 2
+ 811 .L75:
+ 812 0070 00200080 .word -2147475456
+ 813 .cfi_endproc
+ 814 .LFE93:
+ 816 .section .text.I2C_RequestMemoryRead,"ax",%progbits
+ 817 .align 1
+ 818 .syntax unified
+ 819 .code 16
+ 820 .thumb_func
+ 821 .fpu softvfp
+ 823 I2C_RequestMemoryRead:
+ 824 .LFB94:
+5176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)MemAddSize, I2C_SOFTEND_MODE, I2C_GENERATE_START_WR
+ 825 .loc 1 5176 0
+ 826 .cfi_startproc
+ 827 @ args = 8, pretend = 0, frame = 0
+ 828 @ frame_needed = 0, uses_anonymous_args = 0
+ 829 .LVL74:
+ 830 0000 70B5 push {r4, r5, r6, lr}
+ 831 .LCFI7:
+ 832 .cfi_def_cfa_offset 16
+ 833 .cfi_offset 4, -16
+ 834 .cfi_offset 5, -12
+ 835 .cfi_offset 6, -8
+ 836 .cfi_offset 14, -4
+ 837 0002 82B0 sub sp, sp, #8
+ 838 .LCFI8:
+ 839 .cfi_def_cfa_offset 24
+ 840 0004 0400 movs r4, r0
+ 841 0006 1600 movs r6, r2
+ 842 0008 1D00 movs r5, r3
+5177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 843 .loc 1 5177 0
+ 844 000a DAB2 uxtb r2, r3
+ 845 .LVL75:
+ 846 000c 174B ldr r3, .L83
+ 847 .LVL76:
+ 848 000e 0093 str r3, [sp]
+ 849 0010 0023 movs r3, #0
+ 850 0012 FFF7FEFF bl I2C_TransferConfig
+ 851 .LVL77:
+5180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 852 .loc 1 5180 0
+ 853 0016 079A ldr r2, [sp, #28]
+ 854 0018 0699 ldr r1, [sp, #24]
+ 855 001a 2000 movs r0, r4
+ 856 001c FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 857 .LVL78:
+ 858 0020 0028 cmp r0, #0
+ 859 0022 1ED1 bne .L81
+ ARM GAS /tmp/ccskJbbb.s page 131
+
+
+5186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 860 .loc 1 5186 0
+ 861 0024 012D cmp r5, #1
+ 862 0026 0ED1 bne .L79
+5189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 863 .loc 1 5189 0
+ 864 0028 2368 ldr r3, [r4]
+ 865 002a F6B2 uxtb r6, r6
+ 866 002c 9E62 str r6, [r3, #40]
+ 867 .L80:
+5208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 868 .loc 1 5208 0
+ 869 002e 079B ldr r3, [sp, #28]
+ 870 0030 0093 str r3, [sp]
+ 871 0032 069B ldr r3, [sp, #24]
+ 872 0034 0022 movs r2, #0
+ 873 0036 4021 movs r1, #64
+ 874 0038 2000 movs r0, r4
+ 875 003a FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 876 .LVL79:
+ 877 003e 0028 cmp r0, #0
+ 878 0040 10D0 beq .L78
+5210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 879 .loc 1 5210 0
+ 880 0042 0120 movs r0, #1
+ 881 0044 0EE0 b .L78
+ 882 .L79:
+5195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 883 .loc 1 5195 0
+ 884 0046 2368 ldr r3, [r4]
+ 885 0048 320A lsrs r2, r6, #8
+ 886 004a 9A62 str r2, [r3, #40]
+5198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 887 .loc 1 5198 0
+ 888 004c 079A ldr r2, [sp, #28]
+ 889 004e 0699 ldr r1, [sp, #24]
+ 890 0050 2000 movs r0, r4
+ 891 0052 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 892 .LVL80:
+ 893 0056 0028 cmp r0, #0
+ 894 0058 06D1 bne .L82
+5204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 895 .loc 1 5204 0
+ 896 005a 2368 ldr r3, [r4]
+ 897 005c F6B2 uxtb r6, r6
+ 898 005e 9E62 str r6, [r3, #40]
+ 899 0060 E5E7 b .L80
+ 900 .L81:
+5182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 901 .loc 1 5182 0
+ 902 0062 0120 movs r0, #1
+ 903 .L78:
+5214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 904 .loc 1 5214 0
+ 905 0064 02B0 add sp, sp, #8
+ 906 @ sp needed
+ 907 .LVL81:
+ ARM GAS /tmp/ccskJbbb.s page 132
+
+
+ 908 0066 70BD pop {r4, r5, r6, pc}
+ 909 .LVL82:
+ 910 .L82:
+5200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 911 .loc 1 5200 0
+ 912 0068 0120 movs r0, #1
+ 913 006a FBE7 b .L78
+ 914 .L84:
+ 915 .align 2
+ 916 .L83:
+ 917 006c 00200080 .word -2147475456
+ 918 .cfi_endproc
+ 919 .LFE94:
+ 921 .section .text.I2C_WaitOnSTOPFlagUntilTimeout,"ax",%progbits
+ 922 .align 1
+ 923 .syntax unified
+ 924 .code 16
+ 925 .thumb_func
+ 926 .fpu softvfp
+ 928 I2C_WaitOnSTOPFlagUntilTimeout:
+ 929 .LFB111:
+6148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET)
+ 930 .loc 1 6148 0
+ 931 .cfi_startproc
+ 932 @ args = 0, pretend = 0, frame = 0
+ 933 @ frame_needed = 0, uses_anonymous_args = 0
+ 934 .LVL83:
+ 935 0000 70B5 push {r4, r5, r6, lr}
+ 936 .LCFI9:
+ 937 .cfi_def_cfa_offset 16
+ 938 .cfi_offset 4, -16
+ 939 .cfi_offset 5, -12
+ 940 .cfi_offset 6, -8
+ 941 .cfi_offset 14, -4
+ 942 0002 0500 movs r5, r0
+ 943 0004 0C00 movs r4, r1
+ 944 0006 1600 movs r6, r2
+ 945 .LVL84:
+ 946 .L86:
+6149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 947 .loc 1 6149 0
+ 948 0008 2B68 ldr r3, [r5]
+ 949 000a 9B69 ldr r3, [r3, #24]
+ 950 000c 9B06 lsls r3, r3, #26
+ 951 000e 1AD4 bmi .L91
+6152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 952 .loc 1 6152 0
+ 953 0010 3200 movs r2, r6
+ 954 0012 2100 movs r1, r4
+ 955 0014 2800 movs r0, r5
+ 956 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 957 .LVL85:
+ 958 001a 0028 cmp r0, #0
+ 959 001c 15D1 bne .L90
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 960 .loc 1 6158 0
+ 961 001e FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccskJbbb.s page 133
+
+
+ 962 .LVL86:
+ 963 0022 801B subs r0, r0, r6
+ 964 0024 A042 cmp r0, r4
+ 965 0026 01D8 bhi .L88
+6158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 966 .loc 1 6158 0 is_stmt 0 discriminator 1
+ 967 0028 002C cmp r4, #0
+ 968 002a EDD1 bne .L86
+ 969 .L88:
+6160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 970 .loc 1 6160 0 is_stmt 1
+ 971 002c 6B6C ldr r3, [r5, #68]
+ 972 002e 2022 movs r2, #32
+ 973 0030 1343 orrs r3, r2
+ 974 0032 6B64 str r3, [r5, #68]
+6161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 975 .loc 1 6161 0
+ 976 0034 4123 movs r3, #65
+ 977 0036 EA54 strb r2, [r5, r3]
+6162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 978 .loc 1 6162 0
+ 979 0038 0023 movs r3, #0
+ 980 003a 2232 adds r2, r2, #34
+ 981 003c AB54 strb r3, [r5, r2]
+6165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 982 .loc 1 6165 0
+ 983 003e 023A subs r2, r2, #2
+ 984 0040 AB54 strb r3, [r5, r2]
+6167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 985 .loc 1 6167 0
+ 986 0042 0120 movs r0, #1
+ 987 .L87:
+6171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 988 .loc 1 6171 0
+ 989 @ sp needed
+ 990 .LVL87:
+ 991 .LVL88:
+ 992 .LVL89:
+ 993 0044 70BD pop {r4, r5, r6, pc}
+ 994 .LVL90:
+ 995 .L91:
+6170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 996 .loc 1 6170 0
+ 997 0046 0020 movs r0, #0
+ 998 0048 FCE7 b .L87
+ 999 .L90:
+6154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1000 .loc 1 6154 0
+ 1001 004a 0120 movs r0, #1
+ 1002 004c FAE7 b .L87
+ 1003 .cfi_endproc
+ 1004 .LFE111:
+ 1006 .section .text.I2C_WaitOnRXNEFlagUntilTimeout,"ax",%progbits
+ 1007 .align 1
+ 1008 .syntax unified
+ 1009 .code 16
+ 1010 .thumb_func
+ ARM GAS /tmp/ccskJbbb.s page 134
+
+
+ 1011 .fpu softvfp
+ 1013 I2C_WaitOnRXNEFlagUntilTimeout:
+ 1014 .LFB112:
+6182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_RXNE) == RESET)
+ 1015 .loc 1 6182 0
+ 1016 .cfi_startproc
+ 1017 @ args = 0, pretend = 0, frame = 0
+ 1018 @ frame_needed = 0, uses_anonymous_args = 0
+ 1019 .LVL91:
+ 1020 0000 70B5 push {r4, r5, r6, lr}
+ 1021 .LCFI10:
+ 1022 .cfi_def_cfa_offset 16
+ 1023 .cfi_offset 4, -16
+ 1024 .cfi_offset 5, -12
+ 1025 .cfi_offset 6, -8
+ 1026 .cfi_offset 14, -4
+ 1027 0002 0400 movs r4, r0
+ 1028 0004 0D00 movs r5, r1
+ 1029 0006 1600 movs r6, r2
+ 1030 .LVL92:
+ 1031 .L93:
+6183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1032 .loc 1 6183 0
+ 1033 0008 2368 ldr r3, [r4]
+ 1034 000a 9B69 ldr r3, [r3, #24]
+ 1035 000c 5B07 lsls r3, r3, #29
+ 1036 000e 33D4 bmi .L100
+6186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1037 .loc 1 6186 0
+ 1038 0010 3200 movs r2, r6
+ 1039 0012 2900 movs r1, r5
+ 1040 0014 2000 movs r0, r4
+ 1041 0016 FFF7FEFF bl I2C_IsAcknowledgeFailed
+ 1042 .LVL93:
+ 1043 001a 0028 cmp r0, #0
+ 1044 001c 2ED1 bne .L99
+6192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1045 .loc 1 6192 0
+ 1046 001e 2368 ldr r3, [r4]
+ 1047 0020 9A69 ldr r2, [r3, #24]
+ 1048 0022 9206 lsls r2, r2, #26
+ 1049 0024 11D4 bmi .L101
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1050 .loc 1 6222 0
+ 1051 0026 FFF7FEFF bl HAL_GetTick
+ 1052 .LVL94:
+ 1053 002a 801B subs r0, r0, r6
+ 1054 002c A842 cmp r0, r5
+ 1055 002e 01D8 bhi .L97
+6222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1056 .loc 1 6222 0 is_stmt 0 discriminator 1
+ 1057 0030 002D cmp r5, #0
+ 1058 0032 E9D1 bne .L93
+ 1059 .L97:
+6224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1060 .loc 1 6224 0 is_stmt 1
+ 1061 0034 636C ldr r3, [r4, #68]
+ ARM GAS /tmp/ccskJbbb.s page 135
+
+
+ 1062 0036 2022 movs r2, #32
+ 1063 0038 1343 orrs r3, r2
+ 1064 003a 6364 str r3, [r4, #68]
+6225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1065 .loc 1 6225 0
+ 1066 003c 4123 movs r3, #65
+ 1067 003e E254 strb r2, [r4, r3]
+6228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1068 .loc 1 6228 0
+ 1069 0040 013B subs r3, r3, #1
+ 1070 0042 0022 movs r2, #0
+ 1071 0044 E254 strb r2, [r4, r3]
+6230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1072 .loc 1 6230 0
+ 1073 0046 0120 movs r0, #1
+ 1074 .L94:
+6234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1075 .loc 1 6234 0
+ 1076 @ sp needed
+ 1077 .LVL95:
+ 1078 .LVL96:
+ 1079 .LVL97:
+ 1080 0048 70BD pop {r4, r5, r6, pc}
+ 1081 .LVL98:
+ 1082 .L101:
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1083 .loc 1 6196 0
+ 1084 004a 9A69 ldr r2, [r3, #24]
+ 1085 004c 5207 lsls r2, r2, #29
+ 1086 004e 02D5 bpl .L96
+6196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1087 .loc 1 6196 0 is_stmt 0 discriminator 1
+ 1088 0050 228D ldrh r2, [r4, #40]
+ 1089 0052 002A cmp r2, #0
+ 1090 0054 F8D1 bne .L94
+ 1091 .L96:
+6205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1092 .loc 1 6205 0 is_stmt 1
+ 1093 0056 2022 movs r2, #32
+ 1094 0058 DA61 str r2, [r3, #28]
+6208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1095 .loc 1 6208 0
+ 1096 005a 2168 ldr r1, [r4]
+ 1097 005c 4B68 ldr r3, [r1, #4]
+ 1098 005e 0848 ldr r0, .L102
+ 1099 0060 0340 ands r3, r0
+ 1100 0062 4B60 str r3, [r1, #4]
+6210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1101 .loc 1 6210 0
+ 1102 0064 0023 movs r3, #0
+ 1103 0066 6364 str r3, [r4, #68]
+6211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1104 .loc 1 6211 0
+ 1105 0068 4121 movs r1, #65
+ 1106 006a 6254 strb r2, [r4, r1]
+6212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1107 .loc 1 6212 0
+ ARM GAS /tmp/ccskJbbb.s page 136
+
+
+ 1108 006c 2232 adds r2, r2, #34
+ 1109 006e A354 strb r3, [r4, r2]
+6215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1110 .loc 1 6215 0
+ 1111 0070 023A subs r2, r2, #2
+ 1112 0072 A354 strb r3, [r4, r2]
+6217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1113 .loc 1 6217 0
+ 1114 0074 0120 movs r0, #1
+ 1115 0076 E7E7 b .L94
+ 1116 .L100:
+6233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1117 .loc 1 6233 0
+ 1118 0078 0020 movs r0, #0
+ 1119 007a E5E7 b .L94
+ 1120 .L99:
+6188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1121 .loc 1 6188 0
+ 1122 007c 0120 movs r0, #1
+ 1123 007e E3E7 b .L94
+ 1124 .L103:
+ 1125 .align 2
+ 1126 .L102:
+ 1127 0080 00E800FE .word -33495040
+ 1128 .cfi_endproc
+ 1129 .LFE112:
+ 1131 .section .text.HAL_I2C_MspInit,"ax",%progbits
+ 1132 .align 1
+ 1133 .weak HAL_I2C_MspInit
+ 1134 .syntax unified
+ 1135 .code 16
+ 1136 .thumb_func
+ 1137 .fpu softvfp
+ 1139 HAL_I2C_MspInit:
+ 1140 .LFB42:
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 1141 .loc 1 625 0
+ 1142 .cfi_startproc
+ 1143 @ args = 0, pretend = 0, frame = 0
+ 1144 @ frame_needed = 0, uses_anonymous_args = 0
+ 1145 @ link register save eliminated.
+ 1146 .LVL99:
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1147 .loc 1 632 0
+ 1148 @ sp needed
+ 1149 0000 7047 bx lr
+ 1150 .cfi_endproc
+ 1151 .LFE42:
+ 1153 .section .text.HAL_I2C_Init,"ax",%progbits
+ 1154 .align 1
+ 1155 .global HAL_I2C_Init
+ 1156 .syntax unified
+ 1157 .code 16
+ 1158 .thumb_func
+ 1159 .fpu softvfp
+ 1161 HAL_I2C_Init:
+ 1162 .LFB40:
+ ARM GAS /tmp/ccskJbbb.s page 137
+
+
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 1163 .loc 1 470 0
+ 1164 .cfi_startproc
+ 1165 @ args = 0, pretend = 0, frame = 0
+ 1166 @ frame_needed = 0, uses_anonymous_args = 0
+ 1167 .LVL100:
+ 1168 0000 10B5 push {r4, lr}
+ 1169 .LCFI11:
+ 1170 .cfi_def_cfa_offset 8
+ 1171 .cfi_offset 4, -8
+ 1172 .cfi_offset 14, -4
+ 1173 0002 041E subs r4, r0, #0
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1174 .loc 1 472 0
+ 1175 0004 59D0 beq .L111
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1176 .loc 1 487 0
+ 1177 0006 4123 movs r3, #65
+ 1178 0008 C35C ldrb r3, [r0, r3]
+ 1179 000a 002B cmp r3, #0
+ 1180 000c 43D0 beq .L112
+ 1181 .LVL101:
+ 1182 .L107:
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1183 .loc 1 518 0
+ 1184 000e 4123 movs r3, #65
+ 1185 0010 2422 movs r2, #36
+ 1186 0012 E254 strb r2, [r4, r3]
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1187 .loc 1 521 0
+ 1188 0014 2268 ldr r2, [r4]
+ 1189 0016 1368 ldr r3, [r2]
+ 1190 0018 0121 movs r1, #1
+ 1191 001a 8B43 bics r3, r1
+ 1192 001c 1360 str r3, [r2]
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1193 .loc 1 525 0
+ 1194 001e 2268 ldr r2, [r4]
+ 1195 0020 274B ldr r3, .L115
+ 1196 0022 6168 ldr r1, [r4, #4]
+ 1197 0024 0B40 ands r3, r1
+ 1198 0026 1361 str r3, [r2, #16]
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1199 .loc 1 529 0
+ 1200 0028 2268 ldr r2, [r4]
+ 1201 002a 9368 ldr r3, [r2, #8]
+ 1202 002c 2549 ldr r1, .L115+4
+ 1203 002e 0B40 ands r3, r1
+ 1204 0030 9360 str r3, [r2, #8]
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1205 .loc 1 532 0
+ 1206 0032 E368 ldr r3, [r4, #12]
+ 1207 0034 012B cmp r3, #1
+ 1208 0036 34D0 beq .L113
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1209 .loc 1 538 0
+ 1210 0038 2268 ldr r2, [r4]
+ ARM GAS /tmp/ccskJbbb.s page 138
+
+
+ 1211 003a 8423 movs r3, #132
+ 1212 003c 1B02 lsls r3, r3, #8
+ 1213 003e A168 ldr r1, [r4, #8]
+ 1214 0040 0B43 orrs r3, r1
+ 1215 0042 9360 str r3, [r2, #8]
+ 1216 .L109:
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1217 .loc 1 543 0
+ 1218 0044 E368 ldr r3, [r4, #12]
+ 1219 0046 022B cmp r3, #2
+ 1220 0048 32D0 beq .L114
+ 1221 .L110:
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1222 .loc 1 548 0
+ 1223 004a 2268 ldr r2, [r4]
+ 1224 004c 5168 ldr r1, [r2, #4]
+ 1225 004e 1E4B ldr r3, .L115+8
+ 1226 0050 0B43 orrs r3, r1
+ 1227 0052 5360 str r3, [r2, #4]
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1228 .loc 1 552 0
+ 1229 0054 2268 ldr r2, [r4]
+ 1230 0056 D368 ldr r3, [r2, #12]
+ 1231 0058 1A49 ldr r1, .L115+4
+ 1232 005a 0B40 ands r3, r1
+ 1233 005c D360 str r3, [r2, #12]
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1234 .loc 1 555 0
+ 1235 005e 2369 ldr r3, [r4, #16]
+ 1236 0060 6269 ldr r2, [r4, #20]
+ 1237 0062 1343 orrs r3, r2
+ 1238 0064 A269 ldr r2, [r4, #24]
+ 1239 0066 1202 lsls r2, r2, #8
+ 1240 0068 2168 ldr r1, [r4]
+ 1241 006a 1343 orrs r3, r2
+ 1242 006c CB60 str r3, [r1, #12]
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1243 .loc 1 559 0
+ 1244 006e 2268 ldr r2, [r4]
+ 1245 0070 E369 ldr r3, [r4, #28]
+ 1246 0072 216A ldr r1, [r4, #32]
+ 1247 0074 0B43 orrs r3, r1
+ 1248 0076 1360 str r3, [r2]
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1249 .loc 1 562 0
+ 1250 0078 2268 ldr r2, [r4]
+ 1251 007a 1368 ldr r3, [r2]
+ 1252 007c 0121 movs r1, #1
+ 1253 007e 0B43 orrs r3, r1
+ 1254 0080 1360 str r3, [r2]
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 1255 .loc 1 564 0
+ 1256 0082 0023 movs r3, #0
+ 1257 0084 6364 str r3, [r4, #68]
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 1258 .loc 1 565 0
+ 1259 0086 4122 movs r2, #65
+ ARM GAS /tmp/ccskJbbb.s page 139
+
+
+ 1260 0088 1F31 adds r1, r1, #31
+ 1261 008a A154 strb r1, [r4, r2]
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1262 .loc 1 566 0
+ 1263 008c 2363 str r3, [r4, #48]
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1264 .loc 1 567 0
+ 1265 008e 0132 adds r2, r2, #1
+ 1266 0090 A354 strb r3, [r4, r2]
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1267 .loc 1 569 0
+ 1268 0092 0020 movs r0, #0
+ 1269 .L106:
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1270 .loc 1 570 0
+ 1271 @ sp needed
+ 1272 .LVL102:
+ 1273 0094 10BD pop {r4, pc}
+ 1274 .LVL103:
+ 1275 .L112:
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1276 .loc 1 490 0
+ 1277 0096 4033 adds r3, r3, #64
+ 1278 0098 0022 movs r2, #0
+ 1279 009a C254 strb r2, [r0, r3]
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 1280 .loc 1 514 0
+ 1281 009c FFF7FEFF bl HAL_I2C_MspInit
+ 1282 .LVL104:
+ 1283 00a0 B5E7 b .L107
+ 1284 .L113:
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1285 .loc 1 534 0
+ 1286 00a2 2268 ldr r2, [r4]
+ 1287 00a4 8023 movs r3, #128
+ 1288 00a6 1B02 lsls r3, r3, #8
+ 1289 00a8 A168 ldr r1, [r4, #8]
+ 1290 00aa 0B43 orrs r3, r1
+ 1291 00ac 9360 str r3, [r2, #8]
+ 1292 00ae C9E7 b .L109
+ 1293 .L114:
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1294 .loc 1 545 0
+ 1295 00b0 2368 ldr r3, [r4]
+ 1296 00b2 8022 movs r2, #128
+ 1297 00b4 1201 lsls r2, r2, #4
+ 1298 00b6 5A60 str r2, [r3, #4]
+ 1299 00b8 C7E7 b .L110
+ 1300 .LVL105:
+ 1301 .L111:
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1302 .loc 1 474 0
+ 1303 00ba 0120 movs r0, #1
+ 1304 .LVL106:
+ 1305 00bc EAE7 b .L106
+ 1306 .L116:
+ 1307 00be C046 .align 2
+ ARM GAS /tmp/ccskJbbb.s page 140
+
+
+ 1308 .L115:
+ 1309 00c0 FFFFFFF0 .word -251658241
+ 1310 00c4 FF7FFFFF .word -32769
+ 1311 00c8 00800002 .word 33587200
+ 1312 .cfi_endproc
+ 1313 .LFE40:
+ 1315 .section .text.HAL_I2C_MspDeInit,"ax",%progbits
+ 1316 .align 1
+ 1317 .weak HAL_I2C_MspDeInit
+ 1318 .syntax unified
+ 1319 .code 16
+ 1320 .thumb_func
+ 1321 .fpu softvfp
+ 1323 HAL_I2C_MspDeInit:
+ 1324 .LFB43:
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 1325 .loc 1 641 0
+ 1326 .cfi_startproc
+ 1327 @ args = 0, pretend = 0, frame = 0
+ 1328 @ frame_needed = 0, uses_anonymous_args = 0
+ 1329 @ link register save eliminated.
+ 1330 .LVL107:
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1331 .loc 1 648 0
+ 1332 @ sp needed
+ 1333 0000 7047 bx lr
+ 1334 .cfi_endproc
+ 1335 .LFE43:
+ 1337 .section .text.HAL_I2C_DeInit,"ax",%progbits
+ 1338 .align 1
+ 1339 .global HAL_I2C_DeInit
+ 1340 .syntax unified
+ 1341 .code 16
+ 1342 .thumb_func
+ 1343 .fpu softvfp
+ 1345 HAL_I2C_DeInit:
+ 1346 .LFB41:
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the I2C handle allocation */
+ 1347 .loc 1 579 0
+ 1348 .cfi_startproc
+ 1349 @ args = 0, pretend = 0, frame = 0
+ 1350 @ frame_needed = 0, uses_anonymous_args = 0
+ 1351 .LVL108:
+ 1352 0000 70B5 push {r4, r5, r6, lr}
+ 1353 .LCFI12:
+ 1354 .cfi_def_cfa_offset 16
+ 1355 .cfi_offset 4, -16
+ 1356 .cfi_offset 5, -12
+ 1357 .cfi_offset 6, -8
+ 1358 .cfi_offset 14, -4
+ 1359 0002 041E subs r4, r0, #0
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1360 .loc 1 581 0
+ 1361 0004 13D0 beq .L120
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1362 .loc 1 589 0
+ 1363 0006 4125 movs r5, #65
+ ARM GAS /tmp/ccskJbbb.s page 141
+
+
+ 1364 0008 2423 movs r3, #36
+ 1365 000a 4355 strb r3, [r0, r5]
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1366 .loc 1 592 0
+ 1367 000c 0268 ldr r2, [r0]
+ 1368 000e 1368 ldr r3, [r2]
+ 1369 0010 0121 movs r1, #1
+ 1370 0012 8B43 bics r3, r1
+ 1371 0014 1360 str r3, [r2]
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 1372 .loc 1 604 0
+ 1373 0016 FFF7FEFF bl HAL_I2C_MspDeInit
+ 1374 .LVL109:
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_RESET;
+ 1375 .loc 1 607 0
+ 1376 001a 0023 movs r3, #0
+ 1377 001c 6364 str r3, [r4, #68]
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 1378 .loc 1 608 0
+ 1379 001e 6355 strb r3, [r4, r5]
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1380 .loc 1 609 0
+ 1381 0020 2363 str r3, [r4, #48]
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1382 .loc 1 610 0
+ 1383 0022 4222 movs r2, #66
+ 1384 0024 A354 strb r3, [r4, r2]
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1385 .loc 1 613 0
+ 1386 0026 023A subs r2, r2, #2
+ 1387 0028 A354 strb r3, [r4, r2]
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1388 .loc 1 615 0
+ 1389 002a 0020 movs r0, #0
+ 1390 .L119:
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1391 .loc 1 616 0
+ 1392 @ sp needed
+ 1393 .LVL110:
+ 1394 002c 70BD pop {r4, r5, r6, pc}
+ 1395 .LVL111:
+ 1396 .L120:
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1397 .loc 1 583 0
+ 1398 002e 0120 movs r0, #1
+ 1399 .LVL112:
+ 1400 0030 FCE7 b .L119
+ 1401 .cfi_endproc
+ 1402 .LFE41:
+ 1404 .section .text.HAL_I2C_Master_Transmit,"ax",%progbits
+ 1405 .align 1
+ 1406 .global HAL_I2C_Master_Transmit
+ 1407 .syntax unified
+ 1408 .code 16
+ 1409 .thumb_func
+ 1410 .fpu softvfp
+ 1412 HAL_I2C_Master_Transmit:
+ ARM GAS /tmp/ccskJbbb.s page 142
+
+
+ 1413 .LFB44:
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1414 .loc 1 1061 0
+ 1415 .cfi_startproc
+ 1416 @ args = 4, pretend = 0, frame = 8
+ 1417 @ frame_needed = 0, uses_anonymous_args = 0
+ 1418 .LVL113:
+ 1419 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1420 .LCFI13:
+ 1421 .cfi_def_cfa_offset 20
+ 1422 .cfi_offset 4, -20
+ 1423 .cfi_offset 5, -16
+ 1424 .cfi_offset 6, -12
+ 1425 .cfi_offset 7, -8
+ 1426 .cfi_offset 14, -4
+ 1427 0002 85B0 sub sp, sp, #20
+ 1428 .LCFI14:
+ 1429 .cfi_def_cfa_offset 40
+ 1430 0004 0500 movs r5, r0
+ 1431 0006 0391 str r1, [sp, #12]
+ 1432 0008 1700 movs r7, r2
+ 1433 000a 1E00 movs r6, r3
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1434 .loc 1 1064 0
+ 1435 000c 4123 movs r3, #65
+ 1436 .LVL114:
+ 1437 000e C35C ldrb r3, [r0, r3]
+ 1438 0010 202B cmp r3, #32
+ 1439 0012 00D0 beq .LCB1427
+ 1440 0014 99E0 b .L129 @long jump
+ 1441 .LCB1427:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1442 .loc 1 1067 0
+ 1443 0016 2033 adds r3, r3, #32
+ 1444 0018 C35C ldrb r3, [r0, r3]
+ 1445 001a 012B cmp r3, #1
+ 1446 001c 00D1 bne .LCB1431
+ 1447 001e 97E0 b .L130 @long jump
+ 1448 .LCB1431:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1449 .loc 1 1067 0 is_stmt 0 discriminator 2
+ 1450 0020 4023 movs r3, #64
+ 1451 0022 0122 movs r2, #1
+ 1452 .LVL115:
+ 1453 0024 C254 strb r2, [r0, r3]
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1454 .loc 1 1070 0 is_stmt 1 discriminator 2
+ 1455 0026 FFF7FEFF bl HAL_GetTick
+ 1456 .LVL116:
+ 1457 002a 0400 movs r4, r0
+ 1458 .LVL117:
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1459 .loc 1 1072 0 discriminator 2
+ 1460 002c 8021 movs r1, #128
+ 1461 002e 0090 str r0, [sp]
+ 1462 0030 1923 movs r3, #25
+ 1463 0032 0122 movs r2, #1
+ ARM GAS /tmp/ccskJbbb.s page 143
+
+
+ 1464 0034 0902 lsls r1, r1, #8
+ 1465 0036 2800 movs r0, r5
+ 1466 .LVL118:
+ 1467 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1468 .LVL119:
+ 1469 003c 0028 cmp r0, #0
+ 1470 003e 00D0 beq .LCB1452
+ 1471 0040 88E0 b .L131 @long jump
+ 1472 .LCB1452:
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 1473 .loc 1 1077 0
+ 1474 0042 4123 movs r3, #65
+ 1475 0044 2122 movs r2, #33
+ 1476 0046 EA54 strb r2, [r5, r3]
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 1477 .loc 1 1078 0
+ 1478 0048 0133 adds r3, r3, #1
+ 1479 004a 113A subs r2, r2, #17
+ 1480 004c EA54 strb r2, [r5, r3]
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1481 .loc 1 1079 0
+ 1482 004e 0023 movs r3, #0
+ 1483 0050 6B64 str r3, [r5, #68]
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 1484 .loc 1 1082 0
+ 1485 0052 6F62 str r7, [r5, #36]
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 1486 .loc 1 1083 0
+ 1487 0054 6E85 strh r6, [r5, #42]
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1488 .loc 1 1084 0
+ 1489 0056 6B63 str r3, [r5, #52]
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1490 .loc 1 1088 0
+ 1491 0058 6B8D ldrh r3, [r5, #42]
+ 1492 005a 9BB2 uxth r3, r3
+ 1493 005c FF2B cmp r3, #255
+ 1494 005e 0BD9 bls .L123
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 1495 .loc 1 1090 0
+ 1496 0060 FF23 movs r3, #255
+ 1497 0062 2B85 strh r3, [r5, #40]
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1498 .loc 1 1091 0
+ 1499 0064 7F3B subs r3, r3, #127
+ 1500 0066 3F4A ldr r2, .L136
+ 1501 0068 0092 str r2, [sp]
+ 1502 006a 5B04 lsls r3, r3, #17
+ 1503 006c FF22 movs r2, #255
+ 1504 006e 0399 ldr r1, [sp, #12]
+ 1505 0070 2800 movs r0, r5
+ 1506 0072 FFF7FEFF bl I2C_TransferConfig
+ 1507 .LVL120:
+ 1508 0076 18E0 b .L125
+ 1509 .L123:
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ 1510 .loc 1 1095 0
+ ARM GAS /tmp/ccskJbbb.s page 144
+
+
+ 1511 0078 6A8D ldrh r2, [r5, #42]
+ 1512 007a 92B2 uxth r2, r2
+ 1513 007c 2A85 strh r2, [r5, #40]
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1514 .loc 1 1096 0
+ 1515 007e 8023 movs r3, #128
+ 1516 0080 D2B2 uxtb r2, r2
+ 1517 0082 3849 ldr r1, .L136
+ 1518 0084 0091 str r1, [sp]
+ 1519 0086 9B04 lsls r3, r3, #18
+ 1520 0088 0399 ldr r1, [sp, #12]
+ 1521 008a 2800 movs r0, r5
+ 1522 008c FFF7FEFF bl I2C_TransferConfig
+ 1523 .LVL121:
+ 1524 0090 0BE0 b .L125
+ 1525 .L127:
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 1526 .loc 1 1130 0
+ 1527 0092 6A8D ldrh r2, [r5, #42]
+ 1528 0094 92B2 uxth r2, r2
+ 1529 0096 2A85 strh r2, [r5, #40]
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1530 .loc 1 1131 0
+ 1531 0098 8023 movs r3, #128
+ 1532 009a D2B2 uxtb r2, r2
+ 1533 009c 0021 movs r1, #0
+ 1534 009e 0091 str r1, [sp]
+ 1535 00a0 9B04 lsls r3, r3, #18
+ 1536 00a2 0399 ldr r1, [sp, #12]
+ 1537 00a4 2800 movs r0, r5
+ 1538 00a6 FFF7FEFF bl I2C_TransferConfig
+ 1539 .LVL122:
+ 1540 .L125:
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1541 .loc 1 1099 0
+ 1542 00aa 6B8D ldrh r3, [r5, #42]
+ 1543 00ac 9BB2 uxth r3, r3
+ 1544 00ae 002B cmp r3, #0
+ 1545 00b0 34D0 beq .L135
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1546 .loc 1 1102 0
+ 1547 00b2 2200 movs r2, r4
+ 1548 00b4 0A99 ldr r1, [sp, #40]
+ 1549 00b6 2800 movs r0, r5
+ 1550 00b8 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 1551 .LVL123:
+ 1552 00bc 0028 cmp r0, #0
+ 1553 00be 4BD1 bne .L132
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1554 .loc 1 1107 0
+ 1555 00c0 2B68 ldr r3, [r5]
+ 1556 00c2 6A6A ldr r2, [r5, #36]
+ 1557 00c4 1278 ldrb r2, [r2]
+ 1558 00c6 9A62 str r2, [r3, #40]
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1559 .loc 1 1110 0
+ 1560 00c8 6B6A ldr r3, [r5, #36]
+ ARM GAS /tmp/ccskJbbb.s page 145
+
+
+ 1561 00ca 0133 adds r3, r3, #1
+ 1562 00cc 6B62 str r3, [r5, #36]
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 1563 .loc 1 1112 0
+ 1564 00ce 6B8D ldrh r3, [r5, #42]
+ 1565 00d0 013B subs r3, r3, #1
+ 1566 00d2 9BB2 uxth r3, r3
+ 1567 00d4 6B85 strh r3, [r5, #42]
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1568 .loc 1 1113 0
+ 1569 00d6 2B8D ldrh r3, [r5, #40]
+ 1570 00d8 013B subs r3, r3, #1
+ 1571 00da 9BB2 uxth r3, r3
+ 1572 00dc 2B85 strh r3, [r5, #40]
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1573 .loc 1 1115 0
+ 1574 00de 6A8D ldrh r2, [r5, #42]
+ 1575 00e0 92B2 uxth r2, r2
+ 1576 00e2 002A cmp r2, #0
+ 1577 00e4 E1D0 beq .L125
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1578 .loc 1 1115 0 is_stmt 0 discriminator 1
+ 1579 00e6 002B cmp r3, #0
+ 1580 00e8 DFD1 bne .L125
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1581 .loc 1 1118 0 is_stmt 1
+ 1582 00ea 0094 str r4, [sp]
+ 1583 00ec 0A9B ldr r3, [sp, #40]
+ 1584 00ee 0022 movs r2, #0
+ 1585 00f0 8021 movs r1, #128
+ 1586 00f2 2800 movs r0, r5
+ 1587 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1588 .LVL124:
+ 1589 00f8 0028 cmp r0, #0
+ 1590 00fa 2FD1 bne .L133
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1591 .loc 1 1123 0
+ 1592 00fc 6B8D ldrh r3, [r5, #42]
+ 1593 00fe 9BB2 uxth r3, r3
+ 1594 0100 FF2B cmp r3, #255
+ 1595 0102 C6D9 bls .L127
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 1596 .loc 1 1125 0
+ 1597 0104 FF23 movs r3, #255
+ 1598 0106 2B85 strh r3, [r5, #40]
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1599 .loc 1 1126 0
+ 1600 0108 7F3B subs r3, r3, #127
+ 1601 010a 0022 movs r2, #0
+ 1602 010c 0092 str r2, [sp]
+ 1603 010e 5B04 lsls r3, r3, #17
+ 1604 0110 FF32 adds r2, r2, #255
+ 1605 0112 0399 ldr r1, [sp, #12]
+ 1606 0114 2800 movs r0, r5
+ 1607 0116 FFF7FEFF bl I2C_TransferConfig
+ 1608 .LVL125:
+ 1609 011a C6E7 b .L125
+ ARM GAS /tmp/ccskJbbb.s page 146
+
+
+ 1610 .L135:
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1611 .loc 1 1138 0
+ 1612 011c 2200 movs r2, r4
+ 1613 011e 0A99 ldr r1, [sp, #40]
+ 1614 0120 2800 movs r0, r5
+ 1615 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 1616 .LVL126:
+ 1617 0126 0028 cmp r0, #0
+ 1618 0128 1AD1 bne .L134
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1619 .loc 1 1144 0
+ 1620 012a 2B68 ldr r3, [r5]
+ 1621 012c 2022 movs r2, #32
+ 1622 012e DA61 str r2, [r3, #28]
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1623 .loc 1 1147 0
+ 1624 0130 2968 ldr r1, [r5]
+ 1625 0132 4B68 ldr r3, [r1, #4]
+ 1626 0134 0C4C ldr r4, .L136+4
+ 1627 .LVL127:
+ 1628 0136 2340 ands r3, r4
+ 1629 0138 4B60 str r3, [r1, #4]
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1630 .loc 1 1149 0
+ 1631 013a 4123 movs r3, #65
+ 1632 013c EA54 strb r2, [r5, r3]
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1633 .loc 1 1150 0
+ 1634 013e 0023 movs r3, #0
+ 1635 0140 2232 adds r2, r2, #34
+ 1636 0142 AB54 strb r3, [r5, r2]
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1637 .loc 1 1153 0
+ 1638 0144 023A subs r2, r2, #2
+ 1639 0146 AB54 strb r3, [r5, r2]
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1640 .loc 1 1155 0
+ 1641 0148 00E0 b .L122
+ 1642 .LVL128:
+ 1643 .L129:
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1644 .loc 1 1159 0
+ 1645 014a 0220 movs r0, #2
+ 1646 .LVL129:
+ 1647 .L122:
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1648 .loc 1 1161 0
+ 1649 014c 05B0 add sp, sp, #20
+ 1650 @ sp needed
+ 1651 .LVL130:
+ 1652 .LVL131:
+ 1653 014e F0BD pop {r4, r5, r6, r7, pc}
+ 1654 .LVL132:
+ 1655 .L130:
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1656 .loc 1 1067 0
+ ARM GAS /tmp/ccskJbbb.s page 147
+
+
+ 1657 0150 0220 movs r0, #2
+ 1658 .LVL133:
+ 1659 0152 FBE7 b .L122
+ 1660 .LVL134:
+ 1661 .L131:
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1662 .loc 1 1074 0
+ 1663 0154 0120 movs r0, #1
+ 1664 0156 F9E7 b .L122
+ 1665 .L132:
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1666 .loc 1 1104 0
+ 1667 0158 0120 movs r0, #1
+ 1668 015a F7E7 b .L122
+ 1669 .L133:
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1670 .loc 1 1120 0
+ 1671 015c 0120 movs r0, #1
+ 1672 015e F5E7 b .L122
+ 1673 .L134:
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1674 .loc 1 1140 0
+ 1675 0160 0120 movs r0, #1
+ 1676 0162 F3E7 b .L122
+ 1677 .L137:
+ 1678 .align 2
+ 1679 .L136:
+ 1680 0164 00200080 .word -2147475456
+ 1681 0168 00E800FE .word -33495040
+ 1682 .cfi_endproc
+ 1683 .LFE44:
+ 1685 .section .text.HAL_I2C_Master_Receive,"ax",%progbits
+ 1686 .align 1
+ 1687 .global HAL_I2C_Master_Receive
+ 1688 .syntax unified
+ 1689 .code 16
+ 1690 .thumb_func
+ 1691 .fpu softvfp
+ 1693 HAL_I2C_Master_Receive:
+ 1694 .LFB45:
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1695 .loc 1 1175 0
+ 1696 .cfi_startproc
+ 1697 @ args = 4, pretend = 0, frame = 8
+ 1698 @ frame_needed = 0, uses_anonymous_args = 0
+ 1699 .LVL135:
+ 1700 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1701 .LCFI15:
+ 1702 .cfi_def_cfa_offset 20
+ 1703 .cfi_offset 4, -20
+ 1704 .cfi_offset 5, -16
+ 1705 .cfi_offset 6, -12
+ 1706 .cfi_offset 7, -8
+ 1707 .cfi_offset 14, -4
+ 1708 0002 85B0 sub sp, sp, #20
+ 1709 .LCFI16:
+ 1710 .cfi_def_cfa_offset 40
+ ARM GAS /tmp/ccskJbbb.s page 148
+
+
+ 1711 0004 0500 movs r5, r0
+ 1712 0006 0391 str r1, [sp, #12]
+ 1713 0008 1700 movs r7, r2
+ 1714 000a 1E00 movs r6, r3
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1715 .loc 1 1178 0
+ 1716 000c 4123 movs r3, #65
+ 1717 .LVL136:
+ 1718 000e C35C ldrb r3, [r0, r3]
+ 1719 0010 202B cmp r3, #32
+ 1720 0012 00D0 beq .LCB1712
+ 1721 0014 99E0 b .L146 @long jump
+ 1722 .LCB1712:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1723 .loc 1 1181 0
+ 1724 0016 2033 adds r3, r3, #32
+ 1725 0018 C35C ldrb r3, [r0, r3]
+ 1726 001a 012B cmp r3, #1
+ 1727 001c 00D1 bne .LCB1716
+ 1728 001e 97E0 b .L147 @long jump
+ 1729 .LCB1716:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1730 .loc 1 1181 0 is_stmt 0 discriminator 2
+ 1731 0020 4023 movs r3, #64
+ 1732 0022 0122 movs r2, #1
+ 1733 .LVL137:
+ 1734 0024 C254 strb r2, [r0, r3]
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1735 .loc 1 1184 0 is_stmt 1 discriminator 2
+ 1736 0026 FFF7FEFF bl HAL_GetTick
+ 1737 .LVL138:
+ 1738 002a 0400 movs r4, r0
+ 1739 .LVL139:
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1740 .loc 1 1186 0 discriminator 2
+ 1741 002c 8021 movs r1, #128
+ 1742 002e 0090 str r0, [sp]
+ 1743 0030 1923 movs r3, #25
+ 1744 0032 0122 movs r2, #1
+ 1745 0034 0902 lsls r1, r1, #8
+ 1746 0036 2800 movs r0, r5
+ 1747 .LVL140:
+ 1748 0038 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1749 .LVL141:
+ 1750 003c 0028 cmp r0, #0
+ 1751 003e 00D0 beq .LCB1737
+ 1752 0040 88E0 b .L148 @long jump
+ 1753 .LCB1737:
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 1754 .loc 1 1191 0
+ 1755 0042 4123 movs r3, #65
+ 1756 0044 2222 movs r2, #34
+ 1757 0046 EA54 strb r2, [r5, r3]
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 1758 .loc 1 1192 0
+ 1759 0048 0133 adds r3, r3, #1
+ 1760 004a 123A subs r2, r2, #18
+ ARM GAS /tmp/ccskJbbb.s page 149
+
+
+ 1761 004c EA54 strb r2, [r5, r3]
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1762 .loc 1 1193 0
+ 1763 004e 0023 movs r3, #0
+ 1764 0050 6B64 str r3, [r5, #68]
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 1765 .loc 1 1196 0
+ 1766 0052 6F62 str r7, [r5, #36]
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 1767 .loc 1 1197 0
+ 1768 0054 6E85 strh r6, [r5, #42]
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1769 .loc 1 1198 0
+ 1770 0056 6B63 str r3, [r5, #52]
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1771 .loc 1 1202 0
+ 1772 0058 6B8D ldrh r3, [r5, #42]
+ 1773 005a 9BB2 uxth r3, r3
+ 1774 005c FF2B cmp r3, #255
+ 1775 005e 0BD9 bls .L140
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 1776 .loc 1 1204 0
+ 1777 0060 FF23 movs r3, #255
+ 1778 0062 2B85 strh r3, [r5, #40]
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1779 .loc 1 1205 0
+ 1780 0064 7F3B subs r3, r3, #127
+ 1781 0066 3F4A ldr r2, .L153
+ 1782 0068 0092 str r2, [sp]
+ 1783 006a 5B04 lsls r3, r3, #17
+ 1784 006c FF22 movs r2, #255
+ 1785 006e 0399 ldr r1, [sp, #12]
+ 1786 0070 2800 movs r0, r5
+ 1787 0072 FFF7FEFF bl I2C_TransferConfig
+ 1788 .LVL142:
+ 1789 0076 18E0 b .L142
+ 1790 .L140:
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ 1791 .loc 1 1209 0
+ 1792 0078 6A8D ldrh r2, [r5, #42]
+ 1793 007a 92B2 uxth r2, r2
+ 1794 007c 2A85 strh r2, [r5, #40]
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1795 .loc 1 1210 0
+ 1796 007e 8023 movs r3, #128
+ 1797 0080 D2B2 uxtb r2, r2
+ 1798 0082 3849 ldr r1, .L153
+ 1799 0084 0091 str r1, [sp]
+ 1800 0086 9B04 lsls r3, r3, #18
+ 1801 0088 0399 ldr r1, [sp, #12]
+ 1802 008a 2800 movs r0, r5
+ 1803 008c FFF7FEFF bl I2C_TransferConfig
+ 1804 .LVL143:
+ 1805 0090 0BE0 b .L142
+ 1806 .L144:
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 1807 .loc 1 1245 0
+ ARM GAS /tmp/ccskJbbb.s page 150
+
+
+ 1808 0092 6A8D ldrh r2, [r5, #42]
+ 1809 0094 92B2 uxth r2, r2
+ 1810 0096 2A85 strh r2, [r5, #40]
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1811 .loc 1 1246 0
+ 1812 0098 8023 movs r3, #128
+ 1813 009a D2B2 uxtb r2, r2
+ 1814 009c 0021 movs r1, #0
+ 1815 009e 0091 str r1, [sp]
+ 1816 00a0 9B04 lsls r3, r3, #18
+ 1817 00a2 0399 ldr r1, [sp, #12]
+ 1818 00a4 2800 movs r0, r5
+ 1819 00a6 FFF7FEFF bl I2C_TransferConfig
+ 1820 .LVL144:
+ 1821 .L142:
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1822 .loc 1 1213 0
+ 1823 00aa 6B8D ldrh r3, [r5, #42]
+ 1824 00ac 9BB2 uxth r3, r3
+ 1825 00ae 002B cmp r3, #0
+ 1826 00b0 34D0 beq .L152
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1827 .loc 1 1216 0
+ 1828 00b2 2200 movs r2, r4
+ 1829 00b4 0A99 ldr r1, [sp, #40]
+ 1830 00b6 2800 movs r0, r5
+ 1831 00b8 FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
+ 1832 .LVL145:
+ 1833 00bc 0028 cmp r0, #0
+ 1834 00be 4BD1 bne .L149
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1835 .loc 1 1222 0
+ 1836 00c0 2B68 ldr r3, [r5]
+ 1837 00c2 5B6A ldr r3, [r3, #36]
+ 1838 00c4 6A6A ldr r2, [r5, #36]
+ 1839 00c6 1370 strb r3, [r2]
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1840 .loc 1 1225 0
+ 1841 00c8 6B6A ldr r3, [r5, #36]
+ 1842 00ca 0133 adds r3, r3, #1
+ 1843 00cc 6B62 str r3, [r5, #36]
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 1844 .loc 1 1227 0
+ 1845 00ce 2B8D ldrh r3, [r5, #40]
+ 1846 00d0 013B subs r3, r3, #1
+ 1847 00d2 9BB2 uxth r3, r3
+ 1848 00d4 2B85 strh r3, [r5, #40]
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1849 .loc 1 1228 0
+ 1850 00d6 6A8D ldrh r2, [r5, #42]
+ 1851 00d8 013A subs r2, r2, #1
+ 1852 00da 92B2 uxth r2, r2
+ 1853 00dc 6A85 strh r2, [r5, #42]
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1854 .loc 1 1230 0
+ 1855 00de 6A8D ldrh r2, [r5, #42]
+ 1856 00e0 92B2 uxth r2, r2
+ ARM GAS /tmp/ccskJbbb.s page 151
+
+
+ 1857 00e2 002A cmp r2, #0
+ 1858 00e4 E1D0 beq .L142
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1859 .loc 1 1230 0 is_stmt 0 discriminator 1
+ 1860 00e6 002B cmp r3, #0
+ 1861 00e8 DFD1 bne .L142
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1862 .loc 1 1233 0 is_stmt 1
+ 1863 00ea 0094 str r4, [sp]
+ 1864 00ec 0A9B ldr r3, [sp, #40]
+ 1865 00ee 0022 movs r2, #0
+ 1866 00f0 8021 movs r1, #128
+ 1867 00f2 2800 movs r0, r5
+ 1868 00f4 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 1869 .LVL146:
+ 1870 00f8 0028 cmp r0, #0
+ 1871 00fa 2FD1 bne .L150
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1872 .loc 1 1238 0
+ 1873 00fc 6B8D ldrh r3, [r5, #42]
+ 1874 00fe 9BB2 uxth r3, r3
+ 1875 0100 FF2B cmp r3, #255
+ 1876 0102 C6D9 bls .L144
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 1877 .loc 1 1240 0
+ 1878 0104 FF23 movs r3, #255
+ 1879 0106 2B85 strh r3, [r5, #40]
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1880 .loc 1 1241 0
+ 1881 0108 7F3B subs r3, r3, #127
+ 1882 010a 0022 movs r2, #0
+ 1883 010c 0092 str r2, [sp]
+ 1884 010e 5B04 lsls r3, r3, #17
+ 1885 0110 FF32 adds r2, r2, #255
+ 1886 0112 0399 ldr r1, [sp, #12]
+ 1887 0114 2800 movs r0, r5
+ 1888 0116 FFF7FEFF bl I2C_TransferConfig
+ 1889 .LVL147:
+ 1890 011a C6E7 b .L142
+ 1891 .L152:
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1892 .loc 1 1253 0
+ 1893 011c 2200 movs r2, r4
+ 1894 011e 0A99 ldr r1, [sp, #40]
+ 1895 0120 2800 movs r0, r5
+ 1896 0122 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 1897 .LVL148:
+ 1898 0126 0028 cmp r0, #0
+ 1899 0128 1AD1 bne .L151
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1900 .loc 1 1259 0
+ 1901 012a 2B68 ldr r3, [r5]
+ 1902 012c 2022 movs r2, #32
+ 1903 012e DA61 str r2, [r3, #28]
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1904 .loc 1 1262 0
+ 1905 0130 2968 ldr r1, [r5]
+ ARM GAS /tmp/ccskJbbb.s page 152
+
+
+ 1906 0132 4B68 ldr r3, [r1, #4]
+ 1907 0134 0C4C ldr r4, .L153+4
+ 1908 .LVL149:
+ 1909 0136 2340 ands r3, r4
+ 1910 0138 4B60 str r3, [r1, #4]
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 1911 .loc 1 1264 0
+ 1912 013a 4123 movs r3, #65
+ 1913 013c EA54 strb r2, [r5, r3]
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1914 .loc 1 1265 0
+ 1915 013e 0023 movs r3, #0
+ 1916 0140 2232 adds r2, r2, #34
+ 1917 0142 AB54 strb r3, [r5, r2]
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1918 .loc 1 1268 0
+ 1919 0144 023A subs r2, r2, #2
+ 1920 0146 AB54 strb r3, [r5, r2]
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1921 .loc 1 1270 0
+ 1922 0148 00E0 b .L139
+ 1923 .LVL150:
+ 1924 .L146:
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1925 .loc 1 1274 0
+ 1926 014a 0220 movs r0, #2
+ 1927 .LVL151:
+ 1928 .L139:
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1929 .loc 1 1276 0
+ 1930 014c 05B0 add sp, sp, #20
+ 1931 @ sp needed
+ 1932 .LVL152:
+ 1933 .LVL153:
+ 1934 014e F0BD pop {r4, r5, r6, r7, pc}
+ 1935 .LVL154:
+ 1936 .L147:
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 1937 .loc 1 1181 0
+ 1938 0150 0220 movs r0, #2
+ 1939 .LVL155:
+ 1940 0152 FBE7 b .L139
+ 1941 .LVL156:
+ 1942 .L148:
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1943 .loc 1 1188 0
+ 1944 0154 0120 movs r0, #1
+ 1945 0156 F9E7 b .L139
+ 1946 .L149:
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1947 .loc 1 1218 0
+ 1948 0158 0120 movs r0, #1
+ 1949 015a F7E7 b .L139
+ 1950 .L150:
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1951 .loc 1 1235 0
+ 1952 015c 0120 movs r0, #1
+ ARM GAS /tmp/ccskJbbb.s page 153
+
+
+ 1953 015e F5E7 b .L139
+ 1954 .L151:
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 1955 .loc 1 1255 0
+ 1956 0160 0120 movs r0, #1
+ 1957 0162 F3E7 b .L139
+ 1958 .L154:
+ 1959 .align 2
+ 1960 .L153:
+ 1961 0164 00240080 .word -2147474432
+ 1962 0168 00E800FE .word -33495040
+ 1963 .cfi_endproc
+ 1964 .LFE45:
+ 1966 .section .text.HAL_I2C_Slave_Transmit,"ax",%progbits
+ 1967 .align 1
+ 1968 .global HAL_I2C_Slave_Transmit
+ 1969 .syntax unified
+ 1970 .code 16
+ 1971 .thumb_func
+ 1972 .fpu softvfp
+ 1974 HAL_I2C_Slave_Transmit:
+ 1975 .LFB46:
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 1976 .loc 1 1288 0
+ 1977 .cfi_startproc
+ 1978 @ args = 0, pretend = 0, frame = 8
+ 1979 @ frame_needed = 0, uses_anonymous_args = 0
+ 1980 .LVL157:
+ 1981 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1982 .LCFI17:
+ 1983 .cfi_def_cfa_offset 20
+ 1984 .cfi_offset 4, -20
+ 1985 .cfi_offset 5, -16
+ 1986 .cfi_offset 6, -12
+ 1987 .cfi_offset 7, -8
+ 1988 .cfi_offset 14, -4
+ 1989 0002 85B0 sub sp, sp, #20
+ 1990 .LCFI18:
+ 1991 .cfi_def_cfa_offset 40
+ 1992 0004 0600 movs r6, r0
+ 1993 0006 0C00 movs r4, r1
+ 1994 0008 1500 movs r5, r2
+ 1995 000a 0393 str r3, [sp, #12]
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 1996 .loc 1 1291 0
+ 1997 000c 4123 movs r3, #65
+ 1998 .LVL158:
+ 1999 000e C35C ldrb r3, [r0, r3]
+ 2000 0010 202B cmp r3, #32
+ 2001 0012 00D0 beq .LCB1995
+ 2002 0014 B8E0 b .L167 @long jump
+ 2003 .LCB1995:
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2004 .loc 1 1293 0
+ 2005 0016 0029 cmp r1, #0
+ 2006 0018 4CD0 beq .L157
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 154
+
+
+ 2007 .loc 1 1293 0 is_stmt 0 discriminator 1
+ 2008 001a 002A cmp r2, #0
+ 2009 001c 4AD0 beq .L157
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2010 .loc 1 1299 0 is_stmt 1
+ 2011 001e 4023 movs r3, #64
+ 2012 0020 C35C ldrb r3, [r0, r3]
+ 2013 0022 012B cmp r3, #1
+ 2014 0024 00D1 bne .LCB2003
+ 2015 0026 B2E0 b .L168 @long jump
+ 2016 .LCB2003:
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2017 .loc 1 1299 0 is_stmt 0 discriminator 2
+ 2018 0028 4023 movs r3, #64
+ 2019 002a 0122 movs r2, #1
+ 2020 .LVL159:
+ 2021 002c C254 strb r2, [r0, r3]
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2022 .loc 1 1302 0 is_stmt 1 discriminator 2
+ 2023 002e FFF7FEFF bl HAL_GetTick
+ 2024 .LVL160:
+ 2025 0032 0700 movs r7, r0
+ 2026 .LVL161:
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2027 .loc 1 1304 0 discriminator 2
+ 2028 0034 4123 movs r3, #65
+ 2029 0036 2122 movs r2, #33
+ 2030 0038 F254 strb r2, [r6, r3]
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2031 .loc 1 1305 0 discriminator 2
+ 2032 003a 0133 adds r3, r3, #1
+ 2033 003c 013A subs r2, r2, #1
+ 2034 003e F254 strb r2, [r6, r3]
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2035 .loc 1 1306 0 discriminator 2
+ 2036 0040 0023 movs r3, #0
+ 2037 0042 7364 str r3, [r6, #68]
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2038 .loc 1 1309 0 discriminator 2
+ 2039 0044 7462 str r4, [r6, #36]
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 2040 .loc 1 1310 0 discriminator 2
+ 2041 0046 7585 strh r5, [r6, #42]
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2042 .loc 1 1311 0 discriminator 2
+ 2043 0048 7363 str r3, [r6, #52]
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2044 .loc 1 1314 0 discriminator 2
+ 2045 004a 3268 ldr r2, [r6]
+ 2046 004c 5368 ldr r3, [r2, #4]
+ 2047 004e 5149 ldr r1, .L178
+ 2048 0050 0B40 ands r3, r1
+ 2049 0052 5360 str r3, [r2, #4]
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2050 .loc 1 1317 0 discriminator 2
+ 2051 0054 0090 str r0, [sp]
+ 2052 0056 039B ldr r3, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 155
+
+
+ 2053 0058 0022 movs r2, #0
+ 2054 005a 0821 movs r1, #8
+ 2055 005c 3000 movs r0, r6
+ 2056 .LVL162:
+ 2057 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2058 .LVL163:
+ 2059 0062 0028 cmp r0, #0
+ 2060 0064 2BD1 bne .L170
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2061 .loc 1 1325 0
+ 2062 0066 3368 ldr r3, [r6]
+ 2063 0068 0822 movs r2, #8
+ 2064 006a DA61 str r2, [r3, #28]
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2065 .loc 1 1328 0
+ 2066 006c F368 ldr r3, [r6, #12]
+ 2067 006e 022B cmp r3, #2
+ 2068 0070 2DD0 beq .L171
+ 2069 .L160:
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2070 .loc 1 1343 0
+ 2071 0072 8021 movs r1, #128
+ 2072 0074 0097 str r7, [sp]
+ 2073 0076 039B ldr r3, [sp, #12]
+ 2074 0078 0022 movs r2, #0
+ 2075 007a 4902 lsls r1, r1, #9
+ 2076 007c 3000 movs r0, r6
+ 2077 007e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2078 .LVL164:
+ 2079 0082 0028 cmp r0, #0
+ 2080 0084 38D1 bne .L172
+ 2081 .L162:
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2082 .loc 1 1350 0
+ 2083 0086 738D ldrh r3, [r6, #42]
+ 2084 0088 9BB2 uxth r3, r3
+ 2085 008a 002B cmp r3, #0
+ 2086 008c 44D0 beq .L173
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2087 .loc 1 1353 0
+ 2088 008e 3A00 movs r2, r7
+ 2089 0090 0399 ldr r1, [sp, #12]
+ 2090 0092 3000 movs r0, r6
+ 2091 0094 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 2092 .LVL165:
+ 2093 0098 0028 cmp r0, #0
+ 2094 009a 35D1 bne .L174
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2095 .loc 1 1361 0
+ 2096 009c 3368 ldr r3, [r6]
+ 2097 009e 726A ldr r2, [r6, #36]
+ 2098 00a0 1278 ldrb r2, [r2]
+ 2099 00a2 9A62 str r2, [r3, #40]
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2100 .loc 1 1364 0
+ 2101 00a4 736A ldr r3, [r6, #36]
+ 2102 00a6 0133 adds r3, r3, #1
+ ARM GAS /tmp/ccskJbbb.s page 156
+
+
+ 2103 00a8 7362 str r3, [r6, #36]
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2104 .loc 1 1366 0
+ 2105 00aa 738D ldrh r3, [r6, #42]
+ 2106 00ac 013B subs r3, r3, #1
+ 2107 00ae 9BB2 uxth r3, r3
+ 2108 00b0 7385 strh r3, [r6, #42]
+ 2109 00b2 E8E7 b .L162
+ 2110 .LVL166:
+ 2111 .L157:
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2112 .loc 1 1295 0
+ 2113 00b4 8023 movs r3, #128
+ 2114 00b6 9B00 lsls r3, r3, #2
+ 2115 00b8 7364 str r3, [r6, #68]
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2116 .loc 1 1296 0
+ 2117 00ba 0120 movs r0, #1
+ 2118 .LVL167:
+ 2119 00bc 65E0 b .L156
+ 2120 .LVL168:
+ 2121 .L170:
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2122 .loc 1 1320 0
+ 2123 00be 3268 ldr r2, [r6]
+ 2124 00c0 5168 ldr r1, [r2, #4]
+ 2125 00c2 8023 movs r3, #128
+ 2126 00c4 1B02 lsls r3, r3, #8
+ 2127 00c6 0B43 orrs r3, r1
+ 2128 00c8 5360 str r3, [r2, #4]
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2129 .loc 1 1321 0
+ 2130 00ca 0120 movs r0, #1
+ 2131 00cc 5DE0 b .L156
+ 2132 .L171:
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2133 .loc 1 1331 0
+ 2134 00ce 0097 str r7, [sp]
+ 2135 00d0 039B ldr r3, [sp, #12]
+ 2136 00d2 0022 movs r2, #0
+ 2137 00d4 0821 movs r1, #8
+ 2138 00d6 3000 movs r0, r6
+ 2139 00d8 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2140 .LVL169:
+ 2141 00dc 0028 cmp r0, #0
+ 2142 00de 03D1 bne .L175
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2143 .loc 1 1339 0
+ 2144 00e0 3368 ldr r3, [r6]
+ 2145 00e2 0822 movs r2, #8
+ 2146 00e4 DA61 str r2, [r3, #28]
+ 2147 00e6 C4E7 b .L160
+ 2148 .L175:
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2149 .loc 1 1334 0
+ 2150 00e8 3268 ldr r2, [r6]
+ 2151 00ea 5168 ldr r1, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 157
+
+
+ 2152 00ec 8023 movs r3, #128
+ 2153 00ee 1B02 lsls r3, r3, #8
+ 2154 00f0 0B43 orrs r3, r1
+ 2155 00f2 5360 str r3, [r2, #4]
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2156 .loc 1 1335 0
+ 2157 00f4 0120 movs r0, #1
+ 2158 00f6 48E0 b .L156
+ 2159 .L172:
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2160 .loc 1 1346 0
+ 2161 00f8 3268 ldr r2, [r6]
+ 2162 00fa 5168 ldr r1, [r2, #4]
+ 2163 00fc 8023 movs r3, #128
+ 2164 00fe 1B02 lsls r3, r3, #8
+ 2165 0100 0B43 orrs r3, r1
+ 2166 0102 5360 str r3, [r2, #4]
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2167 .loc 1 1347 0
+ 2168 0104 0120 movs r0, #1
+ 2169 0106 40E0 b .L156
+ 2170 .L174:
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2171 .loc 1 1356 0
+ 2172 0108 3268 ldr r2, [r6]
+ 2173 010a 5168 ldr r1, [r2, #4]
+ 2174 010c 8023 movs r3, #128
+ 2175 010e 1B02 lsls r3, r3, #8
+ 2176 0110 0B43 orrs r3, r1
+ 2177 0112 5360 str r3, [r2, #4]
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2178 .loc 1 1357 0
+ 2179 0114 0120 movs r0, #1
+ 2180 0116 38E0 b .L156
+ 2181 .L173:
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2182 .loc 1 1370 0
+ 2183 0118 3A00 movs r2, r7
+ 2184 011a 0399 ldr r1, [sp, #12]
+ 2185 011c 3000 movs r0, r6
+ 2186 011e FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 2187 .LVL170:
+ 2188 0122 0028 cmp r0, #0
+ 2189 0124 0CD0 beq .L165
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2190 .loc 1 1373 0
+ 2191 0126 3268 ldr r2, [r6]
+ 2192 0128 5168 ldr r1, [r2, #4]
+ 2193 012a 8023 movs r3, #128
+ 2194 012c 1B02 lsls r3, r3, #8
+ 2195 012e 0B43 orrs r3, r1
+ 2196 0130 5360 str r3, [r2, #4]
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2197 .loc 1 1375 0
+ 2198 0132 736C ldr r3, [r6, #68]
+ 2199 0134 042B cmp r3, #4
+ 2200 0136 01D0 beq .L176
+ ARM GAS /tmp/ccskJbbb.s page 158
+
+
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2201 .loc 1 1383 0
+ 2202 0138 0120 movs r0, #1
+ 2203 013a 26E0 b .L156
+ 2204 .L176:
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2205 .loc 1 1379 0
+ 2206 013c 0023 movs r3, #0
+ 2207 013e 7364 str r3, [r6, #68]
+ 2208 .L165:
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2209 .loc 1 1388 0
+ 2210 0140 3368 ldr r3, [r6]
+ 2211 0142 2022 movs r2, #32
+ 2212 0144 DA61 str r2, [r3, #28]
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2213 .loc 1 1391 0
+ 2214 0146 8021 movs r1, #128
+ 2215 0148 0097 str r7, [sp]
+ 2216 014a 039B ldr r3, [sp, #12]
+ 2217 014c 1F3A subs r2, r2, #31
+ 2218 014e 0902 lsls r1, r1, #8
+ 2219 0150 3000 movs r0, r6
+ 2220 0152 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2221 .LVL171:
+ 2222 0156 0028 cmp r0, #0
+ 2223 0158 0ED1 bne .L177
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2224 .loc 1 1399 0
+ 2225 015a 3268 ldr r2, [r6]
+ 2226 015c 5168 ldr r1, [r2, #4]
+ 2227 015e 8023 movs r3, #128
+ 2228 0160 1B02 lsls r3, r3, #8
+ 2229 0162 0B43 orrs r3, r1
+ 2230 0164 5360 str r3, [r2, #4]
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 2231 .loc 1 1401 0
+ 2232 0166 4123 movs r3, #65
+ 2233 0168 2022 movs r2, #32
+ 2234 016a F254 strb r2, [r6, r3]
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2235 .loc 1 1402 0
+ 2236 016c 0023 movs r3, #0
+ 2237 016e 2232 adds r2, r2, #34
+ 2238 0170 B354 strb r3, [r6, r2]
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2239 .loc 1 1405 0
+ 2240 0172 023A subs r2, r2, #2
+ 2241 0174 B354 strb r3, [r6, r2]
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2242 .loc 1 1407 0
+ 2243 0176 08E0 b .L156
+ 2244 .L177:
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2245 .loc 1 1394 0
+ 2246 0178 3268 ldr r2, [r6]
+ 2247 017a 5168 ldr r1, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 159
+
+
+ 2248 017c 8023 movs r3, #128
+ 2249 017e 1B02 lsls r3, r3, #8
+ 2250 0180 0B43 orrs r3, r1
+ 2251 0182 5360 str r3, [r2, #4]
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2252 .loc 1 1395 0
+ 2253 0184 0120 movs r0, #1
+ 2254 0186 00E0 b .L156
+ 2255 .LVL172:
+ 2256 .L167:
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2257 .loc 1 1411 0
+ 2258 0188 0220 movs r0, #2
+ 2259 .LVL173:
+ 2260 .L156:
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2261 .loc 1 1413 0
+ 2262 018a 05B0 add sp, sp, #20
+ 2263 @ sp needed
+ 2264 .LVL174:
+ 2265 .LVL175:
+ 2266 018c F0BD pop {r4, r5, r6, r7, pc}
+ 2267 .LVL176:
+ 2268 .L168:
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2269 .loc 1 1299 0
+ 2270 018e 0220 movs r0, #2
+ 2271 .LVL177:
+ 2272 0190 FBE7 b .L156
+ 2273 .L179:
+ 2274 0192 C046 .align 2
+ 2275 .L178:
+ 2276 0194 FF7FFFFF .word -32769
+ 2277 .cfi_endproc
+ 2278 .LFE46:
+ 2280 .section .text.HAL_I2C_Slave_Receive,"ax",%progbits
+ 2281 .align 1
+ 2282 .global HAL_I2C_Slave_Receive
+ 2283 .syntax unified
+ 2284 .code 16
+ 2285 .thumb_func
+ 2286 .fpu softvfp
+ 2288 HAL_I2C_Slave_Receive:
+ 2289 .LFB47:
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 2290 .loc 1 1425 0
+ 2291 .cfi_startproc
+ 2292 @ args = 0, pretend = 0, frame = 8
+ 2293 @ frame_needed = 0, uses_anonymous_args = 0
+ 2294 .LVL178:
+ 2295 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 2296 .LCFI19:
+ 2297 .cfi_def_cfa_offset 20
+ 2298 .cfi_offset 4, -20
+ 2299 .cfi_offset 5, -16
+ 2300 .cfi_offset 6, -12
+ 2301 .cfi_offset 7, -8
+ ARM GAS /tmp/ccskJbbb.s page 160
+
+
+ 2302 .cfi_offset 14, -4
+ 2303 0002 85B0 sub sp, sp, #20
+ 2304 .LCFI20:
+ 2305 .cfi_def_cfa_offset 40
+ 2306 0004 0600 movs r6, r0
+ 2307 0006 0C00 movs r4, r1
+ 2308 0008 1500 movs r5, r2
+ 2309 000a 0393 str r3, [sp, #12]
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2310 .loc 1 1428 0
+ 2311 000c 4123 movs r3, #65
+ 2312 .LVL179:
+ 2313 000e C35C ldrb r3, [r0, r3]
+ 2314 0010 202B cmp r3, #32
+ 2315 0012 00D0 beq .LCB2307
+ 2316 0014 A8E0 b .L190 @long jump
+ 2317 .LCB2307:
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2318 .loc 1 1430 0
+ 2319 0016 0029 cmp r1, #0
+ 2320 0018 2DD0 beq .L182
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2321 .loc 1 1430 0 is_stmt 0 discriminator 1
+ 2322 001a 002A cmp r2, #0
+ 2323 001c 2BD0 beq .L182
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2324 .loc 1 1436 0 is_stmt 1
+ 2325 001e 4023 movs r3, #64
+ 2326 0020 C35C ldrb r3, [r0, r3]
+ 2327 0022 012B cmp r3, #1
+ 2328 0024 00D1 bne .LCB2315
+ 2329 0026 A2E0 b .L191 @long jump
+ 2330 .LCB2315:
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2331 .loc 1 1436 0 is_stmt 0 discriminator 2
+ 2332 0028 4023 movs r3, #64
+ 2333 002a 0122 movs r2, #1
+ 2334 .LVL180:
+ 2335 002c C254 strb r2, [r0, r3]
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2336 .loc 1 1439 0 is_stmt 1 discriminator 2
+ 2337 002e FFF7FEFF bl HAL_GetTick
+ 2338 .LVL181:
+ 2339 0032 0700 movs r7, r0
+ 2340 .LVL182:
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2341 .loc 1 1441 0 discriminator 2
+ 2342 0034 4123 movs r3, #65
+ 2343 0036 2222 movs r2, #34
+ 2344 0038 F254 strb r2, [r6, r3]
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2345 .loc 1 1442 0 discriminator 2
+ 2346 003a 0133 adds r3, r3, #1
+ 2347 003c 023A subs r2, r2, #2
+ 2348 003e F254 strb r2, [r6, r3]
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2349 .loc 1 1443 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 161
+
+
+ 2350 0040 0023 movs r3, #0
+ 2351 0042 7364 str r3, [r6, #68]
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2352 .loc 1 1446 0 discriminator 2
+ 2353 0044 7462 str r4, [r6, #36]
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 2354 .loc 1 1447 0 discriminator 2
+ 2355 0046 7585 strh r5, [r6, #42]
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2356 .loc 1 1448 0 discriminator 2
+ 2357 0048 7363 str r3, [r6, #52]
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2358 .loc 1 1451 0 discriminator 2
+ 2359 004a 3268 ldr r2, [r6]
+ 2360 004c 5368 ldr r3, [r2, #4]
+ 2361 004e 4A49 ldr r1, .L195
+ 2362 0050 0B40 ands r3, r1
+ 2363 0052 5360 str r3, [r2, #4]
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2364 .loc 1 1454 0 discriminator 2
+ 2365 0054 0090 str r0, [sp]
+ 2366 0056 039B ldr r3, [sp, #12]
+ 2367 0058 0022 movs r2, #0
+ 2368 005a 0821 movs r1, #8
+ 2369 005c 3000 movs r0, r6
+ 2370 .LVL183:
+ 2371 005e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2372 .LVL184:
+ 2373 0062 0028 cmp r0, #0
+ 2374 0064 0CD0 beq .L184
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2375 .loc 1 1457 0
+ 2376 0066 3268 ldr r2, [r6]
+ 2377 0068 5168 ldr r1, [r2, #4]
+ 2378 006a 8023 movs r3, #128
+ 2379 006c 1B02 lsls r3, r3, #8
+ 2380 006e 0B43 orrs r3, r1
+ 2381 0070 5360 str r3, [r2, #4]
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2382 .loc 1 1458 0
+ 2383 0072 0120 movs r0, #1
+ 2384 0074 79E0 b .L181
+ 2385 .LVL185:
+ 2386 .L182:
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2387 .loc 1 1432 0
+ 2388 0076 8023 movs r3, #128
+ 2389 0078 9B00 lsls r3, r3, #2
+ 2390 007a 7364 str r3, [r6, #68]
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2391 .loc 1 1433 0
+ 2392 007c 0120 movs r0, #1
+ 2393 .LVL186:
+ 2394 007e 74E0 b .L181
+ 2395 .LVL187:
+ 2396 .L184:
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 162
+
+
+ 2397 .loc 1 1462 0
+ 2398 0080 3368 ldr r3, [r6]
+ 2399 0082 0822 movs r2, #8
+ 2400 0084 DA61 str r2, [r3, #28]
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2401 .loc 1 1465 0
+ 2402 0086 8021 movs r1, #128
+ 2403 0088 0097 str r7, [sp]
+ 2404 008a 039B ldr r3, [sp, #12]
+ 2405 008c 073A subs r2, r2, #7
+ 2406 008e 4902 lsls r1, r1, #9
+ 2407 0090 3000 movs r0, r6
+ 2408 0092 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2409 .LVL188:
+ 2410 0096 0028 cmp r0, #0
+ 2411 0098 12D0 beq .L185
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2412 .loc 1 1468 0
+ 2413 009a 3268 ldr r2, [r6]
+ 2414 009c 5168 ldr r1, [r2, #4]
+ 2415 009e 8023 movs r3, #128
+ 2416 00a0 1B02 lsls r3, r3, #8
+ 2417 00a2 0B43 orrs r3, r1
+ 2418 00a4 5360 str r3, [r2, #4]
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2419 .loc 1 1469 0
+ 2420 00a6 0120 movs r0, #1
+ 2421 00a8 5FE0 b .L181
+ 2422 .L186:
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2423 .loc 1 1496 0
+ 2424 00aa 3368 ldr r3, [r6]
+ 2425 00ac 5B6A ldr r3, [r3, #36]
+ 2426 00ae 726A ldr r2, [r6, #36]
+ 2427 00b0 1370 strb r3, [r2]
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2428 .loc 1 1499 0
+ 2429 00b2 736A ldr r3, [r6, #36]
+ 2430 00b4 0133 adds r3, r3, #1
+ 2431 00b6 7362 str r3, [r6, #36]
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2432 .loc 1 1501 0
+ 2433 00b8 738D ldrh r3, [r6, #42]
+ 2434 00ba 013B subs r3, r3, #1
+ 2435 00bc 9BB2 uxth r3, r3
+ 2436 00be 7385 strh r3, [r6, #42]
+ 2437 .L185:
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2438 .loc 1 1472 0
+ 2439 00c0 738D ldrh r3, [r6, #42]
+ 2440 00c2 9BB2 uxth r3, r3
+ 2441 00c4 002B cmp r3, #0
+ 2442 00c6 1CD0 beq .L193
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2443 .loc 1 1475 0
+ 2444 00c8 3A00 movs r2, r7
+ 2445 00ca 0399 ldr r1, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 163
+
+
+ 2446 00cc 3000 movs r0, r6
+ 2447 00ce FFF7FEFF bl I2C_WaitOnRXNEFlagUntilTimeout
+ 2448 .LVL189:
+ 2449 00d2 0028 cmp r0, #0
+ 2450 00d4 E9D0 beq .L186
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2451 .loc 1 1478 0
+ 2452 00d6 3268 ldr r2, [r6]
+ 2453 00d8 5168 ldr r1, [r2, #4]
+ 2454 00da 8023 movs r3, #128
+ 2455 00dc 1B02 lsls r3, r3, #8
+ 2456 00de 0B43 orrs r3, r1
+ 2457 00e0 5360 str r3, [r2, #4]
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2458 .loc 1 1481 0
+ 2459 00e2 3368 ldr r3, [r6]
+ 2460 00e4 9A69 ldr r2, [r3, #24]
+ 2461 00e6 5207 lsls r2, r2, #29
+ 2462 00e8 43D5 bpl .L192
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2463 .loc 1 1484 0
+ 2464 00ea 5B6A ldr r3, [r3, #36]
+ 2465 00ec 726A ldr r2, [r6, #36]
+ 2466 00ee 1370 strb r3, [r2]
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2467 .loc 1 1487 0
+ 2468 00f0 736A ldr r3, [r6, #36]
+ 2469 00f2 0133 adds r3, r3, #1
+ 2470 00f4 7362 str r3, [r6, #36]
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2471 .loc 1 1489 0
+ 2472 00f6 738D ldrh r3, [r6, #42]
+ 2473 00f8 013B subs r3, r3, #1
+ 2474 00fa 9BB2 uxth r3, r3
+ 2475 00fc 7385 strh r3, [r6, #42]
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2476 .loc 1 1492 0
+ 2477 00fe 0120 movs r0, #1
+ 2478 0100 33E0 b .L181
+ 2479 .L193:
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2480 .loc 1 1505 0
+ 2481 0102 3A00 movs r2, r7
+ 2482 0104 0399 ldr r1, [sp, #12]
+ 2483 0106 3000 movs r0, r6
+ 2484 0108 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 2485 .LVL190:
+ 2486 010c 0028 cmp r0, #0
+ 2487 010e 07D0 beq .L188
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2488 .loc 1 1508 0
+ 2489 0110 3268 ldr r2, [r6]
+ 2490 0112 5168 ldr r1, [r2, #4]
+ 2491 0114 8023 movs r3, #128
+ 2492 0116 1B02 lsls r3, r3, #8
+ 2493 0118 0B43 orrs r3, r1
+ 2494 011a 5360 str r3, [r2, #4]
+ ARM GAS /tmp/ccskJbbb.s page 164
+
+
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2495 .loc 1 1509 0
+ 2496 011c 0120 movs r0, #1
+ 2497 011e 24E0 b .L181
+ 2498 .L188:
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2499 .loc 1 1513 0
+ 2500 0120 3368 ldr r3, [r6]
+ 2501 0122 2022 movs r2, #32
+ 2502 0124 DA61 str r2, [r3, #28]
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2503 .loc 1 1516 0
+ 2504 0126 8021 movs r1, #128
+ 2505 0128 0097 str r7, [sp]
+ 2506 012a 039B ldr r3, [sp, #12]
+ 2507 012c 1F3A subs r2, r2, #31
+ 2508 012e 0902 lsls r1, r1, #8
+ 2509 0130 3000 movs r0, r6
+ 2510 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 2511 .LVL191:
+ 2512 0136 0028 cmp r0, #0
+ 2513 0138 0ED1 bne .L194
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2514 .loc 1 1524 0
+ 2515 013a 3268 ldr r2, [r6]
+ 2516 013c 5168 ldr r1, [r2, #4]
+ 2517 013e 8023 movs r3, #128
+ 2518 0140 1B02 lsls r3, r3, #8
+ 2519 0142 0B43 orrs r3, r1
+ 2520 0144 5360 str r3, [r2, #4]
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 2521 .loc 1 1526 0
+ 2522 0146 4123 movs r3, #65
+ 2523 0148 2022 movs r2, #32
+ 2524 014a F254 strb r2, [r6, r3]
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2525 .loc 1 1527 0
+ 2526 014c 0023 movs r3, #0
+ 2527 014e 2232 adds r2, r2, #34
+ 2528 0150 B354 strb r3, [r6, r2]
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2529 .loc 1 1530 0
+ 2530 0152 023A subs r2, r2, #2
+ 2531 0154 B354 strb r3, [r6, r2]
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2532 .loc 1 1532 0
+ 2533 0156 08E0 b .L181
+ 2534 .L194:
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 2535 .loc 1 1519 0
+ 2536 0158 3268 ldr r2, [r6]
+ 2537 015a 5168 ldr r1, [r2, #4]
+ 2538 015c 8023 movs r3, #128
+ 2539 015e 1B02 lsls r3, r3, #8
+ 2540 0160 0B43 orrs r3, r1
+ 2541 0162 5360 str r3, [r2, #4]
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 165
+
+
+ 2542 .loc 1 1520 0
+ 2543 0164 0120 movs r0, #1
+ 2544 0166 00E0 b .L181
+ 2545 .LVL192:
+ 2546 .L190:
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2547 .loc 1 1536 0
+ 2548 0168 0220 movs r0, #2
+ 2549 .LVL193:
+ 2550 .L181:
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2551 .loc 1 1538 0
+ 2552 016a 05B0 add sp, sp, #20
+ 2553 @ sp needed
+ 2554 .LVL194:
+ 2555 .LVL195:
+ 2556 016c F0BD pop {r4, r5, r6, r7, pc}
+ 2557 .LVL196:
+ 2558 .L191:
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2559 .loc 1 1436 0
+ 2560 016e 0220 movs r0, #2
+ 2561 .LVL197:
+ 2562 0170 FBE7 b .L181
+ 2563 .LVL198:
+ 2564 .L192:
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2565 .loc 1 1492 0
+ 2566 0172 0120 movs r0, #1
+ 2567 0174 F9E7 b .L181
+ 2568 .L196:
+ 2569 0176 C046 .align 2
+ 2570 .L195:
+ 2571 0178 FF7FFFFF .word -32769
+ 2572 .cfi_endproc
+ 2573 .LFE47:
+ 2575 .section .text.HAL_I2C_Master_Transmit_IT,"ax",%progbits
+ 2576 .align 1
+ 2577 .global HAL_I2C_Master_Transmit_IT
+ 2578 .syntax unified
+ 2579 .code 16
+ 2580 .thumb_func
+ 2581 .fpu softvfp
+ 2583 HAL_I2C_Master_Transmit_IT:
+ 2584 .LFB48:
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 2585 .loc 1 1551 0
+ 2586 .cfi_startproc
+ 2587 @ args = 0, pretend = 0, frame = 0
+ 2588 @ frame_needed = 0, uses_anonymous_args = 0
+ 2589 .LVL199:
+ 2590 0000 30B5 push {r4, r5, lr}
+ 2591 .LCFI21:
+ 2592 .cfi_def_cfa_offset 12
+ 2593 .cfi_offset 4, -12
+ 2594 .cfi_offset 5, -8
+ 2595 .cfi_offset 14, -4
+ ARM GAS /tmp/ccskJbbb.s page 166
+
+
+ 2596 0002 83B0 sub sp, sp, #12
+ 2597 .LCFI22:
+ 2598 .cfi_def_cfa_offset 24
+ 2599 0004 0400 movs r4, r0
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2600 .loc 1 1554 0
+ 2601 0006 4120 movs r0, #65
+ 2602 .LVL200:
+ 2603 0008 205C ldrb r0, [r4, r0]
+ 2604 000a 2028 cmp r0, #32
+ 2605 000c 35D1 bne .L201
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2606 .loc 1 1556 0
+ 2607 000e 2068 ldr r0, [r4]
+ 2608 0010 8069 ldr r0, [r0, #24]
+ 2609 0012 0004 lsls r0, r0, #16
+ 2610 0014 34D4 bmi .L202
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2611 .loc 1 1562 0
+ 2612 0016 4020 movs r0, #64
+ 2613 0018 205C ldrb r0, [r4, r0]
+ 2614 001a 0128 cmp r0, #1
+ 2615 001c 32D0 beq .L203
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2616 .loc 1 1562 0 is_stmt 0 discriminator 2
+ 2617 001e 4020 movs r0, #64
+ 2618 0020 0125 movs r5, #1
+ 2619 0022 2554 strb r5, [r4, r0]
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 2620 .loc 1 1564 0 is_stmt 1 discriminator 2
+ 2621 0024 0130 adds r0, r0, #1
+ 2622 0026 2035 adds r5, r5, #32
+ 2623 0028 2554 strb r5, [r4, r0]
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2624 .loc 1 1565 0 discriminator 2
+ 2625 002a 0130 adds r0, r0, #1
+ 2626 002c 113D subs r5, r5, #17
+ 2627 002e 2554 strb r5, [r4, r0]
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2628 .loc 1 1566 0 discriminator 2
+ 2629 0030 0020 movs r0, #0
+ 2630 0032 6064 str r0, [r4, #68]
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2631 .loc 1 1569 0 discriminator 2
+ 2632 0034 6262 str r2, [r4, #36]
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2633 .loc 1 1570 0 discriminator 2
+ 2634 0036 6385 strh r3, [r4, #42]
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 2635 .loc 1 1571 0 discriminator 2
+ 2636 0038 134B ldr r3, .L204
+ 2637 .LVL201:
+ 2638 003a E362 str r3, [r4, #44]
+ 2639 .LVL202:
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2640 .loc 1 1572 0 discriminator 2
+ 2641 003c 134B ldr r3, .L204+4
+ ARM GAS /tmp/ccskJbbb.s page 167
+
+
+ 2642 003e 6363 str r3, [r4, #52]
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2643 .loc 1 1574 0 discriminator 2
+ 2644 0040 638D ldrh r3, [r4, #42]
+ 2645 0042 9BB2 uxth r3, r3
+ 2646 0044 FF2B cmp r3, #255
+ 2647 0046 13D9 bls .L199
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 2648 .loc 1 1576 0
+ 2649 0048 FF23 movs r3, #255
+ 2650 004a 2385 strh r3, [r4, #40]
+ 2651 .LVL203:
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2652 .loc 1 1577 0
+ 2653 004c 8023 movs r3, #128
+ 2654 004e 5B04 lsls r3, r3, #17
+ 2655 .LVL204:
+ 2656 .L200:
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2657 .loc 1 1587 0
+ 2658 0050 228D ldrh r2, [r4, #40]
+ 2659 .LVL205:
+ 2660 0052 D2B2 uxtb r2, r2
+ 2661 0054 0E48 ldr r0, .L204+8
+ 2662 0056 0090 str r0, [sp]
+ 2663 .LVL206:
+ 2664 0058 2000 movs r0, r4
+ 2665 005a FFF7FEFF bl I2C_TransferConfig
+ 2666 .LVL207:
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2667 .loc 1 1590 0
+ 2668 005e 4023 movs r3, #64
+ 2669 0060 0022 movs r2, #0
+ 2670 0062 E254 strb r2, [r4, r3]
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2671 .loc 1 1599 0
+ 2672 0064 0121 movs r1, #1
+ 2673 0066 2000 movs r0, r4
+ 2674 0068 FFF7FEFF bl I2C_Enable_IRQ
+ 2675 .LVL208:
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2676 .loc 1 1601 0
+ 2677 006c 0020 movs r0, #0
+ 2678 006e 05E0 b .L198
+ 2679 .LVL209:
+ 2680 .L199:
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 2681 .loc 1 1581 0
+ 2682 0070 638D ldrh r3, [r4, #42]
+ 2683 0072 2385 strh r3, [r4, #40]
+ 2684 .LVL210:
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2685 .loc 1 1582 0
+ 2686 0074 8023 movs r3, #128
+ 2687 0076 9B04 lsls r3, r3, #18
+ 2688 0078 EAE7 b .L200
+ 2689 .LVL211:
+ ARM GAS /tmp/ccskJbbb.s page 168
+
+
+ 2690 .L201:
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2691 .loc 1 1605 0
+ 2692 007a 0220 movs r0, #2
+ 2693 .LVL212:
+ 2694 .L198:
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2695 .loc 1 1607 0
+ 2696 007c 03B0 add sp, sp, #12
+ 2697 @ sp needed
+ 2698 .LVL213:
+ 2699 007e 30BD pop {r4, r5, pc}
+ 2700 .LVL214:
+ 2701 .L202:
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2702 .loc 1 1558 0
+ 2703 0080 0220 movs r0, #2
+ 2704 0082 FBE7 b .L198
+ 2705 .L203:
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2706 .loc 1 1562 0
+ 2707 0084 0220 movs r0, #2
+ 2708 0086 F9E7 b .L198
+ 2709 .L205:
+ 2710 .align 2
+ 2711 .L204:
+ 2712 0088 0000FFFF .word -65536
+ 2713 008c 00000000 .word I2C_Master_ISR_IT
+ 2714 0090 00200080 .word -2147475456
+ 2715 .cfi_endproc
+ 2716 .LFE48:
+ 2718 .section .text.HAL_I2C_Master_Receive_IT,"ax",%progbits
+ 2719 .align 1
+ 2720 .global HAL_I2C_Master_Receive_IT
+ 2721 .syntax unified
+ 2722 .code 16
+ 2723 .thumb_func
+ 2724 .fpu softvfp
+ 2726 HAL_I2C_Master_Receive_IT:
+ 2727 .LFB49:
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 2728 .loc 1 1620 0
+ 2729 .cfi_startproc
+ 2730 @ args = 0, pretend = 0, frame = 0
+ 2731 @ frame_needed = 0, uses_anonymous_args = 0
+ 2732 .LVL215:
+ 2733 0000 30B5 push {r4, r5, lr}
+ 2734 .LCFI23:
+ 2735 .cfi_def_cfa_offset 12
+ 2736 .cfi_offset 4, -12
+ 2737 .cfi_offset 5, -8
+ 2738 .cfi_offset 14, -4
+ 2739 0002 83B0 sub sp, sp, #12
+ 2740 .LCFI24:
+ 2741 .cfi_def_cfa_offset 24
+ 2742 0004 0400 movs r4, r0
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 169
+
+
+ 2743 .loc 1 1623 0
+ 2744 0006 4120 movs r0, #65
+ 2745 .LVL216:
+ 2746 0008 205C ldrb r0, [r4, r0]
+ 2747 000a 2028 cmp r0, #32
+ 2748 000c 35D1 bne .L210
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2749 .loc 1 1625 0
+ 2750 000e 2068 ldr r0, [r4]
+ 2751 0010 8069 ldr r0, [r0, #24]
+ 2752 0012 0004 lsls r0, r0, #16
+ 2753 0014 34D4 bmi .L211
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2754 .loc 1 1631 0
+ 2755 0016 4020 movs r0, #64
+ 2756 0018 205C ldrb r0, [r4, r0]
+ 2757 001a 0128 cmp r0, #1
+ 2758 001c 32D0 beq .L212
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2759 .loc 1 1631 0 is_stmt 0 discriminator 2
+ 2760 001e 4020 movs r0, #64
+ 2761 0020 0125 movs r5, #1
+ 2762 0022 2554 strb r5, [r4, r0]
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 2763 .loc 1 1633 0 is_stmt 1 discriminator 2
+ 2764 0024 0130 adds r0, r0, #1
+ 2765 0026 2135 adds r5, r5, #33
+ 2766 0028 2554 strb r5, [r4, r0]
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2767 .loc 1 1634 0 discriminator 2
+ 2768 002a 0130 adds r0, r0, #1
+ 2769 002c 123D subs r5, r5, #18
+ 2770 002e 2554 strb r5, [r4, r0]
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2771 .loc 1 1635 0 discriminator 2
+ 2772 0030 0020 movs r0, #0
+ 2773 0032 6064 str r0, [r4, #68]
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2774 .loc 1 1638 0 discriminator 2
+ 2775 0034 6262 str r2, [r4, #36]
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2776 .loc 1 1639 0 discriminator 2
+ 2777 0036 6385 strh r3, [r4, #42]
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 2778 .loc 1 1640 0 discriminator 2
+ 2779 0038 134B ldr r3, .L213
+ 2780 .LVL217:
+ 2781 003a E362 str r3, [r4, #44]
+ 2782 .LVL218:
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2783 .loc 1 1641 0 discriminator 2
+ 2784 003c 134B ldr r3, .L213+4
+ 2785 003e 6363 str r3, [r4, #52]
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2786 .loc 1 1643 0 discriminator 2
+ 2787 0040 638D ldrh r3, [r4, #42]
+ 2788 0042 9BB2 uxth r3, r3
+ ARM GAS /tmp/ccskJbbb.s page 170
+
+
+ 2789 0044 FF2B cmp r3, #255
+ 2790 0046 13D9 bls .L208
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 2791 .loc 1 1645 0
+ 2792 0048 FF23 movs r3, #255
+ 2793 004a 2385 strh r3, [r4, #40]
+ 2794 .LVL219:
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2795 .loc 1 1646 0
+ 2796 004c 8023 movs r3, #128
+ 2797 004e 5B04 lsls r3, r3, #17
+ 2798 .LVL220:
+ 2799 .L209:
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2800 .loc 1 1656 0
+ 2801 0050 228D ldrh r2, [r4, #40]
+ 2802 .LVL221:
+ 2803 0052 D2B2 uxtb r2, r2
+ 2804 0054 0E48 ldr r0, .L213+8
+ 2805 0056 0090 str r0, [sp]
+ 2806 .LVL222:
+ 2807 0058 2000 movs r0, r4
+ 2808 005a FFF7FEFF bl I2C_TransferConfig
+ 2809 .LVL223:
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2810 .loc 1 1659 0
+ 2811 005e 4023 movs r3, #64
+ 2812 0060 0022 movs r2, #0
+ 2813 0062 E254 strb r2, [r4, r3]
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2814 .loc 1 1668 0
+ 2815 0064 0221 movs r1, #2
+ 2816 0066 2000 movs r0, r4
+ 2817 0068 FFF7FEFF bl I2C_Enable_IRQ
+ 2818 .LVL224:
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2819 .loc 1 1670 0
+ 2820 006c 0020 movs r0, #0
+ 2821 006e 05E0 b .L207
+ 2822 .LVL225:
+ 2823 .L208:
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 2824 .loc 1 1650 0
+ 2825 0070 638D ldrh r3, [r4, #42]
+ 2826 0072 2385 strh r3, [r4, #40]
+ 2827 .LVL226:
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2828 .loc 1 1651 0
+ 2829 0074 8023 movs r3, #128
+ 2830 0076 9B04 lsls r3, r3, #18
+ 2831 0078 EAE7 b .L209
+ 2832 .LVL227:
+ 2833 .L210:
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2834 .loc 1 1674 0
+ 2835 007a 0220 movs r0, #2
+ 2836 .LVL228:
+ ARM GAS /tmp/ccskJbbb.s page 171
+
+
+ 2837 .L207:
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2838 .loc 1 1676 0
+ 2839 007c 03B0 add sp, sp, #12
+ 2840 @ sp needed
+ 2841 .LVL229:
+ 2842 007e 30BD pop {r4, r5, pc}
+ 2843 .LVL230:
+ 2844 .L211:
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2845 .loc 1 1627 0
+ 2846 0080 0220 movs r0, #2
+ 2847 0082 FBE7 b .L207
+ 2848 .L212:
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2849 .loc 1 1631 0
+ 2850 0084 0220 movs r0, #2
+ 2851 0086 F9E7 b .L207
+ 2852 .L214:
+ 2853 .align 2
+ 2854 .L213:
+ 2855 0088 0000FFFF .word -65536
+ 2856 008c 00000000 .word I2C_Master_ISR_IT
+ 2857 0090 00240080 .word -2147474432
+ 2858 .cfi_endproc
+ 2859 .LFE49:
+ 2861 .section .text.HAL_I2C_Slave_Transmit_IT,"ax",%progbits
+ 2862 .align 1
+ 2863 .global HAL_I2C_Slave_Transmit_IT
+ 2864 .syntax unified
+ 2865 .code 16
+ 2866 .thumb_func
+ 2867 .fpu softvfp
+ 2869 HAL_I2C_Slave_Transmit_IT:
+ 2870 .LFB50:
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 2871 .loc 1 1687 0
+ 2872 .cfi_startproc
+ 2873 @ args = 0, pretend = 0, frame = 0
+ 2874 @ frame_needed = 0, uses_anonymous_args = 0
+ 2875 .LVL231:
+ 2876 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 2877 .LCFI25:
+ 2878 .cfi_def_cfa_offset 24
+ 2879 .cfi_offset 3, -24
+ 2880 .cfi_offset 4, -20
+ 2881 .cfi_offset 5, -16
+ 2882 .cfi_offset 6, -12
+ 2883 .cfi_offset 7, -8
+ 2884 .cfi_offset 14, -4
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2885 .loc 1 1688 0
+ 2886 0002 4123 movs r3, #65
+ 2887 0004 C35C ldrb r3, [r0, r3]
+ 2888 0006 202B cmp r3, #32
+ 2889 0008 21D1 bne .L217
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 172
+
+
+ 2890 .loc 1 1691 0
+ 2891 000a 2033 adds r3, r3, #32
+ 2892 000c C35C ldrb r3, [r0, r3]
+ 2893 000e 012B cmp r3, #1
+ 2894 0010 1FD0 beq .L218
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2895 .loc 1 1691 0 is_stmt 0 discriminator 2
+ 2896 0012 4024 movs r4, #64
+ 2897 0014 0123 movs r3, #1
+ 2898 0016 0355 strb r3, [r0, r4]
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 2899 .loc 1 1693 0 is_stmt 1 discriminator 2
+ 2900 0018 4033 adds r3, r3, #64
+ 2901 001a 2125 movs r5, #33
+ 2902 001c C554 strb r5, [r0, r3]
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 2903 .loc 1 1694 0 discriminator 2
+ 2904 001e 0133 adds r3, r3, #1
+ 2905 0020 013D subs r5, r5, #1
+ 2906 0022 C554 strb r5, [r0, r3]
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2907 .loc 1 1695 0 discriminator 2
+ 2908 0024 0025 movs r5, #0
+ 2909 0026 4564 str r5, [r0, #68]
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2910 .loc 1 1698 0 discriminator 2
+ 2911 0028 0668 ldr r6, [r0]
+ 2912 002a 7368 ldr r3, [r6, #4]
+ 2913 002c 0A4F ldr r7, .L219
+ 2914 002e 3B40 ands r3, r7
+ 2915 0030 7360 str r3, [r6, #4]
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 2916 .loc 1 1701 0 discriminator 2
+ 2917 0032 4162 str r1, [r0, #36]
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 2918 .loc 1 1702 0 discriminator 2
+ 2919 0034 4285 strh r2, [r0, #42]
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 2920 .loc 1 1703 0 discriminator 2
+ 2921 0036 438D ldrh r3, [r0, #42]
+ 2922 0038 0385 strh r3, [r0, #40]
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 2923 .loc 1 1704 0 discriminator 2
+ 2924 003a 084B ldr r3, .L219+4
+ 2925 003c C362 str r3, [r0, #44]
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2926 .loc 1 1705 0 discriminator 2
+ 2927 003e 084B ldr r3, .L219+8
+ 2928 0040 4363 str r3, [r0, #52]
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2929 .loc 1 1708 0 discriminator 2
+ 2930 0042 0555 strb r5, [r0, r4]
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2931 .loc 1 1717 0 discriminator 2
+ 2932 0044 0521 movs r1, #5
+ 2933 .LVL232:
+ 2934 0046 FFF7FEFF bl I2C_Enable_IRQ
+ ARM GAS /tmp/ccskJbbb.s page 173
+
+
+ 2935 .LVL233:
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2936 .loc 1 1719 0 discriminator 2
+ 2937 004a 0020 movs r0, #0
+ 2938 004c 00E0 b .L216
+ 2939 .LVL234:
+ 2940 .L217:
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 2941 .loc 1 1723 0
+ 2942 004e 0220 movs r0, #2
+ 2943 .LVL235:
+ 2944 .L216:
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2945 .loc 1 1725 0
+ 2946 @ sp needed
+ 2947 0050 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 2948 .LVL236:
+ 2949 .L218:
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2950 .loc 1 1691 0
+ 2951 0052 0220 movs r0, #2
+ 2952 .LVL237:
+ 2953 0054 FCE7 b .L216
+ 2954 .L220:
+ 2955 0056 C046 .align 2
+ 2956 .L219:
+ 2957 0058 FF7FFFFF .word -32769
+ 2958 005c 0000FFFF .word -65536
+ 2959 0060 00000000 .word I2C_Slave_ISR_IT
+ 2960 .cfi_endproc
+ 2961 .LFE50:
+ 2963 .section .text.HAL_I2C_Slave_Receive_IT,"ax",%progbits
+ 2964 .align 1
+ 2965 .global HAL_I2C_Slave_Receive_IT
+ 2966 .syntax unified
+ 2967 .code 16
+ 2968 .thumb_func
+ 2969 .fpu softvfp
+ 2971 HAL_I2C_Slave_Receive_IT:
+ 2972 .LFB51:
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 2973 .loc 1 1736 0
+ 2974 .cfi_startproc
+ 2975 @ args = 0, pretend = 0, frame = 0
+ 2976 @ frame_needed = 0, uses_anonymous_args = 0
+ 2977 .LVL238:
+ 2978 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 2979 .LCFI26:
+ 2980 .cfi_def_cfa_offset 24
+ 2981 .cfi_offset 3, -24
+ 2982 .cfi_offset 4, -20
+ 2983 .cfi_offset 5, -16
+ 2984 .cfi_offset 6, -12
+ 2985 .cfi_offset 7, -8
+ 2986 .cfi_offset 14, -4
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 2987 .loc 1 1737 0
+ ARM GAS /tmp/ccskJbbb.s page 174
+
+
+ 2988 0002 4123 movs r3, #65
+ 2989 0004 C35C ldrb r3, [r0, r3]
+ 2990 0006 202B cmp r3, #32
+ 2991 0008 21D1 bne .L223
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2992 .loc 1 1740 0
+ 2993 000a 2033 adds r3, r3, #32
+ 2994 000c C35C ldrb r3, [r0, r3]
+ 2995 000e 012B cmp r3, #1
+ 2996 0010 1FD0 beq .L224
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 2997 .loc 1 1740 0 is_stmt 0 discriminator 2
+ 2998 0012 4024 movs r4, #64
+ 2999 0014 0123 movs r3, #1
+ 3000 0016 0355 strb r3, [r0, r4]
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3001 .loc 1 1742 0 is_stmt 1 discriminator 2
+ 3002 0018 4033 adds r3, r3, #64
+ 3003 001a 2225 movs r5, #34
+ 3004 001c C554 strb r5, [r0, r3]
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3005 .loc 1 1743 0 discriminator 2
+ 3006 001e 0133 adds r3, r3, #1
+ 3007 0020 023D subs r5, r5, #2
+ 3008 0022 C554 strb r5, [r0, r3]
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3009 .loc 1 1744 0 discriminator 2
+ 3010 0024 0025 movs r5, #0
+ 3011 0026 4564 str r5, [r0, #68]
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3012 .loc 1 1747 0 discriminator 2
+ 3013 0028 0668 ldr r6, [r0]
+ 3014 002a 7368 ldr r3, [r6, #4]
+ 3015 002c 0A4F ldr r7, .L225
+ 3016 002e 3B40 ands r3, r7
+ 3017 0030 7360 str r3, [r6, #4]
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3018 .loc 1 1750 0 discriminator 2
+ 3019 0032 4162 str r1, [r0, #36]
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3020 .loc 1 1751 0 discriminator 2
+ 3021 0034 4285 strh r2, [r0, #42]
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3022 .loc 1 1752 0 discriminator 2
+ 3023 0036 438D ldrh r3, [r0, #42]
+ 3024 0038 0385 strh r3, [r0, #40]
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 3025 .loc 1 1753 0 discriminator 2
+ 3026 003a 084B ldr r3, .L225+4
+ 3027 003c C362 str r3, [r0, #44]
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3028 .loc 1 1754 0 discriminator 2
+ 3029 003e 084B ldr r3, .L225+8
+ 3030 0040 4363 str r3, [r0, #52]
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3031 .loc 1 1757 0 discriminator 2
+ 3032 0042 0555 strb r5, [r0, r4]
+ ARM GAS /tmp/ccskJbbb.s page 175
+
+
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3033 .loc 1 1766 0 discriminator 2
+ 3034 0044 0621 movs r1, #6
+ 3035 .LVL239:
+ 3036 0046 FFF7FEFF bl I2C_Enable_IRQ
+ 3037 .LVL240:
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3038 .loc 1 1768 0 discriminator 2
+ 3039 004a 0020 movs r0, #0
+ 3040 004c 00E0 b .L222
+ 3041 .LVL241:
+ 3042 .L223:
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3043 .loc 1 1772 0
+ 3044 004e 0220 movs r0, #2
+ 3045 .LVL242:
+ 3046 .L222:
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3047 .loc 1 1774 0
+ 3048 @ sp needed
+ 3049 0050 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 3050 .LVL243:
+ 3051 .L224:
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3052 .loc 1 1740 0
+ 3053 0052 0220 movs r0, #2
+ 3054 .LVL244:
+ 3055 0054 FCE7 b .L222
+ 3056 .L226:
+ 3057 0056 C046 .align 2
+ 3058 .L225:
+ 3059 0058 FF7FFFFF .word -32769
+ 3060 005c 0000FFFF .word -65536
+ 3061 0060 00000000 .word I2C_Slave_ISR_IT
+ 3062 .cfi_endproc
+ 3063 .LFE51:
+ 3065 .section .text.HAL_I2C_Master_Transmit_DMA,"ax",%progbits
+ 3066 .align 1
+ 3067 .global HAL_I2C_Master_Transmit_DMA
+ 3068 .syntax unified
+ 3069 .code 16
+ 3070 .thumb_func
+ 3071 .fpu softvfp
+ 3073 HAL_I2C_Master_Transmit_DMA:
+ 3074 .LFB52:
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 3075 .loc 1 1787 0
+ 3076 .cfi_startproc
+ 3077 @ args = 0, pretend = 0, frame = 0
+ 3078 @ frame_needed = 0, uses_anonymous_args = 0
+ 3079 .LVL245:
+ 3080 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 3081 .LCFI27:
+ 3082 .cfi_def_cfa_offset 20
+ 3083 .cfi_offset 4, -20
+ 3084 .cfi_offset 5, -16
+ 3085 .cfi_offset 6, -12
+ ARM GAS /tmp/ccskJbbb.s page 176
+
+
+ 3086 .cfi_offset 7, -8
+ 3087 .cfi_offset 14, -4
+ 3088 0002 83B0 sub sp, sp, #12
+ 3089 .LCFI28:
+ 3090 .cfi_def_cfa_offset 32
+ 3091 0004 0400 movs r4, r0
+ 3092 0006 0E00 movs r6, r1
+ 3093 0008 1100 movs r1, r2
+ 3094 .LVL246:
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3095 .loc 1 1791 0
+ 3096 000a 4122 movs r2, #65
+ 3097 .LVL247:
+ 3098 000c 825C ldrb r2, [r0, r2]
+ 3099 000e 202A cmp r2, #32
+ 3100 0010 00D0 beq .LCB3093
+ 3101 0012 8BE0 b .L235 @long jump
+ 3102 .LCB3093:
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3103 .loc 1 1793 0
+ 3104 0014 0268 ldr r2, [r0]
+ 3105 0016 9269 ldr r2, [r2, #24]
+ 3106 0018 1204 lsls r2, r2, #16
+ 3107 001a 00D5 bpl .LCB3099
+ 3108 001c 8AE0 b .L236 @long jump
+ 3109 .LCB3099:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3110 .loc 1 1799 0
+ 3111 001e 4022 movs r2, #64
+ 3112 0020 825C ldrb r2, [r0, r2]
+ 3113 0022 012A cmp r2, #1
+ 3114 0024 00D1 bne .LCB3103
+ 3115 0026 87E0 b .L237 @long jump
+ 3116 .LCB3103:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3117 .loc 1 1799 0 is_stmt 0 discriminator 2
+ 3118 0028 4022 movs r2, #64
+ 3119 002a 0120 movs r0, #1
+ 3120 .LVL248:
+ 3121 002c A054 strb r0, [r4, r2]
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 3122 .loc 1 1801 0 is_stmt 1 discriminator 2
+ 3123 002e 0132 adds r2, r2, #1
+ 3124 0030 2030 adds r0, r0, #32
+ 3125 0032 A054 strb r0, [r4, r2]
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3126 .loc 1 1802 0 discriminator 2
+ 3127 0034 0132 adds r2, r2, #1
+ 3128 0036 1138 subs r0, r0, #17
+ 3129 0038 A054 strb r0, [r4, r2]
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3130 .loc 1 1803 0 discriminator 2
+ 3131 003a 0022 movs r2, #0
+ 3132 003c 6264 str r2, [r4, #68]
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3133 .loc 1 1806 0 discriminator 2
+ 3134 003e 6162 str r1, [r4, #36]
+ ARM GAS /tmp/ccskJbbb.s page 177
+
+
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3135 .loc 1 1807 0 discriminator 2
+ 3136 0040 6385 strh r3, [r4, #42]
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 3137 .loc 1 1808 0 discriminator 2
+ 3138 0042 3E4B ldr r3, .L240
+ 3139 .LVL249:
+ 3140 0044 E362 str r3, [r4, #44]
+ 3141 .LVL250:
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3142 .loc 1 1809 0 discriminator 2
+ 3143 0046 3E4B ldr r3, .L240+4
+ 3144 0048 6363 str r3, [r4, #52]
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3145 .loc 1 1811 0 discriminator 2
+ 3146 004a 638D ldrh r3, [r4, #42]
+ 3147 004c 9BB2 uxth r3, r3
+ 3148 004e FF2B cmp r3, #255
+ 3149 0050 29D9 bls .L229
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 3150 .loc 1 1813 0
+ 3151 0052 FF23 movs r3, #255
+ 3152 0054 2385 strh r3, [r4, #40]
+ 3153 .LVL251:
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3154 .loc 1 1814 0
+ 3155 0056 8027 movs r7, #128
+ 3156 0058 7F04 lsls r7, r7, #17
+ 3157 .LVL252:
+ 3158 .L230:
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3159 .loc 1 1822 0
+ 3160 005a 228D ldrh r2, [r4, #40]
+ 3161 005c 002A cmp r2, #0
+ 3162 005e 51D0 beq .L231
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3163 .loc 1 1824 0
+ 3164 0060 A36B ldr r3, [r4, #56]
+ 3165 0062 002B cmp r3, #0
+ 3166 0064 24D0 beq .L232
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3167 .loc 1 1827 0
+ 3168 0066 374A ldr r2, .L240+8
+ 3169 0068 9A62 str r2, [r3, #40]
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3170 .loc 1 1830 0
+ 3171 006a A36B ldr r3, [r4, #56]
+ 3172 006c 364A ldr r2, .L240+12
+ 3173 006e 1A63 str r2, [r3, #48]
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 3174 .loc 1 1833 0
+ 3175 0070 A26B ldr r2, [r4, #56]
+ 3176 0072 0023 movs r3, #0
+ 3177 0074 D362 str r3, [r2, #44]
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3178 .loc 1 1834 0
+ 3179 0076 A26B ldr r2, [r4, #56]
+ ARM GAS /tmp/ccskJbbb.s page 178
+
+
+ 3180 0078 5363 str r3, [r2, #52]
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3181 .loc 1 1837 0
+ 3182 007a 2268 ldr r2, [r4]
+ 3183 007c 2832 adds r2, r2, #40
+ 3184 007e 238D ldrh r3, [r4, #40]
+ 3185 0080 A06B ldr r0, [r4, #56]
+ 3186 0082 FFF7FEFF bl HAL_DMA_Start_IT
+ 3187 .LVL253:
+ 3188 0086 051E subs r5, r0, #0
+ 3189 .LVL254:
+1854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3190 .loc 1 1854 0
+ 3191 0088 20D0 beq .L239
+1878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3192 .loc 1 1878 0
+ 3193 008a 4123 movs r3, #65
+ 3194 008c 2022 movs r2, #32
+ 3195 008e E254 strb r2, [r4, r3]
+1879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3196 .loc 1 1879 0
+ 3197 0090 0022 movs r2, #0
+ 3198 0092 0133 adds r3, r3, #1
+ 3199 0094 E254 strb r2, [r4, r3]
+1882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3200 .loc 1 1882 0
+ 3201 0096 636C ldr r3, [r4, #68]
+ 3202 0098 1021 movs r1, #16
+ 3203 009a 0B43 orrs r3, r1
+ 3204 009c 6364 str r3, [r4, #68]
+1885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3205 .loc 1 1885 0
+ 3206 009e 4023 movs r3, #64
+ 3207 00a0 E254 strb r2, [r4, r3]
+1887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3208 .loc 1 1887 0
+ 3209 00a2 0125 movs r5, #1
+ 3210 00a4 43E0 b .L228
+ 3211 .LVL255:
+ 3212 .L229:
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 3213 .loc 1 1818 0
+ 3214 00a6 638D ldrh r3, [r4, #42]
+ 3215 00a8 2385 strh r3, [r4, #40]
+ 3216 .LVL256:
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3217 .loc 1 1819 0
+ 3218 00aa 8027 movs r7, #128
+ 3219 00ac BF04 lsls r7, r7, #18
+ 3220 00ae D4E7 b .L230
+ 3221 .LVL257:
+ 3222 .L232:
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3223 .loc 1 1842 0
+ 3224 00b0 4123 movs r3, #65
+ 3225 00b2 2022 movs r2, #32
+ 3226 00b4 E254 strb r2, [r4, r3]
+ ARM GAS /tmp/ccskJbbb.s page 179
+
+
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3227 .loc 1 1843 0
+ 3228 00b6 0022 movs r2, #0
+ 3229 00b8 0133 adds r3, r3, #1
+ 3230 00ba E254 strb r2, [r4, r3]
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3231 .loc 1 1846 0
+ 3232 00bc 636C ldr r3, [r4, #68]
+ 3233 00be 8021 movs r1, #128
+ 3234 .LVL258:
+ 3235 00c0 0B43 orrs r3, r1
+ 3236 00c2 6364 str r3, [r4, #68]
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3237 .loc 1 1849 0
+ 3238 00c4 4023 movs r3, #64
+ 3239 00c6 E254 strb r2, [r4, r3]
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3240 .loc 1 1851 0
+ 3241 00c8 0125 movs r5, #1
+ 3242 00ca 30E0 b .L228
+ 3243 .LVL259:
+ 3244 .L239:
+1858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3245 .loc 1 1858 0
+ 3246 00cc 228D ldrh r2, [r4, #40]
+ 3247 00ce D2B2 uxtb r2, r2
+ 3248 00d0 1E4B ldr r3, .L240+16
+ 3249 00d2 0093 str r3, [sp]
+ 3250 00d4 3B00 movs r3, r7
+ 3251 00d6 3100 movs r1, r6
+ 3252 00d8 2000 movs r0, r4
+ 3253 .LVL260:
+ 3254 00da FFF7FEFF bl I2C_TransferConfig
+ 3255 .LVL261:
+1861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3256 .loc 1 1861 0
+ 3257 00de 638D ldrh r3, [r4, #42]
+ 3258 00e0 228D ldrh r2, [r4, #40]
+ 3259 00e2 9B1A subs r3, r3, r2
+ 3260 00e4 9BB2 uxth r3, r3
+ 3261 00e6 6385 strh r3, [r4, #42]
+1864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3262 .loc 1 1864 0
+ 3263 00e8 4023 movs r3, #64
+ 3264 00ea 0022 movs r2, #0
+ 3265 00ec E254 strb r2, [r4, r3]
+1870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3266 .loc 1 1870 0
+ 3267 00ee 1121 movs r1, #17
+ 3268 00f0 2000 movs r0, r4
+ 3269 00f2 FFF7FEFF bl I2C_Enable_IRQ
+ 3270 .LVL262:
+1873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3271 .loc 1 1873 0
+ 3272 00f6 2268 ldr r2, [r4]
+ 3273 00f8 1168 ldr r1, [r2]
+ 3274 00fa 8023 movs r3, #128
+ ARM GAS /tmp/ccskJbbb.s page 180
+
+
+ 3275 00fc DB01 lsls r3, r3, #7
+ 3276 00fe 0B43 orrs r3, r1
+ 3277 0100 1360 str r3, [r2]
+ 3278 0102 14E0 b .L228
+ 3279 .LVL263:
+ 3280 .L231:
+1893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3281 .loc 1 1893 0
+ 3282 0104 124B ldr r3, .L240+20
+ 3283 0106 6363 str r3, [r4, #52]
+1897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3284 .loc 1 1897 0
+ 3285 0108 8023 movs r3, #128
+ 3286 010a D2B2 uxtb r2, r2
+ 3287 010c 0F49 ldr r1, .L240+16
+ 3288 .LVL264:
+ 3289 010e 0091 str r1, [sp]
+ 3290 .LVL265:
+ 3291 0110 9B04 lsls r3, r3, #18
+ 3292 0112 3100 movs r1, r6
+ 3293 0114 2000 movs r0, r4
+ 3294 0116 FFF7FEFF bl I2C_TransferConfig
+ 3295 .LVL266:
+1900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3296 .loc 1 1900 0
+ 3297 011a 4023 movs r3, #64
+ 3298 011c 0022 movs r2, #0
+ 3299 011e E254 strb r2, [r4, r3]
+1908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3300 .loc 1 1908 0
+ 3301 0120 0121 movs r1, #1
+ 3302 0122 2000 movs r0, r4
+ 3303 0124 FFF7FEFF bl I2C_Enable_IRQ
+ 3304 .LVL267:
+1911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3305 .loc 1 1911 0
+ 3306 0128 0025 movs r5, #0
+ 3307 012a 00E0 b .L228
+ 3308 .LVL268:
+ 3309 .L235:
+1915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3310 .loc 1 1915 0
+ 3311 012c 0225 movs r5, #2
+ 3312 .LVL269:
+ 3313 .L228:
+1917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3314 .loc 1 1917 0
+ 3315 012e 2800 movs r0, r5
+ 3316 0130 03B0 add sp, sp, #12
+ 3317 @ sp needed
+ 3318 .LVL270:
+ 3319 0132 F0BD pop {r4, r5, r6, r7, pc}
+ 3320 .LVL271:
+ 3321 .L236:
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3322 .loc 1 1795 0
+ 3323 0134 0225 movs r5, #2
+ ARM GAS /tmp/ccskJbbb.s page 181
+
+
+ 3324 0136 FAE7 b .L228
+ 3325 .L237:
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3326 .loc 1 1799 0
+ 3327 0138 0225 movs r5, #2
+ 3328 013a F8E7 b .L228
+ 3329 .L241:
+ 3330 .align 2
+ 3331 .L240:
+ 3332 013c 0000FFFF .word -65536
+ 3333 0140 00000000 .word I2C_Master_ISR_DMA
+ 3334 0144 00000000 .word I2C_DMAMasterTransmitCplt
+ 3335 0148 00000000 .word I2C_DMAError
+ 3336 014c 00200080 .word -2147475456
+ 3337 0150 00000000 .word I2C_Master_ISR_IT
+ 3338 .cfi_endproc
+ 3339 .LFE52:
+ 3341 .section .text.HAL_I2C_Master_Receive_DMA,"ax",%progbits
+ 3342 .align 1
+ 3343 .global HAL_I2C_Master_Receive_DMA
+ 3344 .syntax unified
+ 3345 .code 16
+ 3346 .thumb_func
+ 3347 .fpu softvfp
+ 3349 HAL_I2C_Master_Receive_DMA:
+ 3350 .LFB53:
+1930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 3351 .loc 1 1930 0
+ 3352 .cfi_startproc
+ 3353 @ args = 0, pretend = 0, frame = 0
+ 3354 @ frame_needed = 0, uses_anonymous_args = 0
+ 3355 .LVL272:
+ 3356 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 3357 .LCFI29:
+ 3358 .cfi_def_cfa_offset 20
+ 3359 .cfi_offset 4, -20
+ 3360 .cfi_offset 5, -16
+ 3361 .cfi_offset 6, -12
+ 3362 .cfi_offset 7, -8
+ 3363 .cfi_offset 14, -4
+ 3364 0002 83B0 sub sp, sp, #12
+ 3365 .LCFI30:
+ 3366 .cfi_def_cfa_offset 32
+ 3367 0004 0400 movs r4, r0
+ 3368 0006 0E00 movs r6, r1
+1934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3369 .loc 1 1934 0
+ 3370 0008 4121 movs r1, #65
+ 3371 .LVL273:
+ 3372 000a 415C ldrb r1, [r0, r1]
+ 3373 000c 2029 cmp r1, #32
+ 3374 000e 00D0 beq .LCB3355
+ 3375 0010 8BE0 b .L250 @long jump
+ 3376 .LCB3355:
+1936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3377 .loc 1 1936 0
+ 3378 0012 0168 ldr r1, [r0]
+ ARM GAS /tmp/ccskJbbb.s page 182
+
+
+ 3379 0014 8969 ldr r1, [r1, #24]
+ 3380 0016 0904 lsls r1, r1, #16
+ 3381 0018 00D5 bpl .LCB3361
+ 3382 001a 8AE0 b .L251 @long jump
+ 3383 .LCB3361:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3384 .loc 1 1942 0
+ 3385 001c 4021 movs r1, #64
+ 3386 001e 415C ldrb r1, [r0, r1]
+ 3387 0020 0129 cmp r1, #1
+ 3388 0022 00D1 bne .LCB3365
+ 3389 0024 87E0 b .L252 @long jump
+ 3390 .LCB3365:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3391 .loc 1 1942 0 is_stmt 0 discriminator 2
+ 3392 0026 4021 movs r1, #64
+ 3393 0028 0120 movs r0, #1
+ 3394 .LVL274:
+ 3395 002a 6054 strb r0, [r4, r1]
+1944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 3396 .loc 1 1944 0 is_stmt 1 discriminator 2
+ 3397 002c 0131 adds r1, r1, #1
+ 3398 002e 2130 adds r0, r0, #33
+ 3399 0030 6054 strb r0, [r4, r1]
+1945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3400 .loc 1 1945 0 discriminator 2
+ 3401 0032 0131 adds r1, r1, #1
+ 3402 0034 1238 subs r0, r0, #18
+ 3403 0036 6054 strb r0, [r4, r1]
+1946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3404 .loc 1 1946 0 discriminator 2
+ 3405 0038 0021 movs r1, #0
+ 3406 003a 6164 str r1, [r4, #68]
+1949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3407 .loc 1 1949 0 discriminator 2
+ 3408 003c 6262 str r2, [r4, #36]
+1950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3409 .loc 1 1950 0 discriminator 2
+ 3410 003e 6385 strh r3, [r4, #42]
+1951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 3411 .loc 1 1951 0 discriminator 2
+ 3412 0040 3E4B ldr r3, .L255
+ 3413 .LVL275:
+ 3414 0042 E362 str r3, [r4, #44]
+ 3415 .LVL276:
+1952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3416 .loc 1 1952 0 discriminator 2
+ 3417 0044 3E4B ldr r3, .L255+4
+ 3418 0046 6363 str r3, [r4, #52]
+1954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3419 .loc 1 1954 0 discriminator 2
+ 3420 0048 638D ldrh r3, [r4, #42]
+ 3421 004a 9BB2 uxth r3, r3
+ 3422 004c FF2B cmp r3, #255
+ 3423 004e 29D9 bls .L244
+1956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 3424 .loc 1 1956 0
+ ARM GAS /tmp/ccskJbbb.s page 183
+
+
+ 3425 0050 FF23 movs r3, #255
+ 3426 0052 2385 strh r3, [r4, #40]
+ 3427 .LVL277:
+1957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3428 .loc 1 1957 0
+ 3429 0054 8027 movs r7, #128
+ 3430 0056 7F04 lsls r7, r7, #17
+ 3431 .LVL278:
+ 3432 .L245:
+1965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3433 .loc 1 1965 0
+ 3434 0058 218D ldrh r1, [r4, #40]
+ 3435 005a 0029 cmp r1, #0
+ 3436 005c 51D0 beq .L246
+1967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3437 .loc 1 1967 0
+ 3438 005e E36B ldr r3, [r4, #60]
+ 3439 0060 002B cmp r3, #0
+ 3440 0062 24D0 beq .L247
+1970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3441 .loc 1 1970 0
+ 3442 0064 3749 ldr r1, .L255+8
+ 3443 0066 9962 str r1, [r3, #40]
+1973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3444 .loc 1 1973 0
+ 3445 0068 E36B ldr r3, [r4, #60]
+ 3446 006a 3749 ldr r1, .L255+12
+ 3447 006c 1963 str r1, [r3, #48]
+1976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 3448 .loc 1 1976 0
+ 3449 006e E16B ldr r1, [r4, #60]
+ 3450 0070 0023 movs r3, #0
+ 3451 0072 CB62 str r3, [r1, #44]
+1977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3452 .loc 1 1977 0
+ 3453 0074 E16B ldr r1, [r4, #60]
+ 3454 0076 4B63 str r3, [r1, #52]
+1980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3455 .loc 1 1980 0
+ 3456 0078 2168 ldr r1, [r4]
+ 3457 007a 2431 adds r1, r1, #36
+ 3458 007c 238D ldrh r3, [r4, #40]
+ 3459 007e E06B ldr r0, [r4, #60]
+ 3460 0080 FFF7FEFF bl HAL_DMA_Start_IT
+ 3461 .LVL279:
+ 3462 0084 051E subs r5, r0, #0
+ 3463 .LVL280:
+1997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3464 .loc 1 1997 0
+ 3465 0086 20D0 beq .L254
+2021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3466 .loc 1 2021 0
+ 3467 0088 4123 movs r3, #65
+ 3468 008a 2022 movs r2, #32
+ 3469 008c E254 strb r2, [r4, r3]
+2022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3470 .loc 1 2022 0
+ ARM GAS /tmp/ccskJbbb.s page 184
+
+
+ 3471 008e 0022 movs r2, #0
+ 3472 0090 0133 adds r3, r3, #1
+ 3473 0092 E254 strb r2, [r4, r3]
+2025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3474 .loc 1 2025 0
+ 3475 0094 636C ldr r3, [r4, #68]
+ 3476 0096 1021 movs r1, #16
+ 3477 0098 0B43 orrs r3, r1
+ 3478 009a 6364 str r3, [r4, #68]
+2028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3479 .loc 1 2028 0
+ 3480 009c 4023 movs r3, #64
+ 3481 009e E254 strb r2, [r4, r3]
+2030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3482 .loc 1 2030 0
+ 3483 00a0 0125 movs r5, #1
+ 3484 00a2 43E0 b .L243
+ 3485 .LVL281:
+ 3486 .L244:
+1961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 3487 .loc 1 1961 0
+ 3488 00a4 638D ldrh r3, [r4, #42]
+ 3489 00a6 2385 strh r3, [r4, #40]
+ 3490 .LVL282:
+1962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3491 .loc 1 1962 0
+ 3492 00a8 8027 movs r7, #128
+ 3493 00aa BF04 lsls r7, r7, #18
+ 3494 00ac D4E7 b .L245
+ 3495 .LVL283:
+ 3496 .L247:
+1985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3497 .loc 1 1985 0
+ 3498 00ae 4123 movs r3, #65
+ 3499 00b0 2022 movs r2, #32
+ 3500 .LVL284:
+ 3501 00b2 E254 strb r2, [r4, r3]
+ 3502 .LVL285:
+1986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3503 .loc 1 1986 0
+ 3504 00b4 0022 movs r2, #0
+ 3505 00b6 0133 adds r3, r3, #1
+ 3506 00b8 E254 strb r2, [r4, r3]
+1989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3507 .loc 1 1989 0
+ 3508 00ba 636C ldr r3, [r4, #68]
+ 3509 00bc 8021 movs r1, #128
+ 3510 00be 0B43 orrs r3, r1
+ 3511 00c0 6364 str r3, [r4, #68]
+1992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3512 .loc 1 1992 0
+ 3513 00c2 4023 movs r3, #64
+ 3514 00c4 E254 strb r2, [r4, r3]
+1994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3515 .loc 1 1994 0
+ 3516 00c6 0125 movs r5, #1
+ 3517 00c8 30E0 b .L243
+ ARM GAS /tmp/ccskJbbb.s page 185
+
+
+ 3518 .LVL286:
+ 3519 .L254:
+2001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3520 .loc 1 2001 0
+ 3521 00ca 228D ldrh r2, [r4, #40]
+ 3522 00cc D2B2 uxtb r2, r2
+ 3523 00ce 1F4B ldr r3, .L255+16
+ 3524 00d0 0093 str r3, [sp]
+ 3525 00d2 3B00 movs r3, r7
+ 3526 00d4 3100 movs r1, r6
+ 3527 00d6 2000 movs r0, r4
+ 3528 .LVL287:
+ 3529 00d8 FFF7FEFF bl I2C_TransferConfig
+ 3530 .LVL288:
+2004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3531 .loc 1 2004 0
+ 3532 00dc 638D ldrh r3, [r4, #42]
+ 3533 00de 228D ldrh r2, [r4, #40]
+ 3534 00e0 9B1A subs r3, r3, r2
+ 3535 00e2 9BB2 uxth r3, r3
+ 3536 00e4 6385 strh r3, [r4, #42]
+2007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3537 .loc 1 2007 0
+ 3538 00e6 4023 movs r3, #64
+ 3539 00e8 0022 movs r2, #0
+ 3540 00ea E254 strb r2, [r4, r3]
+2013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3541 .loc 1 2013 0
+ 3542 00ec 1121 movs r1, #17
+ 3543 00ee 2000 movs r0, r4
+ 3544 00f0 FFF7FEFF bl I2C_Enable_IRQ
+ 3545 .LVL289:
+2016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3546 .loc 1 2016 0
+ 3547 00f4 2268 ldr r2, [r4]
+ 3548 00f6 1168 ldr r1, [r2]
+ 3549 00f8 8023 movs r3, #128
+ 3550 00fa 1B02 lsls r3, r3, #8
+ 3551 00fc 0B43 orrs r3, r1
+ 3552 00fe 1360 str r3, [r2]
+ 3553 0100 14E0 b .L243
+ 3554 .LVL290:
+ 3555 .L246:
+2036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3556 .loc 1 2036 0
+ 3557 0102 134B ldr r3, .L255+20
+ 3558 0104 6363 str r3, [r4, #52]
+2040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3559 .loc 1 2040 0
+ 3560 0106 8023 movs r3, #128
+ 3561 0108 CAB2 uxtb r2, r1
+ 3562 .LVL291:
+ 3563 010a 1049 ldr r1, .L255+16
+ 3564 010c 0091 str r1, [sp]
+ 3565 .LVL292:
+ 3566 010e 9B04 lsls r3, r3, #18
+ 3567 0110 3100 movs r1, r6
+ ARM GAS /tmp/ccskJbbb.s page 186
+
+
+ 3568 0112 2000 movs r0, r4
+ 3569 0114 FFF7FEFF bl I2C_TransferConfig
+ 3570 .LVL293:
+2043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3571 .loc 1 2043 0
+ 3572 0118 4023 movs r3, #64
+ 3573 011a 0022 movs r2, #0
+ 3574 011c E254 strb r2, [r4, r3]
+2051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3575 .loc 1 2051 0
+ 3576 011e 0121 movs r1, #1
+ 3577 0120 2000 movs r0, r4
+ 3578 0122 FFF7FEFF bl I2C_Enable_IRQ
+ 3579 .LVL294:
+2054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3580 .loc 1 2054 0
+ 3581 0126 0025 movs r5, #0
+ 3582 0128 00E0 b .L243
+ 3583 .LVL295:
+ 3584 .L250:
+2058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3585 .loc 1 2058 0
+ 3586 012a 0225 movs r5, #2
+ 3587 .LVL296:
+ 3588 .L243:
+2060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3589 .loc 1 2060 0
+ 3590 012c 2800 movs r0, r5
+ 3591 012e 03B0 add sp, sp, #12
+ 3592 @ sp needed
+ 3593 .LVL297:
+ 3594 0130 F0BD pop {r4, r5, r6, r7, pc}
+ 3595 .LVL298:
+ 3596 .L251:
+1938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3597 .loc 1 1938 0
+ 3598 0132 0225 movs r5, #2
+ 3599 0134 FAE7 b .L243
+ 3600 .L252:
+1942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3601 .loc 1 1942 0
+ 3602 0136 0225 movs r5, #2
+ 3603 0138 F8E7 b .L243
+ 3604 .L256:
+ 3605 013a C046 .align 2
+ 3606 .L255:
+ 3607 013c 0000FFFF .word -65536
+ 3608 0140 00000000 .word I2C_Master_ISR_DMA
+ 3609 0144 00000000 .word I2C_DMAMasterReceiveCplt
+ 3610 0148 00000000 .word I2C_DMAError
+ 3611 014c 00240080 .word -2147474432
+ 3612 0150 00000000 .word I2C_Master_ISR_IT
+ 3613 .cfi_endproc
+ 3614 .LFE53:
+ 3616 .section .text.HAL_I2C_Slave_Transmit_DMA,"ax",%progbits
+ 3617 .align 1
+ 3618 .global HAL_I2C_Slave_Transmit_DMA
+ ARM GAS /tmp/ccskJbbb.s page 187
+
+
+ 3619 .syntax unified
+ 3620 .code 16
+ 3621 .thumb_func
+ 3622 .fpu softvfp
+ 3624 HAL_I2C_Slave_Transmit_DMA:
+ 3625 .LFB54:
+2071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 3626 .loc 1 2071 0
+ 3627 .cfi_startproc
+ 3628 @ args = 0, pretend = 0, frame = 0
+ 3629 @ frame_needed = 0, uses_anonymous_args = 0
+ 3630 .LVL299:
+ 3631 0000 70B5 push {r4, r5, r6, lr}
+ 3632 .LCFI31:
+ 3633 .cfi_def_cfa_offset 16
+ 3634 .cfi_offset 4, -16
+ 3635 .cfi_offset 5, -12
+ 3636 .cfi_offset 6, -8
+ 3637 .cfi_offset 14, -4
+ 3638 0002 0400 movs r4, r0
+2074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3639 .loc 1 2074 0
+ 3640 0004 4123 movs r3, #65
+ 3641 0006 C35C ldrb r3, [r0, r3]
+ 3642 0008 202B cmp r3, #32
+ 3643 000a 63D1 bne .L264
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3644 .loc 1 2076 0
+ 3645 000c 0029 cmp r1, #0
+ 3646 000e 3BD0 beq .L259
+2076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3647 .loc 1 2076 0 is_stmt 0 discriminator 1
+ 3648 0010 002A cmp r2, #0
+ 3649 0012 39D0 beq .L259
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3650 .loc 1 2082 0 is_stmt 1
+ 3651 0014 4023 movs r3, #64
+ 3652 0016 C35C ldrb r3, [r0, r3]
+ 3653 0018 012B cmp r3, #1
+ 3654 001a 5ED0 beq .L265
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3655 .loc 1 2082 0 is_stmt 0 discriminator 2
+ 3656 001c 4023 movs r3, #64
+ 3657 001e 0120 movs r0, #1
+ 3658 .LVL300:
+ 3659 0020 E054 strb r0, [r4, r3]
+2084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3660 .loc 1 2084 0 is_stmt 1 discriminator 2
+ 3661 0022 0133 adds r3, r3, #1
+ 3662 0024 2030 adds r0, r0, #32
+ 3663 0026 E054 strb r0, [r4, r3]
+2085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3664 .loc 1 2085 0 discriminator 2
+ 3665 0028 0133 adds r3, r3, #1
+ 3666 002a 0138 subs r0, r0, #1
+ 3667 002c E054 strb r0, [r4, r3]
+2086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 188
+
+
+ 3668 .loc 1 2086 0 discriminator 2
+ 3669 002e 0023 movs r3, #0
+ 3670 0030 6364 str r3, [r4, #68]
+2089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3671 .loc 1 2089 0 discriminator 2
+ 3672 0032 6162 str r1, [r4, #36]
+2090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3673 .loc 1 2090 0 discriminator 2
+ 3674 0034 6285 strh r2, [r4, #42]
+2091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3675 .loc 1 2091 0 discriminator 2
+ 3676 0036 638D ldrh r3, [r4, #42]
+ 3677 0038 2385 strh r3, [r4, #40]
+2092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 3678 .loc 1 2092 0 discriminator 2
+ 3679 003a 294B ldr r3, .L268
+ 3680 003c E362 str r3, [r4, #44]
+2093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3681 .loc 1 2093 0 discriminator 2
+ 3682 003e 294B ldr r3, .L268+4
+ 3683 0040 6363 str r3, [r4, #52]
+2095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3684 .loc 1 2095 0 discriminator 2
+ 3685 0042 A36B ldr r3, [r4, #56]
+ 3686 0044 002B cmp r3, #0
+ 3687 0046 24D0 beq .L261
+2098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3688 .loc 1 2098 0
+ 3689 0048 274A ldr r2, .L268+8
+ 3690 .LVL301:
+ 3691 004a 9A62 str r2, [r3, #40]
+2101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3692 .loc 1 2101 0
+ 3693 004c A36B ldr r3, [r4, #56]
+ 3694 004e 274A ldr r2, .L268+12
+ 3695 0050 1A63 str r2, [r3, #48]
+2104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 3696 .loc 1 2104 0
+ 3697 0052 A26B ldr r2, [r4, #56]
+ 3698 0054 0023 movs r3, #0
+ 3699 0056 D362 str r3, [r2, #44]
+2105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3700 .loc 1 2105 0
+ 3701 0058 A26B ldr r2, [r4, #56]
+ 3702 005a 5363 str r3, [r2, #52]
+2108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3703 .loc 1 2108 0
+ 3704 005c 2268 ldr r2, [r4]
+ 3705 005e 2832 adds r2, r2, #40
+ 3706 0060 238D ldrh r3, [r4, #40]
+ 3707 0062 A06B ldr r0, [r4, #56]
+ 3708 0064 FFF7FEFF bl HAL_DMA_Start_IT
+ 3709 .LVL302:
+ 3710 0068 051E subs r5, r0, #0
+ 3711 .LVL303:
+2125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3712 .loc 1 2125 0
+ ARM GAS /tmp/ccskJbbb.s page 189
+
+
+ 3713 006a 20D0 beq .L267
+2145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3714 .loc 1 2145 0
+ 3715 006c 4123 movs r3, #65
+ 3716 006e 2822 movs r2, #40
+ 3717 0070 E254 strb r2, [r4, r3]
+2146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3718 .loc 1 2146 0
+ 3719 0072 0022 movs r2, #0
+ 3720 0074 0133 adds r3, r3, #1
+ 3721 0076 E254 strb r2, [r4, r3]
+2149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3722 .loc 1 2149 0
+ 3723 0078 636C ldr r3, [r4, #68]
+ 3724 007a 1021 movs r1, #16
+ 3725 007c 0B43 orrs r3, r1
+ 3726 007e 6364 str r3, [r4, #68]
+2152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3727 .loc 1 2152 0
+ 3728 0080 4023 movs r3, #64
+ 3729 0082 E254 strb r2, [r4, r3]
+2154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3730 .loc 1 2154 0
+ 3731 0084 0125 movs r5, #1
+ 3732 0086 26E0 b .L258
+ 3733 .LVL304:
+ 3734 .L259:
+2078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 3735 .loc 1 2078 0
+ 3736 0088 8023 movs r3, #128
+ 3737 008a 9B00 lsls r3, r3, #2
+ 3738 008c 6364 str r3, [r4, #68]
+2079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3739 .loc 1 2079 0
+ 3740 008e 0125 movs r5, #1
+ 3741 0090 21E0 b .L258
+ 3742 .LVL305:
+ 3743 .L261:
+2113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3744 .loc 1 2113 0
+ 3745 0092 4123 movs r3, #65
+ 3746 0094 2822 movs r2, #40
+ 3747 .LVL306:
+ 3748 0096 E254 strb r2, [r4, r3]
+2114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3749 .loc 1 2114 0
+ 3750 0098 0022 movs r2, #0
+ 3751 009a 0133 adds r3, r3, #1
+ 3752 009c E254 strb r2, [r4, r3]
+2117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3753 .loc 1 2117 0
+ 3754 009e 636C ldr r3, [r4, #68]
+ 3755 00a0 8021 movs r1, #128
+ 3756 .LVL307:
+ 3757 00a2 0B43 orrs r3, r1
+ 3758 00a4 6364 str r3, [r4, #68]
+2120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 190
+
+
+ 3759 .loc 1 2120 0
+ 3760 00a6 4023 movs r3, #64
+ 3761 00a8 E254 strb r2, [r4, r3]
+2122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3762 .loc 1 2122 0
+ 3763 00aa 0125 movs r5, #1
+ 3764 00ac 13E0 b .L258
+ 3765 .LVL308:
+ 3766 .L267:
+2128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3767 .loc 1 2128 0
+ 3768 00ae 2268 ldr r2, [r4]
+ 3769 00b0 5368 ldr r3, [r2, #4]
+ 3770 00b2 0F49 ldr r1, .L268+16
+ 3771 00b4 0B40 ands r3, r1
+ 3772 00b6 5360 str r3, [r2, #4]
+2131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3773 .loc 1 2131 0
+ 3774 00b8 4023 movs r3, #64
+ 3775 00ba 0022 movs r2, #0
+ 3776 00bc E254 strb r2, [r4, r3]
+2137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3777 .loc 1 2137 0
+ 3778 00be 0421 movs r1, #4
+ 3779 00c0 2000 movs r0, r4
+ 3780 .LVL309:
+ 3781 00c2 FFF7FEFF bl I2C_Enable_IRQ
+ 3782 .LVL310:
+2140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3783 .loc 1 2140 0
+ 3784 00c6 2268 ldr r2, [r4]
+ 3785 00c8 1168 ldr r1, [r2]
+ 3786 00ca 8023 movs r3, #128
+ 3787 00cc DB01 lsls r3, r3, #7
+ 3788 00ce 0B43 orrs r3, r1
+ 3789 00d0 1360 str r3, [r2]
+2157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3790 .loc 1 2157 0
+ 3791 00d2 00E0 b .L258
+ 3792 .LVL311:
+ 3793 .L264:
+2161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3794 .loc 1 2161 0
+ 3795 00d4 0225 movs r5, #2
+ 3796 .LVL312:
+ 3797 .L258:
+2163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3798 .loc 1 2163 0
+ 3799 00d6 2800 movs r0, r5
+ 3800 @ sp needed
+ 3801 .LVL313:
+ 3802 00d8 70BD pop {r4, r5, r6, pc}
+ 3803 .LVL314:
+ 3804 .L265:
+2082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3805 .loc 1 2082 0
+ 3806 00da 0225 movs r5, #2
+ ARM GAS /tmp/ccskJbbb.s page 191
+
+
+ 3807 00dc FBE7 b .L258
+ 3808 .L269:
+ 3809 00de C046 .align 2
+ 3810 .L268:
+ 3811 00e0 0000FFFF .word -65536
+ 3812 00e4 00000000 .word I2C_Slave_ISR_DMA
+ 3813 00e8 00000000 .word I2C_DMASlaveTransmitCplt
+ 3814 00ec 00000000 .word I2C_DMAError
+ 3815 00f0 FF7FFFFF .word -32769
+ 3816 .cfi_endproc
+ 3817 .LFE54:
+ 3819 .section .text.HAL_I2C_Slave_Receive_DMA,"ax",%progbits
+ 3820 .align 1
+ 3821 .global HAL_I2C_Slave_Receive_DMA
+ 3822 .syntax unified
+ 3823 .code 16
+ 3824 .thumb_func
+ 3825 .fpu softvfp
+ 3827 HAL_I2C_Slave_Receive_DMA:
+ 3828 .LFB55:
+2174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 3829 .loc 1 2174 0
+ 3830 .cfi_startproc
+ 3831 @ args = 0, pretend = 0, frame = 0
+ 3832 @ frame_needed = 0, uses_anonymous_args = 0
+ 3833 .LVL315:
+ 3834 0000 70B5 push {r4, r5, r6, lr}
+ 3835 .LCFI32:
+ 3836 .cfi_def_cfa_offset 16
+ 3837 .cfi_offset 4, -16
+ 3838 .cfi_offset 5, -12
+ 3839 .cfi_offset 6, -8
+ 3840 .cfi_offset 14, -4
+ 3841 0002 0400 movs r4, r0
+2177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3842 .loc 1 2177 0
+ 3843 0004 4123 movs r3, #65
+ 3844 0006 C35C ldrb r3, [r0, r3]
+ 3845 0008 202B cmp r3, #32
+ 3846 000a 65D1 bne .L277
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3847 .loc 1 2179 0
+ 3848 000c 0029 cmp r1, #0
+ 3849 000e 3DD0 beq .L272
+2179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3850 .loc 1 2179 0 is_stmt 0 discriminator 1
+ 3851 0010 002A cmp r2, #0
+ 3852 0012 3BD0 beq .L272
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3853 .loc 1 2185 0 is_stmt 1
+ 3854 0014 4023 movs r3, #64
+ 3855 0016 C35C ldrb r3, [r0, r3]
+ 3856 0018 012B cmp r3, #1
+ 3857 001a 60D0 beq .L278
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3858 .loc 1 2185 0 is_stmt 0 discriminator 2
+ 3859 001c 4023 movs r3, #64
+ ARM GAS /tmp/ccskJbbb.s page 192
+
+
+ 3860 001e 0120 movs r0, #1
+ 3861 .LVL316:
+ 3862 0020 E054 strb r0, [r4, r3]
+2187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 3863 .loc 1 2187 0 is_stmt 1 discriminator 2
+ 3864 0022 0133 adds r3, r3, #1
+ 3865 0024 2130 adds r0, r0, #33
+ 3866 0026 E054 strb r0, [r4, r3]
+2188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 3867 .loc 1 2188 0 discriminator 2
+ 3868 0028 0133 adds r3, r3, #1
+ 3869 002a 0238 subs r0, r0, #2
+ 3870 002c E054 strb r0, [r4, r3]
+2189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3871 .loc 1 2189 0 discriminator 2
+ 3872 002e 0023 movs r3, #0
+ 3873 0030 6364 str r3, [r4, #68]
+2192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 3874 .loc 1 2192 0 discriminator 2
+ 3875 0032 6162 str r1, [r4, #36]
+2193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 3876 .loc 1 2193 0 discriminator 2
+ 3877 0034 6285 strh r2, [r4, #42]
+2194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 3878 .loc 1 2194 0 discriminator 2
+ 3879 0036 638D ldrh r3, [r4, #42]
+ 3880 0038 2385 strh r3, [r4, #40]
+2195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 3881 .loc 1 2195 0 discriminator 2
+ 3882 003a 2A4B ldr r3, .L281
+ 3883 003c E362 str r3, [r4, #44]
+2196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3884 .loc 1 2196 0 discriminator 2
+ 3885 003e 2A4B ldr r3, .L281+4
+ 3886 0040 6363 str r3, [r4, #52]
+2198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3887 .loc 1 2198 0 discriminator 2
+ 3888 0042 E36B ldr r3, [r4, #60]
+ 3889 0044 002B cmp r3, #0
+ 3890 0046 26D0 beq .L274
+2201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3891 .loc 1 2201 0
+ 3892 0048 284A ldr r2, .L281+8
+ 3893 .LVL317:
+ 3894 004a 9A62 str r2, [r3, #40]
+2204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3895 .loc 1 2204 0
+ 3896 004c E36B ldr r3, [r4, #60]
+ 3897 004e 284A ldr r2, .L281+12
+ 3898 0050 1A63 str r2, [r3, #48]
+2207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 3899 .loc 1 2207 0
+ 3900 0052 E26B ldr r2, [r4, #60]
+ 3901 0054 0023 movs r3, #0
+ 3902 0056 D362 str r3, [r2, #44]
+2208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3903 .loc 1 2208 0
+ ARM GAS /tmp/ccskJbbb.s page 193
+
+
+ 3904 0058 E26B ldr r2, [r4, #60]
+ 3905 005a 5363 str r3, [r2, #52]
+2211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3906 .loc 1 2211 0
+ 3907 005c 2068 ldr r0, [r4]
+ 3908 005e 2430 adds r0, r0, #36
+ 3909 0060 238D ldrh r3, [r4, #40]
+ 3910 0062 0A00 movs r2, r1
+ 3911 0064 0100 movs r1, r0
+ 3912 .LVL318:
+ 3913 0066 E06B ldr r0, [r4, #60]
+ 3914 0068 FFF7FEFF bl HAL_DMA_Start_IT
+ 3915 .LVL319:
+ 3916 006c 051E subs r5, r0, #0
+ 3917 .LVL320:
+2228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 3918 .loc 1 2228 0
+ 3919 006e 20D0 beq .L280
+2248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3920 .loc 1 2248 0
+ 3921 0070 4123 movs r3, #65
+ 3922 0072 2822 movs r2, #40
+ 3923 0074 E254 strb r2, [r4, r3]
+2249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3924 .loc 1 2249 0
+ 3925 0076 0022 movs r2, #0
+ 3926 0078 0133 adds r3, r3, #1
+ 3927 007a E254 strb r2, [r4, r3]
+2252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3928 .loc 1 2252 0
+ 3929 007c 636C ldr r3, [r4, #68]
+ 3930 007e 1021 movs r1, #16
+ 3931 0080 0B43 orrs r3, r1
+ 3932 0082 6364 str r3, [r4, #68]
+2255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3933 .loc 1 2255 0
+ 3934 0084 4023 movs r3, #64
+ 3935 0086 E254 strb r2, [r4, r3]
+2257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3936 .loc 1 2257 0
+ 3937 0088 0125 movs r5, #1
+ 3938 008a 26E0 b .L271
+ 3939 .LVL321:
+ 3940 .L272:
+2181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 3941 .loc 1 2181 0
+ 3942 008c 8023 movs r3, #128
+ 3943 008e 9B00 lsls r3, r3, #2
+ 3944 0090 6364 str r3, [r4, #68]
+2182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3945 .loc 1 2182 0
+ 3946 0092 0125 movs r5, #1
+ 3947 0094 21E0 b .L271
+ 3948 .LVL322:
+ 3949 .L274:
+2216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 3950 .loc 1 2216 0
+ ARM GAS /tmp/ccskJbbb.s page 194
+
+
+ 3951 0096 4123 movs r3, #65
+ 3952 0098 2822 movs r2, #40
+ 3953 .LVL323:
+ 3954 009a E254 strb r2, [r4, r3]
+2217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3955 .loc 1 2217 0
+ 3956 009c 0022 movs r2, #0
+ 3957 009e 0133 adds r3, r3, #1
+ 3958 00a0 E254 strb r2, [r4, r3]
+2220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3959 .loc 1 2220 0
+ 3960 00a2 636C ldr r3, [r4, #68]
+ 3961 00a4 8021 movs r1, #128
+ 3962 .LVL324:
+ 3963 00a6 0B43 orrs r3, r1
+ 3964 00a8 6364 str r3, [r4, #68]
+2223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3965 .loc 1 2223 0
+ 3966 00aa 4023 movs r3, #64
+ 3967 00ac E254 strb r2, [r4, r3]
+2225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3968 .loc 1 2225 0
+ 3969 00ae 0125 movs r5, #1
+ 3970 00b0 13E0 b .L271
+ 3971 .LVL325:
+ 3972 .L280:
+2231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3973 .loc 1 2231 0
+ 3974 00b2 2268 ldr r2, [r4]
+ 3975 00b4 5368 ldr r3, [r2, #4]
+ 3976 00b6 0F49 ldr r1, .L281+16
+ 3977 00b8 0B40 ands r3, r1
+ 3978 00ba 5360 str r3, [r2, #4]
+2234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3979 .loc 1 2234 0
+ 3980 00bc 4023 movs r3, #64
+ 3981 00be 0022 movs r2, #0
+ 3982 00c0 E254 strb r2, [r4, r3]
+2240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 3983 .loc 1 2240 0
+ 3984 00c2 0421 movs r1, #4
+ 3985 00c4 2000 movs r0, r4
+ 3986 .LVL326:
+ 3987 00c6 FFF7FEFF bl I2C_Enable_IRQ
+ 3988 .LVL327:
+2243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3989 .loc 1 2243 0
+ 3990 00ca 2268 ldr r2, [r4]
+ 3991 00cc 1168 ldr r1, [r2]
+ 3992 00ce 8023 movs r3, #128
+ 3993 00d0 1B02 lsls r3, r3, #8
+ 3994 00d2 0B43 orrs r3, r1
+ 3995 00d4 1360 str r3, [r2]
+2260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 3996 .loc 1 2260 0
+ 3997 00d6 00E0 b .L271
+ 3998 .LVL328:
+ ARM GAS /tmp/ccskJbbb.s page 195
+
+
+ 3999 .L277:
+2264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4000 .loc 1 2264 0
+ 4001 00d8 0225 movs r5, #2
+ 4002 .LVL329:
+ 4003 .L271:
+2266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 4004 .loc 1 2266 0
+ 4005 00da 2800 movs r0, r5
+ 4006 @ sp needed
+ 4007 .LVL330:
+ 4008 00dc 70BD pop {r4, r5, r6, pc}
+ 4009 .LVL331:
+ 4010 .L278:
+2185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4011 .loc 1 2185 0
+ 4012 00de 0225 movs r5, #2
+ 4013 00e0 FBE7 b .L271
+ 4014 .L282:
+ 4015 00e2 C046 .align 2
+ 4016 .L281:
+ 4017 00e4 0000FFFF .word -65536
+ 4018 00e8 00000000 .word I2C_Slave_ISR_DMA
+ 4019 00ec 00000000 .word I2C_DMASlaveReceiveCplt
+ 4020 00f0 00000000 .word I2C_DMAError
+ 4021 00f4 FF7FFFFF .word -32769
+ 4022 .cfi_endproc
+ 4023 .LFE55:
+ 4025 .section .text.HAL_I2C_Mem_Write,"ax",%progbits
+ 4026 .align 1
+ 4027 .global HAL_I2C_Mem_Write
+ 4028 .syntax unified
+ 4029 .code 16
+ 4030 .thumb_func
+ 4031 .fpu softvfp
+ 4033 HAL_I2C_Mem_Write:
+ 4034 .LFB56:
+2281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4035 .loc 1 2281 0
+ 4036 .cfi_startproc
+ 4037 @ args = 12, pretend = 0, frame = 16
+ 4038 @ frame_needed = 0, uses_anonymous_args = 0
+ 4039 .LVL332:
+ 4040 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4041 .LCFI33:
+ 4042 .cfi_def_cfa_offset 20
+ 4043 .cfi_offset 4, -20
+ 4044 .cfi_offset 5, -16
+ 4045 .cfi_offset 6, -12
+ 4046 .cfi_offset 7, -8
+ 4047 .cfi_offset 14, -4
+ 4048 0002 87B0 sub sp, sp, #28
+ 4049 .LCFI34:
+ 4050 .cfi_def_cfa_offset 48
+ 4051 0004 0500 movs r5, r0
+ 4052 0006 0391 str r1, [sp, #12]
+ 4053 0008 0492 str r2, [sp, #16]
+ ARM GAS /tmp/ccskJbbb.s page 196
+
+
+ 4054 000a 0593 str r3, [sp, #20]
+ 4055 000c 0CAB add r3, sp, #48
+ 4056 .LVL333:
+ 4057 000e 10CB ldmia r3!, {r4}
+ 4058 .LVL334:
+ 4059 0010 1E88 ldrh r6, [r3]
+2287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4060 .loc 1 2287 0
+ 4061 0012 4123 movs r3, #65
+ 4062 .LVL335:
+ 4063 0014 C35C ldrb r3, [r0, r3]
+ 4064 0016 202B cmp r3, #32
+ 4065 0018 00D0 beq .LCB4017
+ 4066 001a B3E0 b .L293 @long jump
+ 4067 .LCB4017:
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4068 .loc 1 2289 0
+ 4069 001c 002C cmp r4, #0
+ 4070 001e 18D0 beq .L285
+2289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4071 .loc 1 2289 0 is_stmt 0 discriminator 1
+ 4072 0020 002E cmp r6, #0
+ 4073 0022 16D0 beq .L285
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4074 .loc 1 2296 0 is_stmt 1
+ 4075 0024 4023 movs r3, #64
+ 4076 0026 C35C ldrb r3, [r0, r3]
+ 4077 0028 012B cmp r3, #1
+ 4078 002a 00D1 bne .LCB4025
+ 4079 002c ADE0 b .L294 @long jump
+ 4080 .LCB4025:
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4081 .loc 1 2296 0 is_stmt 0 discriminator 2
+ 4082 002e 4023 movs r3, #64
+ 4083 0030 0122 movs r2, #1
+ 4084 .LVL336:
+ 4085 0032 C254 strb r2, [r0, r3]
+2299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4086 .loc 1 2299 0 is_stmt 1 discriminator 2
+ 4087 0034 FFF7FEFF bl HAL_GetTick
+ 4088 .LVL337:
+ 4089 0038 0700 movs r7, r0
+ 4090 .LVL338:
+2301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4091 .loc 1 2301 0 discriminator 2
+ 4092 003a 8021 movs r1, #128
+ 4093 003c 0090 str r0, [sp]
+ 4094 003e 1923 movs r3, #25
+ 4095 0040 0122 movs r2, #1
+ 4096 0042 0902 lsls r1, r1, #8
+ 4097 0044 2800 movs r0, r5
+ 4098 .LVL339:
+ 4099 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4100 .LVL340:
+ 4101 004a 0028 cmp r0, #0
+ 4102 004c 06D0 beq .L299
+2303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 197
+
+
+ 4103 .loc 1 2303 0
+ 4104 004e 0120 movs r0, #1
+ 4105 0050 99E0 b .L284
+ 4106 .LVL341:
+ 4107 .L285:
+2291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4108 .loc 1 2291 0
+ 4109 0052 8023 movs r3, #128
+ 4110 0054 9B00 lsls r3, r3, #2
+ 4111 0056 6B64 str r3, [r5, #68]
+2292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4112 .loc 1 2292 0
+ 4113 0058 0120 movs r0, #1
+ 4114 .LVL342:
+ 4115 005a 94E0 b .L284
+ 4116 .LVL343:
+ 4117 .L299:
+2306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4118 .loc 1 2306 0
+ 4119 005c 4123 movs r3, #65
+ 4120 005e 2122 movs r2, #33
+ 4121 0060 EA54 strb r2, [r5, r3]
+2307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4122 .loc 1 2307 0
+ 4123 0062 0133 adds r3, r3, #1
+ 4124 0064 1F32 adds r2, r2, #31
+ 4125 0066 EA54 strb r2, [r5, r3]
+2308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4126 .loc 1 2308 0
+ 4127 0068 0023 movs r3, #0
+ 4128 006a 6B64 str r3, [r5, #68]
+2311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4129 .loc 1 2311 0
+ 4130 006c 6C62 str r4, [r5, #36]
+2312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 4131 .loc 1 2312 0
+ 4132 006e 6E85 strh r6, [r5, #42]
+2313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4133 .loc 1 2313 0
+ 4134 0070 6B63 str r3, [r5, #52]
+2316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4135 .loc 1 2316 0
+ 4136 0072 0197 str r7, [sp, #4]
+ 4137 0074 0E9B ldr r3, [sp, #56]
+ 4138 0076 0093 str r3, [sp]
+ 4139 0078 059B ldr r3, [sp, #20]
+ 4140 007a 049A ldr r2, [sp, #16]
+ 4141 007c 0399 ldr r1, [sp, #12]
+ 4142 007e 2800 movs r0, r5
+ 4143 0080 FFF7FEFF bl I2C_RequestMemoryWrite
+ 4144 .LVL344:
+ 4145 0084 0028 cmp r0, #0
+ 4146 0086 0FD1 bne .L300
+2324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4147 .loc 1 2324 0
+ 4148 0088 6B8D ldrh r3, [r5, #42]
+ 4149 008a 9BB2 uxth r3, r3
+ ARM GAS /tmp/ccskJbbb.s page 198
+
+
+ 4150 008c FF2B cmp r3, #255
+ 4151 008e 10D9 bls .L288
+2326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STARTST
+ 4152 .loc 1 2326 0
+ 4153 0090 FF23 movs r3, #255
+ 4154 0092 2B85 strh r3, [r5, #40]
+2327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4155 .loc 1 2327 0
+ 4156 0094 7F3B subs r3, r3, #127
+ 4157 0096 0022 movs r2, #0
+ 4158 0098 0092 str r2, [sp]
+ 4159 009a 5B04 lsls r3, r3, #17
+ 4160 009c FF32 adds r2, r2, #255
+ 4161 009e 0399 ldr r1, [sp, #12]
+ 4162 00a0 2800 movs r0, r5
+ 4163 00a2 FFF7FEFF bl I2C_TransferConfig
+ 4164 .LVL345:
+ 4165 00a6 21E0 b .L292
+ 4166 .L300:
+2319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4167 .loc 1 2319 0
+ 4168 00a8 4023 movs r3, #64
+ 4169 00aa 0022 movs r2, #0
+ 4170 00ac EA54 strb r2, [r5, r3]
+2320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4171 .loc 1 2320 0
+ 4172 00ae 0120 movs r0, #1
+ 4173 00b0 69E0 b .L284
+ 4174 .L288:
+2331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_STARTS
+ 4175 .loc 1 2331 0
+ 4176 00b2 6A8D ldrh r2, [r5, #42]
+ 4177 00b4 92B2 uxth r2, r2
+ 4178 00b6 2A85 strh r2, [r5, #40]
+2332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4179 .loc 1 2332 0
+ 4180 00b8 8023 movs r3, #128
+ 4181 00ba D2B2 uxtb r2, r2
+ 4182 00bc 0021 movs r1, #0
+ 4183 00be 0091 str r1, [sp]
+ 4184 00c0 9B04 lsls r3, r3, #18
+ 4185 00c2 0399 ldr r1, [sp, #12]
+ 4186 00c4 2800 movs r0, r5
+ 4187 00c6 FFF7FEFF bl I2C_TransferConfig
+ 4188 .LVL346:
+ 4189 00ca 0FE0 b .L292
+ 4190 .L291:
+2367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 4191 .loc 1 2367 0
+ 4192 00cc 6A8D ldrh r2, [r5, #42]
+ 4193 00ce 92B2 uxth r2, r2
+ 4194 00d0 2A85 strh r2, [r5, #40]
+2368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4195 .loc 1 2368 0
+ 4196 00d2 8023 movs r3, #128
+ 4197 00d4 D2B2 uxtb r2, r2
+ 4198 00d6 0021 movs r1, #0
+ ARM GAS /tmp/ccskJbbb.s page 199
+
+
+ 4199 00d8 0091 str r1, [sp]
+ 4200 00da 9B04 lsls r3, r3, #18
+ 4201 00dc 0399 ldr r1, [sp, #12]
+ 4202 00de 2800 movs r0, r5
+ 4203 00e0 FFF7FEFF bl I2C_TransferConfig
+ 4204 .LVL347:
+ 4205 .L290:
+2373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4206 .loc 1 2373 0
+ 4207 00e4 6B8D ldrh r3, [r5, #42]
+ 4208 00e6 9BB2 uxth r3, r3
+ 4209 00e8 002B cmp r3, #0
+ 4210 00ea 34D0 beq .L301
+ 4211 .L292:
+2338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4212 .loc 1 2338 0
+ 4213 00ec 3A00 movs r2, r7
+ 4214 00ee 0E99 ldr r1, [sp, #56]
+ 4215 00f0 2800 movs r0, r5
+ 4216 00f2 FFF7FEFF bl I2C_WaitOnTXISFlagUntilTimeout
+ 4217 .LVL348:
+ 4218 00f6 0028 cmp r0, #0
+ 4219 00f8 49D1 bne .L296
+2344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4220 .loc 1 2344 0
+ 4221 00fa 2B68 ldr r3, [r5]
+ 4222 00fc 6A6A ldr r2, [r5, #36]
+ 4223 00fe 1278 ldrb r2, [r2]
+ 4224 0100 9A62 str r2, [r3, #40]
+2347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4225 .loc 1 2347 0
+ 4226 0102 6B6A ldr r3, [r5, #36]
+ 4227 0104 0133 adds r3, r3, #1
+ 4228 0106 6B62 str r3, [r5, #36]
+2349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 4229 .loc 1 2349 0
+ 4230 0108 6B8D ldrh r3, [r5, #42]
+ 4231 010a 013B subs r3, r3, #1
+ 4232 010c 9BB2 uxth r3, r3
+ 4233 010e 6B85 strh r3, [r5, #42]
+2350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4234 .loc 1 2350 0
+ 4235 0110 2B8D ldrh r3, [r5, #40]
+ 4236 0112 013B subs r3, r3, #1
+ 4237 0114 9BB2 uxth r3, r3
+ 4238 0116 2B85 strh r3, [r5, #40]
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4239 .loc 1 2352 0
+ 4240 0118 6A8D ldrh r2, [r5, #42]
+ 4241 011a 92B2 uxth r2, r2
+ 4242 011c 002A cmp r2, #0
+ 4243 011e E1D0 beq .L290
+2352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4244 .loc 1 2352 0 is_stmt 0 discriminator 1
+ 4245 0120 002B cmp r3, #0
+ 4246 0122 DFD1 bne .L290
+2355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 200
+
+
+ 4247 .loc 1 2355 0 is_stmt 1
+ 4248 0124 0097 str r7, [sp]
+ 4249 0126 0E9B ldr r3, [sp, #56]
+ 4250 0128 0022 movs r2, #0
+ 4251 012a 8021 movs r1, #128
+ 4252 012c 2800 movs r0, r5
+ 4253 012e FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4254 .LVL349:
+ 4255 0132 0028 cmp r0, #0
+ 4256 0134 2DD1 bne .L297
+2360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4257 .loc 1 2360 0
+ 4258 0136 6B8D ldrh r3, [r5, #42]
+ 4259 0138 9BB2 uxth r3, r3
+ 4260 013a FF2B cmp r3, #255
+ 4261 013c C6D9 bls .L291
+2362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_STA
+ 4262 .loc 1 2362 0
+ 4263 013e FF23 movs r3, #255
+ 4264 0140 2B85 strh r3, [r5, #40]
+2363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4265 .loc 1 2363 0
+ 4266 0142 7F3B subs r3, r3, #127
+ 4267 0144 0022 movs r2, #0
+ 4268 0146 0092 str r2, [sp]
+ 4269 0148 5B04 lsls r3, r3, #17
+ 4270 014a FF32 adds r2, r2, #255
+ 4271 014c 0399 ldr r1, [sp, #12]
+ 4272 014e 2800 movs r0, r5
+ 4273 0150 FFF7FEFF bl I2C_TransferConfig
+ 4274 .LVL350:
+ 4275 0154 C6E7 b .L290
+ 4276 .L301:
+2377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4277 .loc 1 2377 0
+ 4278 0156 3A00 movs r2, r7
+ 4279 0158 0E99 ldr r1, [sp, #56]
+ 4280 015a 2800 movs r0, r5
+ 4281 015c FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 4282 .LVL351:
+ 4283 0160 0028 cmp r0, #0
+ 4284 0162 18D1 bne .L298
+2383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4285 .loc 1 2383 0
+ 4286 0164 2B68 ldr r3, [r5]
+ 4287 0166 2022 movs r2, #32
+ 4288 0168 DA61 str r2, [r3, #28]
+2386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4289 .loc 1 2386 0
+ 4290 016a 2968 ldr r1, [r5]
+ 4291 016c 4B68 ldr r3, [r1, #4]
+ 4292 016e 0B4C ldr r4, .L302
+ 4293 0170 2340 ands r3, r4
+ 4294 0172 4B60 str r3, [r1, #4]
+2388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 4295 .loc 1 2388 0
+ 4296 0174 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 201
+
+
+ 4297 0176 EA54 strb r2, [r5, r3]
+2389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4298 .loc 1 2389 0
+ 4299 0178 0023 movs r3, #0
+ 4300 017a 2232 adds r2, r2, #34
+ 4301 017c AB54 strb r3, [r5, r2]
+2392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4302 .loc 1 2392 0
+ 4303 017e 023A subs r2, r2, #2
+ 4304 0180 AB54 strb r3, [r5, r2]
+2394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4305 .loc 1 2394 0
+ 4306 0182 00E0 b .L284
+ 4307 .LVL352:
+ 4308 .L293:
+2398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4309 .loc 1 2398 0
+ 4310 0184 0220 movs r0, #2
+ 4311 .LVL353:
+ 4312 .L284:
+2400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4313 .loc 1 2400 0
+ 4314 0186 07B0 add sp, sp, #28
+ 4315 @ sp needed
+ 4316 .LVL354:
+ 4317 0188 F0BD pop {r4, r5, r6, r7, pc}
+ 4318 .LVL355:
+ 4319 .L294:
+2296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4320 .loc 1 2296 0
+ 4321 018a 0220 movs r0, #2
+ 4322 .LVL356:
+ 4323 018c FBE7 b .L284
+ 4324 .LVL357:
+ 4325 .L296:
+2340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4326 .loc 1 2340 0
+ 4327 018e 0120 movs r0, #1
+ 4328 0190 F9E7 b .L284
+ 4329 .L297:
+2357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4330 .loc 1 2357 0
+ 4331 0192 0120 movs r0, #1
+ 4332 0194 F7E7 b .L284
+ 4333 .L298:
+2379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4334 .loc 1 2379 0
+ 4335 0196 0120 movs r0, #1
+ 4336 0198 F5E7 b .L284
+ 4337 .L303:
+ 4338 019a C046 .align 2
+ 4339 .L302:
+ 4340 019c 00E800FE .word -33495040
+ 4341 .cfi_endproc
+ 4342 .LFE56:
+ 4344 .section .text.HAL_I2C_Mem_Read,"ax",%progbits
+ 4345 .align 1
+ ARM GAS /tmp/ccskJbbb.s page 202
+
+
+ 4346 .global HAL_I2C_Mem_Read
+ 4347 .syntax unified
+ 4348 .code 16
+ 4349 .thumb_func
+ 4350 .fpu softvfp
+ 4352 HAL_I2C_Mem_Read:
+ 4353 .LFB57:
+2416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4354 .loc 1 2416 0
+ 4355 .cfi_startproc
+ 4356 @ args = 12, pretend = 0, frame = 16
+ 4357 @ frame_needed = 0, uses_anonymous_args = 0
+ 4358 .LVL358:
+ 4359 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4360 .LCFI35:
+ 4361 .cfi_def_cfa_offset 20
+ 4362 .cfi_offset 4, -20
+ 4363 .cfi_offset 5, -16
+ 4364 .cfi_offset 6, -12
+ 4365 .cfi_offset 7, -8
+ 4366 .cfi_offset 14, -4
+ 4367 0002 87B0 sub sp, sp, #28
+ 4368 .LCFI36:
+ 4369 .cfi_def_cfa_offset 48
+ 4370 0004 0400 movs r4, r0
+ 4371 0006 0391 str r1, [sp, #12]
+ 4372 0008 0492 str r2, [sp, #16]
+ 4373 000a 0593 str r3, [sp, #20]
+ 4374 000c 0CAB add r3, sp, #48
+ 4375 .LVL359:
+ 4376 000e 20CB ldmia r3!, {r5}
+ 4377 .LVL360:
+ 4378 0010 1F88 ldrh r7, [r3]
+2422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4379 .loc 1 2422 0
+ 4380 0012 4123 movs r3, #65
+ 4381 .LVL361:
+ 4382 0014 C35C ldrb r3, [r0, r3]
+ 4383 0016 202B cmp r3, #32
+ 4384 0018 00D0 beq .LCB4365
+ 4385 001a B5E0 b .L314 @long jump
+ 4386 .LCB4365:
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4387 .loc 1 2424 0
+ 4388 001c 002D cmp r5, #0
+ 4389 001e 18D0 beq .L306
+2424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4390 .loc 1 2424 0 is_stmt 0 discriminator 1
+ 4391 0020 002F cmp r7, #0
+ 4392 0022 16D0 beq .L306
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4393 .loc 1 2431 0 is_stmt 1
+ 4394 0024 4023 movs r3, #64
+ 4395 0026 C35C ldrb r3, [r0, r3]
+ 4396 0028 012B cmp r3, #1
+ 4397 002a 00D1 bne .LCB4373
+ 4398 002c AFE0 b .L315 @long jump
+ ARM GAS /tmp/ccskJbbb.s page 203
+
+
+ 4399 .LCB4373:
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4400 .loc 1 2431 0 is_stmt 0 discriminator 2
+ 4401 002e 4023 movs r3, #64
+ 4402 0030 0122 movs r2, #1
+ 4403 .LVL362:
+ 4404 0032 C254 strb r2, [r0, r3]
+2434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4405 .loc 1 2434 0 is_stmt 1 discriminator 2
+ 4406 0034 FFF7FEFF bl HAL_GetTick
+ 4407 .LVL363:
+ 4408 0038 0600 movs r6, r0
+ 4409 .LVL364:
+2436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4410 .loc 1 2436 0 discriminator 2
+ 4411 003a 8021 movs r1, #128
+ 4412 003c 0090 str r0, [sp]
+ 4413 003e 1923 movs r3, #25
+ 4414 0040 0122 movs r2, #1
+ 4415 0042 0902 lsls r1, r1, #8
+ 4416 0044 2000 movs r0, r4
+ 4417 .LVL365:
+ 4418 0046 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4419 .LVL366:
+ 4420 004a 0028 cmp r0, #0
+ 4421 004c 06D0 beq .L320
+2438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4422 .loc 1 2438 0
+ 4423 004e 0120 movs r0, #1
+ 4424 0050 9BE0 b .L305
+ 4425 .LVL367:
+ 4426 .L306:
+2426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4427 .loc 1 2426 0
+ 4428 0052 8023 movs r3, #128
+ 4429 0054 9B00 lsls r3, r3, #2
+ 4430 0056 6364 str r3, [r4, #68]
+2427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4431 .loc 1 2427 0
+ 4432 0058 0120 movs r0, #1
+ 4433 .LVL368:
+ 4434 005a 96E0 b .L305
+ 4435 .LVL369:
+ 4436 .L320:
+2441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4437 .loc 1 2441 0
+ 4438 005c 4123 movs r3, #65
+ 4439 005e 2222 movs r2, #34
+ 4440 0060 E254 strb r2, [r4, r3]
+2442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4441 .loc 1 2442 0
+ 4442 0062 0133 adds r3, r3, #1
+ 4443 0064 1E32 adds r2, r2, #30
+ 4444 0066 E254 strb r2, [r4, r3]
+2443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4445 .loc 1 2443 0
+ 4446 0068 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 204
+
+
+ 4447 006a 6364 str r3, [r4, #68]
+2446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4448 .loc 1 2446 0
+ 4449 006c 6562 str r5, [r4, #36]
+2447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 4450 .loc 1 2447 0
+ 4451 006e 6785 strh r7, [r4, #42]
+2448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4452 .loc 1 2448 0
+ 4453 0070 6363 str r3, [r4, #52]
+2451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4454 .loc 1 2451 0
+ 4455 0072 0196 str r6, [sp, #4]
+ 4456 0074 0E9B ldr r3, [sp, #56]
+ 4457 0076 0093 str r3, [sp]
+ 4458 0078 059B ldr r3, [sp, #20]
+ 4459 007a 049A ldr r2, [sp, #16]
+ 4460 007c 0399 ldr r1, [sp, #12]
+ 4461 007e 2000 movs r0, r4
+ 4462 0080 FFF7FEFF bl I2C_RequestMemoryRead
+ 4463 .LVL370:
+ 4464 0084 0028 cmp r0, #0
+ 4465 0086 0FD1 bne .L321
+2460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4466 .loc 1 2460 0
+ 4467 0088 638D ldrh r3, [r4, #42]
+ 4468 008a 9BB2 uxth r3, r3
+ 4469 008c FF2B cmp r3, #255
+ 4470 008e 10D9 bls .L309
+2462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_GENERATE_S
+ 4471 .loc 1 2462 0
+ 4472 0090 FF23 movs r3, #255
+ 4473 0092 2385 strh r3, [r4, #40]
+2463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4474 .loc 1 2463 0
+ 4475 0094 7F3B subs r3, r3, #127
+ 4476 0096 424A ldr r2, .L323
+ 4477 0098 0092 str r2, [sp]
+ 4478 009a 5B04 lsls r3, r3, #17
+ 4479 009c FF22 movs r2, #255
+ 4480 009e 0399 ldr r1, [sp, #12]
+ 4481 00a0 2000 movs r0, r4
+ 4482 00a2 FFF7FEFF bl I2C_TransferConfig
+ 4483 .LVL371:
+ 4484 00a6 21E0 b .L313
+ 4485 .L321:
+2454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4486 .loc 1 2454 0
+ 4487 00a8 4023 movs r3, #64
+ 4488 00aa 0022 movs r2, #0
+ 4489 00ac E254 strb r2, [r4, r3]
+2455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4490 .loc 1 2455 0
+ 4491 00ae 0120 movs r0, #1
+ 4492 00b0 6BE0 b .L305
+ 4493 .L309:
+2467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_GENERATE_
+ ARM GAS /tmp/ccskJbbb.s page 205
+
+
+ 4494 .loc 1 2467 0
+ 4495 00b2 628D ldrh r2, [r4, #42]
+ 4496 00b4 92B2 uxth r2, r2
+ 4497 00b6 2285 strh r2, [r4, #40]
+2468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4498 .loc 1 2468 0
+ 4499 00b8 8023 movs r3, #128
+ 4500 00ba D2B2 uxtb r2, r2
+ 4501 00bc 3849 ldr r1, .L323
+ 4502 00be 0091 str r1, [sp]
+ 4503 00c0 9B04 lsls r3, r3, #18
+ 4504 00c2 0399 ldr r1, [sp, #12]
+ 4505 00c4 2000 movs r0, r4
+ 4506 00c6 FFF7FEFF bl I2C_TransferConfig
+ 4507 .LVL372:
+ 4508 00ca 0FE0 b .L313
+ 4509 .L312:
+2503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t)hi2c->XferSize, I2C_AUTOEND_MODE, I2C_NO_ST
+ 4510 .loc 1 2503 0
+ 4511 00cc 628D ldrh r2, [r4, #42]
+ 4512 00ce 92B2 uxth r2, r2
+ 4513 00d0 2285 strh r2, [r4, #40]
+2504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4514 .loc 1 2504 0
+ 4515 00d2 8023 movs r3, #128
+ 4516 00d4 D2B2 uxtb r2, r2
+ 4517 00d6 0021 movs r1, #0
+ 4518 00d8 0091 str r1, [sp]
+ 4519 00da 9B04 lsls r3, r3, #18
+ 4520 00dc 0399 ldr r1, [sp, #12]
+ 4521 00de 2000 movs r0, r4
+ 4522 00e0 FFF7FEFF bl I2C_TransferConfig
+ 4523 .LVL373:
+ 4524 .L311:
+2508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4525 .loc 1 2508 0
+ 4526 00e4 638D ldrh r3, [r4, #42]
+ 4527 00e6 9BB2 uxth r3, r3
+ 4528 00e8 002B cmp r3, #0
+ 4529 00ea 36D0 beq .L322
+ 4530 .L313:
+2474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4531 .loc 1 2474 0
+ 4532 00ec 0096 str r6, [sp]
+ 4533 00ee 0E9B ldr r3, [sp, #56]
+ 4534 00f0 0022 movs r2, #0
+ 4535 00f2 0421 movs r1, #4
+ 4536 00f4 2000 movs r0, r4
+ 4537 00f6 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4538 .LVL374:
+ 4539 00fa 0028 cmp r0, #0
+ 4540 00fc 49D1 bne .L317
+2480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4541 .loc 1 2480 0
+ 4542 00fe 2368 ldr r3, [r4]
+ 4543 0100 5B6A ldr r3, [r3, #36]
+ 4544 0102 626A ldr r2, [r4, #36]
+ ARM GAS /tmp/ccskJbbb.s page 206
+
+
+ 4545 0104 1370 strb r3, [r2]
+2483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4546 .loc 1 2483 0
+ 4547 0106 636A ldr r3, [r4, #36]
+ 4548 0108 0133 adds r3, r3, #1
+ 4549 010a 6362 str r3, [r4, #36]
+2485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 4550 .loc 1 2485 0
+ 4551 010c 238D ldrh r3, [r4, #40]
+ 4552 010e 013B subs r3, r3, #1
+ 4553 0110 9BB2 uxth r3, r3
+ 4554 0112 2385 strh r3, [r4, #40]
+2486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4555 .loc 1 2486 0
+ 4556 0114 628D ldrh r2, [r4, #42]
+ 4557 0116 013A subs r2, r2, #1
+ 4558 0118 92B2 uxth r2, r2
+ 4559 011a 6285 strh r2, [r4, #42]
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4560 .loc 1 2488 0
+ 4561 011c 628D ldrh r2, [r4, #42]
+ 4562 011e 92B2 uxth r2, r2
+ 4563 0120 002A cmp r2, #0
+ 4564 0122 DFD0 beq .L311
+2488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4565 .loc 1 2488 0 is_stmt 0 discriminator 1
+ 4566 0124 002B cmp r3, #0
+ 4567 0126 DDD1 bne .L311
+2491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4568 .loc 1 2491 0 is_stmt 1
+ 4569 0128 0096 str r6, [sp]
+ 4570 012a 0E9B ldr r3, [sp, #56]
+ 4571 012c 0022 movs r2, #0
+ 4572 012e 8021 movs r1, #128
+ 4573 0130 2000 movs r0, r4
+ 4574 0132 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 4575 .LVL375:
+ 4576 0136 0028 cmp r0, #0
+ 4577 0138 2DD1 bne .L318
+2496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4578 .loc 1 2496 0
+ 4579 013a 638D ldrh r3, [r4, #42]
+ 4580 013c 9BB2 uxth r3, r3
+ 4581 013e FF2B cmp r3, #255
+ 4582 0140 C4D9 bls .L312
+2498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, DevAddress, (uint8_t) hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_ST
+ 4583 .loc 1 2498 0
+ 4584 0142 FF23 movs r3, #255
+ 4585 0144 2385 strh r3, [r4, #40]
+2499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4586 .loc 1 2499 0
+ 4587 0146 7F3B subs r3, r3, #127
+ 4588 0148 0022 movs r2, #0
+ 4589 014a 0092 str r2, [sp]
+ 4590 014c 5B04 lsls r3, r3, #17
+ 4591 014e FF32 adds r2, r2, #255
+ 4592 0150 0399 ldr r1, [sp, #12]
+ ARM GAS /tmp/ccskJbbb.s page 207
+
+
+ 4593 0152 2000 movs r0, r4
+ 4594 0154 FFF7FEFF bl I2C_TransferConfig
+ 4595 .LVL376:
+ 4596 0158 C4E7 b .L311
+ 4597 .L322:
+2512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4598 .loc 1 2512 0
+ 4599 015a 3200 movs r2, r6
+ 4600 015c 0E99 ldr r1, [sp, #56]
+ 4601 015e 2000 movs r0, r4
+ 4602 0160 FFF7FEFF bl I2C_WaitOnSTOPFlagUntilTimeout
+ 4603 .LVL377:
+ 4604 0164 0028 cmp r0, #0
+ 4605 0166 18D1 bne .L319
+2518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4606 .loc 1 2518 0
+ 4607 0168 2368 ldr r3, [r4]
+ 4608 016a 2022 movs r2, #32
+ 4609 016c DA61 str r2, [r3, #28]
+2521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4610 .loc 1 2521 0
+ 4611 016e 2168 ldr r1, [r4]
+ 4612 0170 4B68 ldr r3, [r1, #4]
+ 4613 0172 0C4D ldr r5, .L323+4
+ 4614 0174 2B40 ands r3, r5
+ 4615 0176 4B60 str r3, [r1, #4]
+2523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 4616 .loc 1 2523 0
+ 4617 0178 4123 movs r3, #65
+ 4618 017a E254 strb r2, [r4, r3]
+2524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4619 .loc 1 2524 0
+ 4620 017c 0023 movs r3, #0
+ 4621 017e 2232 adds r2, r2, #34
+ 4622 0180 A354 strb r3, [r4, r2]
+2527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4623 .loc 1 2527 0
+ 4624 0182 023A subs r2, r2, #2
+ 4625 0184 A354 strb r3, [r4, r2]
+2529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4626 .loc 1 2529 0
+ 4627 0186 00E0 b .L305
+ 4628 .LVL378:
+ 4629 .L314:
+2533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4630 .loc 1 2533 0
+ 4631 0188 0220 movs r0, #2
+ 4632 .LVL379:
+ 4633 .L305:
+2535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 4634 .loc 1 2535 0
+ 4635 018a 07B0 add sp, sp, #28
+ 4636 @ sp needed
+ 4637 .LVL380:
+ 4638 018c F0BD pop {r4, r5, r6, r7, pc}
+ 4639 .LVL381:
+ 4640 .L315:
+ ARM GAS /tmp/ccskJbbb.s page 208
+
+
+2431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4641 .loc 1 2431 0
+ 4642 018e 0220 movs r0, #2
+ 4643 .LVL382:
+ 4644 0190 FBE7 b .L305
+ 4645 .LVL383:
+ 4646 .L317:
+2476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4647 .loc 1 2476 0
+ 4648 0192 0120 movs r0, #1
+ 4649 0194 F9E7 b .L305
+ 4650 .L318:
+2493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4651 .loc 1 2493 0
+ 4652 0196 0120 movs r0, #1
+ 4653 0198 F7E7 b .L305
+ 4654 .L319:
+2514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4655 .loc 1 2514 0
+ 4656 019a 0120 movs r0, #1
+ 4657 019c F5E7 b .L305
+ 4658 .L324:
+ 4659 019e C046 .align 2
+ 4660 .L323:
+ 4661 01a0 00240080 .word -2147474432
+ 4662 01a4 00E800FE .word -33495040
+ 4663 .cfi_endproc
+ 4664 .LFE57:
+ 4666 .section .text.HAL_I2C_Mem_Write_IT,"ax",%progbits
+ 4667 .align 1
+ 4668 .global HAL_I2C_Mem_Write_IT
+ 4669 .syntax unified
+ 4670 .code 16
+ 4671 .thumb_func
+ 4672 .fpu softvfp
+ 4674 HAL_I2C_Mem_Write_IT:
+ 4675 .LFB58:
+2549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4676 .loc 1 2549 0
+ 4677 .cfi_startproc
+ 4678 @ args = 8, pretend = 0, frame = 16
+ 4679 @ frame_needed = 0, uses_anonymous_args = 0
+ 4680 .LVL384:
+ 4681 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4682 .LCFI37:
+ 4683 .cfi_def_cfa_offset 20
+ 4684 .cfi_offset 4, -20
+ 4685 .cfi_offset 5, -16
+ 4686 .cfi_offset 6, -12
+ 4687 .cfi_offset 7, -8
+ 4688 .cfi_offset 14, -4
+ 4689 0002 87B0 sub sp, sp, #28
+ 4690 .LCFI38:
+ 4691 .cfi_def_cfa_offset 48
+ 4692 0004 0400 movs r4, r0
+ 4693 0006 0391 str r1, [sp, #12]
+ 4694 0008 0492 str r2, [sp, #16]
+ ARM GAS /tmp/ccskJbbb.s page 209
+
+
+ 4695 000a 0593 str r3, [sp, #20]
+ 4696 000c 0CAB add r3, sp, #48
+ 4697 .LVL385:
+ 4698 000e 80CB ldmia r3!, {r7}
+ 4699 .LVL386:
+ 4700 0010 1D88 ldrh r5, [r3]
+2556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4701 .loc 1 2556 0
+ 4702 0012 4123 movs r3, #65
+ 4703 .LVL387:
+ 4704 0014 C35C ldrb r3, [r0, r3]
+ 4705 0016 202B cmp r3, #32
+ 4706 0018 4FD1 bne .L332
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4707 .loc 1 2558 0
+ 4708 001a 002F cmp r7, #0
+ 4709 001c 33D0 beq .L327
+2558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4710 .loc 1 2558 0 is_stmt 0 discriminator 1
+ 4711 001e 002D cmp r5, #0
+ 4712 0020 31D0 beq .L327
+2564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4713 .loc 1 2564 0 is_stmt 1
+ 4714 0022 0368 ldr r3, [r0]
+ 4715 0024 9B69 ldr r3, [r3, #24]
+ 4716 0026 1B04 lsls r3, r3, #16
+ 4717 0028 4BD4 bmi .L333
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4718 .loc 1 2570 0
+ 4719 002a 4023 movs r3, #64
+ 4720 002c C35C ldrb r3, [r0, r3]
+ 4721 002e 012B cmp r3, #1
+ 4722 0030 49D0 beq .L334
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4723 .loc 1 2570 0 is_stmt 0 discriminator 2
+ 4724 0032 4026 movs r6, #64
+ 4725 0034 0123 movs r3, #1
+ 4726 0036 8355 strb r3, [r0, r6]
+2573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4727 .loc 1 2573 0 is_stmt 1 discriminator 2
+ 4728 0038 FFF7FEFF bl HAL_GetTick
+ 4729 .LVL388:
+2575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4730 .loc 1 2575 0 discriminator 2
+ 4731 003c 4123 movs r3, #65
+ 4732 003e 2122 movs r2, #33
+ 4733 0040 E254 strb r2, [r4, r3]
+2576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4734 .loc 1 2576 0 discriminator 2
+ 4735 0042 0133 adds r3, r3, #1
+ 4736 0044 E654 strb r6, [r4, r3]
+2577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4737 .loc 1 2577 0 discriminator 2
+ 4738 0046 0023 movs r3, #0
+ 4739 0048 6364 str r3, [r4, #68]
+2580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4740 .loc 1 2580 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 210
+
+
+ 4741 004a 6762 str r7, [r4, #36]
+2581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 4742 .loc 1 2581 0 discriminator 2
+ 4743 004c 6585 strh r5, [r4, #42]
+2582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 4744 .loc 1 2582 0 discriminator 2
+ 4745 004e 1F4B ldr r3, .L335
+ 4746 0050 E362 str r3, [r4, #44]
+2583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4747 .loc 1 2583 0 discriminator 2
+ 4748 0052 1F4B ldr r3, .L335+4
+ 4749 0054 6363 str r3, [r4, #52]
+2585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4750 .loc 1 2585 0 discriminator 2
+ 4751 0056 638D ldrh r3, [r4, #42]
+ 4752 0058 9BB2 uxth r3, r3
+ 4753 005a FF2B cmp r3, #255
+ 4754 005c 18D9 bls .L329
+2587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 4755 .loc 1 2587 0
+ 4756 005e FF23 movs r3, #255
+ 4757 0060 2385 strh r3, [r4, #40]
+ 4758 .LVL389:
+2588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4759 .loc 1 2588 0
+ 4760 0062 8027 movs r7, #128
+ 4761 0064 7F04 lsls r7, r7, #17
+ 4762 .LVL390:
+ 4763 .L330:
+2597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4764 .loc 1 2597 0
+ 4765 0066 0190 str r0, [sp, #4]
+ 4766 0068 1923 movs r3, #25
+ 4767 006a 0093 str r3, [sp]
+ 4768 006c 059B ldr r3, [sp, #20]
+ 4769 006e 049A ldr r2, [sp, #16]
+ 4770 0070 0399 ldr r1, [sp, #12]
+ 4771 0072 2000 movs r0, r4
+ 4772 .LVL391:
+ 4773 0074 FFF7FEFF bl I2C_RequestMemoryWrite
+ 4774 .LVL392:
+ 4775 0078 051E subs r5, r0, #0
+ 4776 007a 0ED0 beq .L331
+2600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4777 .loc 1 2600 0
+ 4778 007c 4023 movs r3, #64
+ 4779 007e 0022 movs r2, #0
+ 4780 0080 E254 strb r2, [r4, r3]
+2601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4781 .loc 1 2601 0
+ 4782 0082 0125 movs r5, #1
+ 4783 0084 1AE0 b .L326
+ 4784 .LVL393:
+ 4785 .L327:
+2560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4786 .loc 1 2560 0
+ 4787 0086 8023 movs r3, #128
+ ARM GAS /tmp/ccskJbbb.s page 211
+
+
+ 4788 0088 9B00 lsls r3, r3, #2
+ 4789 008a 6364 str r3, [r4, #68]
+2561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4790 .loc 1 2561 0
+ 4791 008c 0125 movs r5, #1
+ 4792 008e 15E0 b .L326
+ 4793 .LVL394:
+ 4794 .L329:
+2592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 4795 .loc 1 2592 0
+ 4796 0090 638D ldrh r3, [r4, #42]
+ 4797 0092 2385 strh r3, [r4, #40]
+ 4798 .LVL395:
+2593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4799 .loc 1 2593 0
+ 4800 0094 8027 movs r7, #128
+ 4801 0096 BF04 lsls r7, r7, #18
+ 4802 0098 E5E7 b .L330
+ 4803 .LVL396:
+ 4804 .L331:
+2605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4805 .loc 1 2605 0
+ 4806 009a 228D ldrh r2, [r4, #40]
+ 4807 009c D2B2 uxtb r2, r2
+ 4808 009e 0026 movs r6, #0
+ 4809 00a0 0096 str r6, [sp]
+ 4810 00a2 3B00 movs r3, r7
+ 4811 00a4 0399 ldr r1, [sp, #12]
+ 4812 00a6 2000 movs r0, r4
+ 4813 00a8 FFF7FEFF bl I2C_TransferConfig
+ 4814 .LVL397:
+2608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4815 .loc 1 2608 0
+ 4816 00ac 4023 movs r3, #64
+ 4817 00ae E654 strb r6, [r4, r3]
+2617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4818 .loc 1 2617 0
+ 4819 00b0 0121 movs r1, #1
+ 4820 00b2 2000 movs r0, r4
+ 4821 00b4 FFF7FEFF bl I2C_Enable_IRQ
+ 4822 .LVL398:
+2619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4823 .loc 1 2619 0
+ 4824 00b8 00E0 b .L326
+ 4825 .LVL399:
+ 4826 .L332:
+2623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4827 .loc 1 2623 0
+ 4828 00ba 0225 movs r5, #2
+ 4829 .LVL400:
+ 4830 .L326:
+2625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4831 .loc 1 2625 0
+ 4832 00bc 2800 movs r0, r5
+ 4833 00be 07B0 add sp, sp, #28
+ 4834 @ sp needed
+ 4835 .LVL401:
+ ARM GAS /tmp/ccskJbbb.s page 212
+
+
+ 4836 00c0 F0BD pop {r4, r5, r6, r7, pc}
+ 4837 .LVL402:
+ 4838 .L333:
+2566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4839 .loc 1 2566 0
+ 4840 00c2 0225 movs r5, #2
+ 4841 00c4 FAE7 b .L326
+ 4842 .L334:
+2570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4843 .loc 1 2570 0
+ 4844 00c6 0225 movs r5, #2
+ 4845 00c8 F8E7 b .L326
+ 4846 .L336:
+ 4847 00ca C046 .align 2
+ 4848 .L335:
+ 4849 00cc 0000FFFF .word -65536
+ 4850 00d0 00000000 .word I2C_Master_ISR_IT
+ 4851 .cfi_endproc
+ 4852 .LFE58:
+ 4854 .section .text.HAL_I2C_Mem_Read_IT,"ax",%progbits
+ 4855 .align 1
+ 4856 .global HAL_I2C_Mem_Read_IT
+ 4857 .syntax unified
+ 4858 .code 16
+ 4859 .thumb_func
+ 4860 .fpu softvfp
+ 4862 HAL_I2C_Mem_Read_IT:
+ 4863 .LFB59:
+2640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 4864 .loc 1 2640 0
+ 4865 .cfi_startproc
+ 4866 @ args = 8, pretend = 0, frame = 16
+ 4867 @ frame_needed = 0, uses_anonymous_args = 0
+ 4868 .LVL403:
+ 4869 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 4870 .LCFI39:
+ 4871 .cfi_def_cfa_offset 20
+ 4872 .cfi_offset 4, -20
+ 4873 .cfi_offset 5, -16
+ 4874 .cfi_offset 6, -12
+ 4875 .cfi_offset 7, -8
+ 4876 .cfi_offset 14, -4
+ 4877 0002 87B0 sub sp, sp, #28
+ 4878 .LCFI40:
+ 4879 .cfi_def_cfa_offset 48
+ 4880 0004 0600 movs r6, r0
+ 4881 0006 0391 str r1, [sp, #12]
+ 4882 0008 0492 str r2, [sp, #16]
+ 4883 000a 0593 str r3, [sp, #20]
+ 4884 000c 0CAB add r3, sp, #48
+ 4885 .LVL404:
+ 4886 000e 80CB ldmia r3!, {r7}
+ 4887 .LVL405:
+ 4888 0010 1D88 ldrh r5, [r3]
+2647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4889 .loc 1 2647 0
+ 4890 0012 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 213
+
+
+ 4891 .LVL406:
+ 4892 0014 C35C ldrb r3, [r0, r3]
+ 4893 0016 202B cmp r3, #32
+ 4894 0018 50D1 bne .L344
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4895 .loc 1 2649 0
+ 4896 001a 002F cmp r7, #0
+ 4897 001c 33D0 beq .L339
+2649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4898 .loc 1 2649 0 is_stmt 0 discriminator 1
+ 4899 001e 002D cmp r5, #0
+ 4900 0020 31D0 beq .L339
+2655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4901 .loc 1 2655 0 is_stmt 1
+ 4902 0022 0368 ldr r3, [r0]
+ 4903 0024 9B69 ldr r3, [r3, #24]
+ 4904 0026 1B04 lsls r3, r3, #16
+ 4905 0028 4CD4 bmi .L345
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4906 .loc 1 2661 0
+ 4907 002a 4023 movs r3, #64
+ 4908 002c C35C ldrb r3, [r0, r3]
+ 4909 002e 012B cmp r3, #1
+ 4910 0030 4AD0 beq .L346
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4911 .loc 1 2661 0 is_stmt 0 discriminator 2
+ 4912 0032 4024 movs r4, #64
+ 4913 0034 0123 movs r3, #1
+ 4914 0036 0355 strb r3, [r0, r4]
+2664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4915 .loc 1 2664 0 is_stmt 1 discriminator 2
+ 4916 0038 FFF7FEFF bl HAL_GetTick
+ 4917 .LVL407:
+2666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 4918 .loc 1 2666 0 discriminator 2
+ 4919 003c 4123 movs r3, #65
+ 4920 003e 2222 movs r2, #34
+ 4921 0040 F254 strb r2, [r6, r3]
+2667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 4922 .loc 1 2667 0 discriminator 2
+ 4923 0042 0133 adds r3, r3, #1
+ 4924 0044 F454 strb r4, [r6, r3]
+2668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4925 .loc 1 2668 0 discriminator 2
+ 4926 0046 0023 movs r3, #0
+ 4927 0048 7364 str r3, [r6, #68]
+2671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 4928 .loc 1 2671 0 discriminator 2
+ 4929 004a 7762 str r7, [r6, #36]
+2672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 4930 .loc 1 2672 0 discriminator 2
+ 4931 004c 7585 strh r5, [r6, #42]
+2673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 4932 .loc 1 2673 0 discriminator 2
+ 4933 004e 1F4B ldr r3, .L347
+ 4934 0050 F362 str r3, [r6, #44]
+2674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 214
+
+
+ 4935 .loc 1 2674 0 discriminator 2
+ 4936 0052 1F4B ldr r3, .L347+4
+ 4937 0054 7363 str r3, [r6, #52]
+2676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4938 .loc 1 2676 0 discriminator 2
+ 4939 0056 738D ldrh r3, [r6, #42]
+ 4940 0058 9BB2 uxth r3, r3
+ 4941 005a FF2B cmp r3, #255
+ 4942 005c 18D9 bls .L341
+2678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 4943 .loc 1 2678 0
+ 4944 005e FF23 movs r3, #255
+ 4945 0060 3385 strh r3, [r6, #40]
+ 4946 .LVL408:
+2679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4947 .loc 1 2679 0
+ 4948 0062 8027 movs r7, #128
+ 4949 0064 7F04 lsls r7, r7, #17
+ 4950 .LVL409:
+ 4951 .L342:
+2688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 4952 .loc 1 2688 0
+ 4953 0066 0190 str r0, [sp, #4]
+ 4954 0068 1923 movs r3, #25
+ 4955 006a 0093 str r3, [sp]
+ 4956 006c 059B ldr r3, [sp, #20]
+ 4957 006e 049A ldr r2, [sp, #16]
+ 4958 0070 0399 ldr r1, [sp, #12]
+ 4959 0072 3000 movs r0, r6
+ 4960 .LVL410:
+ 4961 0074 FFF7FEFF bl I2C_RequestMemoryRead
+ 4962 .LVL411:
+ 4963 0078 051E subs r5, r0, #0
+ 4964 007a 0ED0 beq .L343
+2691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4965 .loc 1 2691 0
+ 4966 007c 4023 movs r3, #64
+ 4967 007e 0022 movs r2, #0
+ 4968 0080 F254 strb r2, [r6, r3]
+2692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4969 .loc 1 2692 0
+ 4970 0082 0125 movs r5, #1
+ 4971 0084 1BE0 b .L338
+ 4972 .LVL412:
+ 4973 .L339:
+2651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 4974 .loc 1 2651 0
+ 4975 0086 8023 movs r3, #128
+ 4976 0088 9B00 lsls r3, r3, #2
+ 4977 008a 7364 str r3, [r6, #68]
+2652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4978 .loc 1 2652 0
+ 4979 008c 0125 movs r5, #1
+ 4980 008e 16E0 b .L338
+ 4981 .LVL413:
+ 4982 .L341:
+2683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 215
+
+
+ 4983 .loc 1 2683 0
+ 4984 0090 738D ldrh r3, [r6, #42]
+ 4985 0092 3385 strh r3, [r6, #40]
+ 4986 .LVL414:
+2684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 4987 .loc 1 2684 0
+ 4988 0094 8027 movs r7, #128
+ 4989 0096 BF04 lsls r7, r7, #18
+ 4990 0098 E5E7 b .L342
+ 4991 .LVL415:
+ 4992 .L343:
+2696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 4993 .loc 1 2696 0
+ 4994 009a 328D ldrh r2, [r6, #40]
+ 4995 009c D2B2 uxtb r2, r2
+ 4996 009e 0D4B ldr r3, .L347+8
+ 4997 00a0 0093 str r3, [sp]
+ 4998 00a2 3B00 movs r3, r7
+ 4999 00a4 0399 ldr r1, [sp, #12]
+ 5000 00a6 3000 movs r0, r6
+ 5001 00a8 FFF7FEFF bl I2C_TransferConfig
+ 5002 .LVL416:
+2699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5003 .loc 1 2699 0
+ 5004 00ac 4023 movs r3, #64
+ 5005 00ae 0022 movs r2, #0
+ 5006 00b0 F254 strb r2, [r6, r3]
+2708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5007 .loc 1 2708 0
+ 5008 00b2 0221 movs r1, #2
+ 5009 00b4 3000 movs r0, r6
+ 5010 00b6 FFF7FEFF bl I2C_Enable_IRQ
+ 5011 .LVL417:
+2710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5012 .loc 1 2710 0
+ 5013 00ba 00E0 b .L338
+ 5014 .LVL418:
+ 5015 .L344:
+2714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5016 .loc 1 2714 0
+ 5017 00bc 0225 movs r5, #2
+ 5018 .LVL419:
+ 5019 .L338:
+2716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /**
+ 5020 .loc 1 2716 0
+ 5021 00be 2800 movs r0, r5
+ 5022 00c0 07B0 add sp, sp, #28
+ 5023 @ sp needed
+ 5024 .LVL420:
+ 5025 00c2 F0BD pop {r4, r5, r6, r7, pc}
+ 5026 .LVL421:
+ 5027 .L345:
+2657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5028 .loc 1 2657 0
+ 5029 00c4 0225 movs r5, #2
+ 5030 00c6 FAE7 b .L338
+ 5031 .L346:
+ ARM GAS /tmp/ccskJbbb.s page 216
+
+
+2661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5032 .loc 1 2661 0
+ 5033 00c8 0225 movs r5, #2
+ 5034 00ca F8E7 b .L338
+ 5035 .L348:
+ 5036 .align 2
+ 5037 .L347:
+ 5038 00cc 0000FFFF .word -65536
+ 5039 00d0 00000000 .word I2C_Master_ISR_IT
+ 5040 00d4 00240080 .word -2147474432
+ 5041 .cfi_endproc
+ 5042 .LFE59:
+ 5044 .section .text.HAL_I2C_Mem_Write_DMA,"ax",%progbits
+ 5045 .align 1
+ 5046 .global HAL_I2C_Mem_Write_DMA
+ 5047 .syntax unified
+ 5048 .code 16
+ 5049 .thumb_func
+ 5050 .fpu softvfp
+ 5052 HAL_I2C_Mem_Write_DMA:
+ 5053 .LFB60:
+2730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5054 .loc 1 2730 0
+ 5055 .cfi_startproc
+ 5056 @ args = 8, pretend = 0, frame = 16
+ 5057 @ frame_needed = 0, uses_anonymous_args = 0
+ 5058 .LVL422:
+ 5059 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5060 .LCFI41:
+ 5061 .cfi_def_cfa_offset 20
+ 5062 .cfi_offset 4, -20
+ 5063 .cfi_offset 5, -16
+ 5064 .cfi_offset 6, -12
+ 5065 .cfi_offset 7, -8
+ 5066 .cfi_offset 14, -4
+ 5067 0002 CE46 mov lr, r9
+ 5068 0004 00B5 push {lr}
+ 5069 .LCFI42:
+ 5070 .cfi_def_cfa_offset 24
+ 5071 .cfi_offset 9, -24
+ 5072 0006 86B0 sub sp, sp, #24
+ 5073 .LCFI43:
+ 5074 .cfi_def_cfa_offset 48
+ 5075 0008 0400 movs r4, r0
+ 5076 000a 0391 str r1, [sp, #12]
+ 5077 000c 0492 str r2, [sp, #16]
+ 5078 000e 0593 str r3, [sp, #20]
+ 5079 0010 0CAB add r3, sp, #48
+ 5080 .LVL423:
+ 5081 0012 40CB ldmia r3!, {r6}
+ 5082 .LVL424:
+ 5083 0014 1F88 ldrh r7, [r3]
+2738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5084 .loc 1 2738 0
+ 5085 0016 4123 movs r3, #65
+ 5086 .LVL425:
+ 5087 0018 C35C ldrb r3, [r0, r3]
+ ARM GAS /tmp/ccskJbbb.s page 217
+
+
+ 5088 001a 202B cmp r3, #32
+ 5089 001c 00D0 beq .LCB5149
+ 5090 001e 90E0 b .L359 @long jump
+ 5091 .LCB5149:
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5092 .loc 1 2740 0
+ 5093 0020 002E cmp r6, #0
+ 5094 0022 55D0 beq .L351
+2740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5095 .loc 1 2740 0 is_stmt 0 discriminator 1
+ 5096 0024 002F cmp r7, #0
+ 5097 0026 53D0 beq .L351
+2746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5098 .loc 1 2746 0 is_stmt 1
+ 5099 0028 0368 ldr r3, [r0]
+ 5100 002a 9B69 ldr r3, [r3, #24]
+ 5101 002c 1B04 lsls r3, r3, #16
+ 5102 002e 00D5 bpl .LCB5159
+ 5103 0030 8DE0 b .L360 @long jump
+ 5104 .LCB5159:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5105 .loc 1 2752 0
+ 5106 0032 4023 movs r3, #64
+ 5107 0034 C35C ldrb r3, [r0, r3]
+ 5108 0036 012B cmp r3, #1
+ 5109 0038 00D1 bne .LCB5163
+ 5110 003a 8AE0 b .L361 @long jump
+ 5111 .LCB5163:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5112 .loc 1 2752 0 is_stmt 0 discriminator 2
+ 5113 003c 4025 movs r5, #64
+ 5114 003e 0123 movs r3, #1
+ 5115 0040 4355 strb r3, [r0, r5]
+2755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5116 .loc 1 2755 0 is_stmt 1 discriminator 2
+ 5117 0042 FFF7FEFF bl HAL_GetTick
+ 5118 .LVL426:
+2757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 5119 .loc 1 2757 0 discriminator 2
+ 5120 0046 4123 movs r3, #65
+ 5121 0048 2122 movs r2, #33
+ 5122 004a E254 strb r2, [r4, r3]
+2758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5123 .loc 1 2758 0 discriminator 2
+ 5124 004c 0133 adds r3, r3, #1
+ 5125 004e E554 strb r5, [r4, r3]
+2759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5126 .loc 1 2759 0 discriminator 2
+ 5127 0050 0023 movs r3, #0
+ 5128 0052 6364 str r3, [r4, #68]
+2762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5129 .loc 1 2762 0 discriminator 2
+ 5130 0054 6662 str r6, [r4, #36]
+2763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 5131 .loc 1 2763 0 discriminator 2
+ 5132 0056 6785 strh r7, [r4, #42]
+2764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ ARM GAS /tmp/ccskJbbb.s page 218
+
+
+ 5133 .loc 1 2764 0 discriminator 2
+ 5134 0058 3F4B ldr r3, .L365
+ 5135 005a E362 str r3, [r4, #44]
+2765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5136 .loc 1 2765 0 discriminator 2
+ 5137 005c 3F4B ldr r3, .L365+4
+ 5138 005e 6363 str r3, [r4, #52]
+2767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5139 .loc 1 2767 0 discriminator 2
+ 5140 0060 638D ldrh r3, [r4, #42]
+ 5141 0062 9BB2 uxth r3, r3
+ 5142 0064 FF2B cmp r3, #255
+ 5143 0066 38D9 bls .L353
+2769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 5144 .loc 1 2769 0
+ 5145 0068 FF23 movs r3, #255
+ 5146 006a 2385 strh r3, [r4, #40]
+ 5147 .LVL427:
+2770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5148 .loc 1 2770 0
+ 5149 006c 8023 movs r3, #128
+ 5150 006e 5B04 lsls r3, r3, #17
+ 5151 0070 9946 mov r9, r3
+ 5152 .LVL428:
+ 5153 .L354:
+2779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5154 .loc 1 2779 0
+ 5155 0072 0190 str r0, [sp, #4]
+ 5156 0074 1923 movs r3, #25
+ 5157 0076 0093 str r3, [sp]
+ 5158 0078 059B ldr r3, [sp, #20]
+ 5159 007a 049A ldr r2, [sp, #16]
+ 5160 007c 0399 ldr r1, [sp, #12]
+ 5161 007e 2000 movs r0, r4
+ 5162 .LVL429:
+ 5163 0080 FFF7FEFF bl I2C_RequestMemoryWrite
+ 5164 .LVL430:
+ 5165 0084 0028 cmp r0, #0
+ 5166 0086 2ED1 bne .L363
+2787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5167 .loc 1 2787 0
+ 5168 0088 A36B ldr r3, [r4, #56]
+ 5169 008a 002B cmp r3, #0
+ 5170 008c 30D0 beq .L356
+2790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5171 .loc 1 2790 0
+ 5172 008e 344A ldr r2, .L365+8
+ 5173 0090 9A62 str r2, [r3, #40]
+2793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5174 .loc 1 2793 0
+ 5175 0092 A36B ldr r3, [r4, #56]
+ 5176 0094 334A ldr r2, .L365+12
+ 5177 0096 1A63 str r2, [r3, #48]
+2796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 5178 .loc 1 2796 0
+ 5179 0098 A26B ldr r2, [r4, #56]
+ 5180 009a 0023 movs r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 219
+
+
+ 5181 009c D362 str r3, [r2, #44]
+2797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5182 .loc 1 2797 0
+ 5183 009e A26B ldr r2, [r4, #56]
+ 5184 00a0 5363 str r3, [r2, #52]
+2800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5185 .loc 1 2800 0
+ 5186 00a2 2268 ldr r2, [r4]
+ 5187 00a4 2832 adds r2, r2, #40
+ 5188 00a6 238D ldrh r3, [r4, #40]
+ 5189 00a8 3100 movs r1, r6
+ 5190 00aa A06B ldr r0, [r4, #56]
+ 5191 00ac FFF7FEFF bl HAL_DMA_Start_IT
+ 5192 .LVL431:
+ 5193 00b0 061E subs r6, r0, #0
+ 5194 .LVL432:
+2817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5195 .loc 1 2817 0
+ 5196 00b2 2BD0 beq .L364
+2841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5197 .loc 1 2841 0
+ 5198 00b4 4123 movs r3, #65
+ 5199 00b6 2022 movs r2, #32
+ 5200 00b8 E254 strb r2, [r4, r3]
+2842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5201 .loc 1 2842 0
+ 5202 00ba 0022 movs r2, #0
+ 5203 00bc 0133 adds r3, r3, #1
+ 5204 00be E254 strb r2, [r4, r3]
+2845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5205 .loc 1 2845 0
+ 5206 00c0 636C ldr r3, [r4, #68]
+ 5207 00c2 1021 movs r1, #16
+ 5208 00c4 0B43 orrs r3, r1
+ 5209 00c6 6364 str r3, [r4, #68]
+2848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5210 .loc 1 2848 0
+ 5211 00c8 4023 movs r3, #64
+ 5212 00ca E254 strb r2, [r4, r3]
+2850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5213 .loc 1 2850 0
+ 5214 00cc 0126 movs r6, #1
+ 5215 00ce 39E0 b .L350
+ 5216 .LVL433:
+ 5217 .L351:
+2742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5218 .loc 1 2742 0
+ 5219 00d0 8023 movs r3, #128
+ 5220 00d2 9B00 lsls r3, r3, #2
+ 5221 00d4 6364 str r3, [r4, #68]
+2743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5222 .loc 1 2743 0
+ 5223 00d6 0126 movs r6, #1
+ 5224 00d8 34E0 b .L350
+ 5225 .LVL434:
+ 5226 .L353:
+2774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 220
+
+
+ 5227 .loc 1 2774 0
+ 5228 00da 638D ldrh r3, [r4, #42]
+ 5229 00dc 2385 strh r3, [r4, #40]
+ 5230 .LVL435:
+2775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5231 .loc 1 2775 0
+ 5232 00de 8023 movs r3, #128
+ 5233 00e0 9B04 lsls r3, r3, #18
+ 5234 00e2 9946 mov r9, r3
+ 5235 00e4 C5E7 b .L354
+ 5236 .LVL436:
+ 5237 .L363:
+2782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5238 .loc 1 2782 0
+ 5239 00e6 4023 movs r3, #64
+ 5240 00e8 0022 movs r2, #0
+ 5241 00ea E254 strb r2, [r4, r3]
+2783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5242 .loc 1 2783 0
+ 5243 00ec 0126 movs r6, #1
+ 5244 00ee 29E0 b .L350
+ 5245 .L356:
+2805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5246 .loc 1 2805 0
+ 5247 00f0 4123 movs r3, #65
+ 5248 00f2 2022 movs r2, #32
+ 5249 00f4 E254 strb r2, [r4, r3]
+2806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5250 .loc 1 2806 0
+ 5251 00f6 0022 movs r2, #0
+ 5252 00f8 0133 adds r3, r3, #1
+ 5253 00fa E254 strb r2, [r4, r3]
+2809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5254 .loc 1 2809 0
+ 5255 00fc 636C ldr r3, [r4, #68]
+ 5256 00fe 8021 movs r1, #128
+ 5257 0100 0B43 orrs r3, r1
+ 5258 0102 6364 str r3, [r4, #68]
+2812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5259 .loc 1 2812 0
+ 5260 0104 4023 movs r3, #64
+ 5261 0106 E254 strb r2, [r4, r3]
+2814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5262 .loc 1 2814 0
+ 5263 0108 0126 movs r6, #1
+ 5264 010a 1BE0 b .L350
+ 5265 .LVL437:
+ 5266 .L364:
+2821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5267 .loc 1 2821 0
+ 5268 010c 228D ldrh r2, [r4, #40]
+ 5269 010e D2B2 uxtb r2, r2
+ 5270 0110 0027 movs r7, #0
+ 5271 0112 0097 str r7, [sp]
+ 5272 0114 4B46 mov r3, r9
+ 5273 0116 0399 ldr r1, [sp, #12]
+ 5274 0118 2000 movs r0, r4
+ ARM GAS /tmp/ccskJbbb.s page 221
+
+
+ 5275 .LVL438:
+ 5276 011a FFF7FEFF bl I2C_TransferConfig
+ 5277 .LVL439:
+2824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5278 .loc 1 2824 0
+ 5279 011e 638D ldrh r3, [r4, #42]
+ 5280 0120 228D ldrh r2, [r4, #40]
+ 5281 0122 9B1A subs r3, r3, r2
+ 5282 0124 9BB2 uxth r3, r3
+ 5283 0126 6385 strh r3, [r4, #42]
+2827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5284 .loc 1 2827 0
+ 5285 0128 4023 movs r3, #64
+ 5286 012a E754 strb r7, [r4, r3]
+2833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5287 .loc 1 2833 0
+ 5288 012c 1121 movs r1, #17
+ 5289 012e 2000 movs r0, r4
+ 5290 0130 FFF7FEFF bl I2C_Enable_IRQ
+ 5291 .LVL440:
+2836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5292 .loc 1 2836 0
+ 5293 0134 2268 ldr r2, [r4]
+ 5294 0136 1168 ldr r1, [r2]
+ 5295 0138 8023 movs r3, #128
+ 5296 013a DB01 lsls r3, r3, #7
+ 5297 013c 0B43 orrs r3, r1
+ 5298 013e 1360 str r3, [r2]
+2853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5299 .loc 1 2853 0
+ 5300 0140 00E0 b .L350
+ 5301 .LVL441:
+ 5302 .L359:
+2857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5303 .loc 1 2857 0
+ 5304 0142 0226 movs r6, #2
+ 5305 .LVL442:
+ 5306 .L350:
+2859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5307 .loc 1 2859 0
+ 5308 0144 3000 movs r0, r6
+ 5309 0146 06B0 add sp, sp, #24
+ 5310 @ sp needed
+ 5311 .LVL443:
+ 5312 0148 04BC pop {r2}
+ 5313 014a 9146 mov r9, r2
+ 5314 014c F0BD pop {r4, r5, r6, r7, pc}
+ 5315 .LVL444:
+ 5316 .L360:
+2748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5317 .loc 1 2748 0
+ 5318 014e 0226 movs r6, #2
+ 5319 0150 F8E7 b .L350
+ 5320 .L361:
+2752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5321 .loc 1 2752 0
+ 5322 0152 0226 movs r6, #2
+ ARM GAS /tmp/ccskJbbb.s page 222
+
+
+ 5323 0154 F6E7 b .L350
+ 5324 .L366:
+ 5325 0156 C046 .align 2
+ 5326 .L365:
+ 5327 0158 0000FFFF .word -65536
+ 5328 015c 00000000 .word I2C_Master_ISR_DMA
+ 5329 0160 00000000 .word I2C_DMAMasterTransmitCplt
+ 5330 0164 00000000 .word I2C_DMAError
+ 5331 .cfi_endproc
+ 5332 .LFE60:
+ 5334 .section .text.HAL_I2C_Mem_Read_DMA,"ax",%progbits
+ 5335 .align 1
+ 5336 .global HAL_I2C_Mem_Read_DMA
+ 5337 .syntax unified
+ 5338 .code 16
+ 5339 .thumb_func
+ 5340 .fpu softvfp
+ 5342 HAL_I2C_Mem_Read_DMA:
+ 5343 .LFB61:
+2874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5344 .loc 1 2874 0
+ 5345 .cfi_startproc
+ 5346 @ args = 8, pretend = 0, frame = 16
+ 5347 @ frame_needed = 0, uses_anonymous_args = 0
+ 5348 .LVL445:
+ 5349 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5350 .LCFI44:
+ 5351 .cfi_def_cfa_offset 20
+ 5352 .cfi_offset 4, -20
+ 5353 .cfi_offset 5, -16
+ 5354 .cfi_offset 6, -12
+ 5355 .cfi_offset 7, -8
+ 5356 .cfi_offset 14, -4
+ 5357 0002 CE46 mov lr, r9
+ 5358 0004 00B5 push {lr}
+ 5359 .LCFI45:
+ 5360 .cfi_def_cfa_offset 24
+ 5361 .cfi_offset 9, -24
+ 5362 0006 86B0 sub sp, sp, #24
+ 5363 .LCFI46:
+ 5364 .cfi_def_cfa_offset 48
+ 5365 0008 0400 movs r4, r0
+ 5366 000a 0391 str r1, [sp, #12]
+ 5367 000c 0492 str r2, [sp, #16]
+ 5368 000e 0593 str r3, [sp, #20]
+ 5369 0010 0CAB add r3, sp, #48
+ 5370 .LVL446:
+ 5371 0012 40CB ldmia r3!, {r6}
+ 5372 .LVL447:
+ 5373 0014 1F88 ldrh r7, [r3]
+2882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5374 .loc 1 2882 0
+ 5375 0016 4123 movs r3, #65
+ 5376 .LVL448:
+ 5377 0018 C35C ldrb r3, [r0, r3]
+ 5378 001a 202B cmp r3, #32
+ 5379 001c 00D0 beq .LCB5451
+ ARM GAS /tmp/ccskJbbb.s page 223
+
+
+ 5380 001e 91E0 b .L377 @long jump
+ 5381 .LCB5451:
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5382 .loc 1 2884 0
+ 5383 0020 002E cmp r6, #0
+ 5384 0022 55D0 beq .L369
+2884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5385 .loc 1 2884 0 is_stmt 0 discriminator 1
+ 5386 0024 002F cmp r7, #0
+ 5387 0026 53D0 beq .L369
+2890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5388 .loc 1 2890 0 is_stmt 1
+ 5389 0028 0368 ldr r3, [r0]
+ 5390 002a 9B69 ldr r3, [r3, #24]
+ 5391 002c 1B04 lsls r3, r3, #16
+ 5392 002e 00D5 bpl .LCB5461
+ 5393 0030 8EE0 b .L378 @long jump
+ 5394 .LCB5461:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5395 .loc 1 2896 0
+ 5396 0032 4023 movs r3, #64
+ 5397 0034 C35C ldrb r3, [r0, r3]
+ 5398 0036 012B cmp r3, #1
+ 5399 0038 00D1 bne .LCB5465
+ 5400 003a 8BE0 b .L379 @long jump
+ 5401 .LCB5465:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5402 .loc 1 2896 0 is_stmt 0 discriminator 2
+ 5403 003c 4025 movs r5, #64
+ 5404 003e 0123 movs r3, #1
+ 5405 0040 4355 strb r3, [r0, r5]
+2899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5406 .loc 1 2899 0 is_stmt 1 discriminator 2
+ 5407 0042 FFF7FEFF bl HAL_GetTick
+ 5408 .LVL449:
+2901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MEM;
+ 5409 .loc 1 2901 0 discriminator 2
+ 5410 0046 4123 movs r3, #65
+ 5411 0048 2222 movs r2, #34
+ 5412 004a E254 strb r2, [r4, r3]
+2902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5413 .loc 1 2902 0 discriminator 2
+ 5414 004c 0133 adds r3, r3, #1
+ 5415 004e E554 strb r5, [r4, r3]
+2903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5416 .loc 1 2903 0 discriminator 2
+ 5417 0050 0023 movs r3, #0
+ 5418 0052 6364 str r3, [r4, #68]
+2906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5419 .loc 1 2906 0 discriminator 2
+ 5420 0054 6662 str r6, [r4, #36]
+2907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 5421 .loc 1 2907 0 discriminator 2
+ 5422 0056 6785 strh r7, [r4, #42]
+2908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 5423 .loc 1 2908 0 discriminator 2
+ 5424 0058 3F4B ldr r3, .L383
+ ARM GAS /tmp/ccskJbbb.s page 224
+
+
+ 5425 005a E362 str r3, [r4, #44]
+2909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5426 .loc 1 2909 0 discriminator 2
+ 5427 005c 3F4B ldr r3, .L383+4
+ 5428 005e 6363 str r3, [r4, #52]
+2911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5429 .loc 1 2911 0 discriminator 2
+ 5430 0060 638D ldrh r3, [r4, #42]
+ 5431 0062 9BB2 uxth r3, r3
+ 5432 0064 FF2B cmp r3, #255
+ 5433 0066 38D9 bls .L371
+2913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 5434 .loc 1 2913 0
+ 5435 0068 FF23 movs r3, #255
+ 5436 006a 2385 strh r3, [r4, #40]
+ 5437 .LVL450:
+2914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5438 .loc 1 2914 0
+ 5439 006c 8023 movs r3, #128
+ 5440 006e 5B04 lsls r3, r3, #17
+ 5441 0070 9946 mov r9, r3
+ 5442 .LVL451:
+ 5443 .L372:
+2923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5444 .loc 1 2923 0
+ 5445 0072 0190 str r0, [sp, #4]
+ 5446 0074 1923 movs r3, #25
+ 5447 0076 0093 str r3, [sp]
+ 5448 0078 059B ldr r3, [sp, #20]
+ 5449 007a 049A ldr r2, [sp, #16]
+ 5450 007c 0399 ldr r1, [sp, #12]
+ 5451 007e 2000 movs r0, r4
+ 5452 .LVL452:
+ 5453 0080 FFF7FEFF bl I2C_RequestMemoryRead
+ 5454 .LVL453:
+ 5455 0084 0028 cmp r0, #0
+ 5456 0086 2ED1 bne .L381
+2930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5457 .loc 1 2930 0
+ 5458 0088 E36B ldr r3, [r4, #60]
+ 5459 008a 002B cmp r3, #0
+ 5460 008c 30D0 beq .L374
+2933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5461 .loc 1 2933 0
+ 5462 008e 344A ldr r2, .L383+8
+ 5463 0090 9A62 str r2, [r3, #40]
+2936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5464 .loc 1 2936 0
+ 5465 0092 E36B ldr r3, [r4, #60]
+ 5466 0094 334A ldr r2, .L383+12
+ 5467 0096 1A63 str r2, [r3, #48]
+2939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 5468 .loc 1 2939 0
+ 5469 0098 E26B ldr r2, [r4, #60]
+ 5470 009a 0023 movs r3, #0
+ 5471 009c D362 str r3, [r2, #44]
+2940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 225
+
+
+ 5472 .loc 1 2940 0
+ 5473 009e E26B ldr r2, [r4, #60]
+ 5474 00a0 5363 str r3, [r2, #52]
+2943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5475 .loc 1 2943 0
+ 5476 00a2 2168 ldr r1, [r4]
+ 5477 00a4 2431 adds r1, r1, #36
+ 5478 00a6 238D ldrh r3, [r4, #40]
+ 5479 00a8 3200 movs r2, r6
+ 5480 00aa E06B ldr r0, [r4, #60]
+ 5481 00ac FFF7FEFF bl HAL_DMA_Start_IT
+ 5482 .LVL454:
+ 5483 00b0 061E subs r6, r0, #0
+ 5484 .LVL455:
+2960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5485 .loc 1 2960 0
+ 5486 00b2 2BD0 beq .L382
+2983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5487 .loc 1 2983 0
+ 5488 00b4 4123 movs r3, #65
+ 5489 00b6 2022 movs r2, #32
+ 5490 00b8 E254 strb r2, [r4, r3]
+2984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5491 .loc 1 2984 0
+ 5492 00ba 0022 movs r2, #0
+ 5493 00bc 0133 adds r3, r3, #1
+ 5494 00be E254 strb r2, [r4, r3]
+2987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5495 .loc 1 2987 0
+ 5496 00c0 636C ldr r3, [r4, #68]
+ 5497 00c2 1021 movs r1, #16
+ 5498 00c4 0B43 orrs r3, r1
+ 5499 00c6 6364 str r3, [r4, #68]
+2990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5500 .loc 1 2990 0
+ 5501 00c8 4023 movs r3, #64
+ 5502 00ca E254 strb r2, [r4, r3]
+2992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5503 .loc 1 2992 0
+ 5504 00cc 0126 movs r6, #1
+ 5505 00ce 3AE0 b .L368
+ 5506 .LVL456:
+ 5507 .L369:
+2886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5508 .loc 1 2886 0
+ 5509 00d0 8023 movs r3, #128
+ 5510 00d2 9B00 lsls r3, r3, #2
+ 5511 00d4 6364 str r3, [r4, #68]
+2887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5512 .loc 1 2887 0
+ 5513 00d6 0126 movs r6, #1
+ 5514 00d8 35E0 b .L368
+ 5515 .LVL457:
+ 5516 .L371:
+2918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_AUTOEND_MODE;
+ 5517 .loc 1 2918 0
+ 5518 00da 638D ldrh r3, [r4, #42]
+ ARM GAS /tmp/ccskJbbb.s page 226
+
+
+ 5519 00dc 2385 strh r3, [r4, #40]
+ 5520 .LVL458:
+2919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5521 .loc 1 2919 0
+ 5522 00de 8023 movs r3, #128
+ 5523 00e0 9B04 lsls r3, r3, #18
+ 5524 00e2 9946 mov r9, r3
+ 5525 00e4 C5E7 b .L372
+ 5526 .LVL459:
+ 5527 .L381:
+2926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 5528 .loc 1 2926 0
+ 5529 00e6 4023 movs r3, #64
+ 5530 00e8 0022 movs r2, #0
+ 5531 00ea E254 strb r2, [r4, r3]
+2927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5532 .loc 1 2927 0
+ 5533 00ec 0126 movs r6, #1
+ 5534 00ee 2AE0 b .L368
+ 5535 .L374:
+2948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 5536 .loc 1 2948 0
+ 5537 00f0 4123 movs r3, #65
+ 5538 00f2 2022 movs r2, #32
+ 5539 00f4 E254 strb r2, [r4, r3]
+2949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5540 .loc 1 2949 0
+ 5541 00f6 0022 movs r2, #0
+ 5542 00f8 0133 adds r3, r3, #1
+ 5543 00fa E254 strb r2, [r4, r3]
+2952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5544 .loc 1 2952 0
+ 5545 00fc 636C ldr r3, [r4, #68]
+ 5546 00fe 8021 movs r1, #128
+ 5547 0100 0B43 orrs r3, r1
+ 5548 0102 6364 str r3, [r4, #68]
+2955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5549 .loc 1 2955 0
+ 5550 0104 4023 movs r3, #64
+ 5551 0106 E254 strb r2, [r4, r3]
+2957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5552 .loc 1 2957 0
+ 5553 0108 0126 movs r6, #1
+ 5554 010a 1CE0 b .L368
+ 5555 .LVL460:
+ 5556 .L382:
+2963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5557 .loc 1 2963 0
+ 5558 010c 228D ldrh r2, [r4, #40]
+ 5559 010e D2B2 uxtb r2, r2
+ 5560 0110 154B ldr r3, .L383+16
+ 5561 0112 0093 str r3, [sp]
+ 5562 0114 4B46 mov r3, r9
+ 5563 0116 0399 ldr r1, [sp, #12]
+ 5564 0118 2000 movs r0, r4
+ 5565 .LVL461:
+ 5566 011a FFF7FEFF bl I2C_TransferConfig
+ ARM GAS /tmp/ccskJbbb.s page 227
+
+
+ 5567 .LVL462:
+2966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5568 .loc 1 2966 0
+ 5569 011e 638D ldrh r3, [r4, #42]
+ 5570 0120 228D ldrh r2, [r4, #40]
+ 5571 0122 9B1A subs r3, r3, r2
+ 5572 0124 9BB2 uxth r3, r3
+ 5573 0126 6385 strh r3, [r4, #42]
+2969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5574 .loc 1 2969 0
+ 5575 0128 4023 movs r3, #64
+ 5576 012a 0022 movs r2, #0
+ 5577 012c E254 strb r2, [r4, r3]
+2975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5578 .loc 1 2975 0
+ 5579 012e 1121 movs r1, #17
+ 5580 0130 2000 movs r0, r4
+ 5581 0132 FFF7FEFF bl I2C_Enable_IRQ
+ 5582 .LVL463:
+2978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5583 .loc 1 2978 0
+ 5584 0136 2268 ldr r2, [r4]
+ 5585 0138 1168 ldr r1, [r2]
+ 5586 013a 8023 movs r3, #128
+ 5587 013c 1B02 lsls r3, r3, #8
+ 5588 013e 0B43 orrs r3, r1
+ 5589 0140 1360 str r3, [r2]
+2995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5590 .loc 1 2995 0
+ 5591 0142 00E0 b .L368
+ 5592 .LVL464:
+ 5593 .L377:
+2999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5594 .loc 1 2999 0
+ 5595 0144 0226 movs r6, #2
+ 5596 .LVL465:
+ 5597 .L368:
+3001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5598 .loc 1 3001 0
+ 5599 0146 3000 movs r0, r6
+ 5600 0148 06B0 add sp, sp, #24
+ 5601 @ sp needed
+ 5602 .LVL466:
+ 5603 014a 04BC pop {r2}
+ 5604 014c 9146 mov r9, r2
+ 5605 014e F0BD pop {r4, r5, r6, r7, pc}
+ 5606 .LVL467:
+ 5607 .L378:
+2892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5608 .loc 1 2892 0
+ 5609 0150 0226 movs r6, #2
+ 5610 0152 F8E7 b .L368
+ 5611 .L379:
+2896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5612 .loc 1 2896 0
+ 5613 0154 0226 movs r6, #2
+ 5614 0156 F6E7 b .L368
+ ARM GAS /tmp/ccskJbbb.s page 228
+
+
+ 5615 .L384:
+ 5616 .align 2
+ 5617 .L383:
+ 5618 0158 0000FFFF .word -65536
+ 5619 015c 00000000 .word I2C_Master_ISR_DMA
+ 5620 0160 00000000 .word I2C_DMAMasterReceiveCplt
+ 5621 0164 00000000 .word I2C_DMAError
+ 5622 0168 00240080 .word -2147474432
+ 5623 .cfi_endproc
+ 5624 .LFE61:
+ 5626 .section .text.HAL_I2C_IsDeviceReady,"ax",%progbits
+ 5627 .align 1
+ 5628 .global HAL_I2C_IsDeviceReady
+ 5629 .syntax unified
+ 5630 .code 16
+ 5631 .thumb_func
+ 5632 .fpu softvfp
+ 5634 HAL_I2C_IsDeviceReady:
+ 5635 .LFB62:
+3015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tickstart;
+ 5636 .loc 1 3015 0
+ 5637 .cfi_startproc
+ 5638 @ args = 0, pretend = 0, frame = 16
+ 5639 @ frame_needed = 0, uses_anonymous_args = 0
+ 5640 .LVL468:
+ 5641 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 5642 .LCFI47:
+ 5643 .cfi_def_cfa_offset 20
+ 5644 .cfi_offset 4, -20
+ 5645 .cfi_offset 5, -16
+ 5646 .cfi_offset 6, -12
+ 5647 .cfi_offset 7, -8
+ 5648 .cfi_offset 14, -4
+ 5649 0002 87B0 sub sp, sp, #28
+ 5650 .LCFI48:
+ 5651 .cfi_def_cfa_offset 48
+ 5652 0004 0600 movs r6, r0
+ 5653 0006 0391 str r1, [sp, #12]
+ 5654 0008 1500 movs r5, r2
+ 5655 000a 1F00 movs r7, r3
+3018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5656 .loc 1 3018 0
+ 5657 000c 0023 movs r3, #0
+ 5658 .LVL469:
+ 5659 000e 0593 str r3, [sp, #20]
+3023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5660 .loc 1 3023 0
+ 5661 0010 4133 adds r3, r3, #65
+ 5662 0012 C35C ldrb r3, [r0, r3]
+ 5663 0014 202B cmp r3, #32
+ 5664 0016 00D0 beq .LCB5741
+ 5665 0018 A2E0 b .L396 @long jump
+ 5666 .LCB5741:
+3025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5667 .loc 1 3025 0
+ 5668 001a 0368 ldr r3, [r0]
+ 5669 001c 9B69 ldr r3, [r3, #24]
+ ARM GAS /tmp/ccskJbbb.s page 229
+
+
+ 5670 001e 1B04 lsls r3, r3, #16
+ 5671 0020 00D5 bpl .LCB5747
+ 5672 0022 A0E0 b .L397 @long jump
+ 5673 .LCB5747:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5674 .loc 1 3031 0
+ 5675 0024 4023 movs r3, #64
+ 5676 0026 C35C ldrb r3, [r0, r3]
+ 5677 0028 012B cmp r3, #1
+ 5678 002a 00D1 bne .LCB5751
+ 5679 002c 9DE0 b .L398 @long jump
+ 5680 .LCB5751:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5681 .loc 1 3031 0 is_stmt 0 discriminator 2
+ 5682 002e 4023 movs r3, #64
+ 5683 0030 0122 movs r2, #1
+ 5684 .LVL470:
+ 5685 0032 C254 strb r2, [r0, r3]
+3033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5686 .loc 1 3033 0 is_stmt 1 discriminator 2
+ 5687 0034 0133 adds r3, r3, #1
+ 5688 0036 2332 adds r2, r2, #35
+ 5689 0038 C254 strb r2, [r0, r3]
+3034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5690 .loc 1 3034 0 discriminator 2
+ 5691 003a 0023 movs r3, #0
+ 5692 003c 4364 str r3, [r0, #68]
+ 5693 .LVL471:
+ 5694 .L395:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5695 .loc 1 3039 0
+ 5696 003e F368 ldr r3, [r6, #12]
+ 5697 0040 012B cmp r3, #1
+ 5698 0042 18D0 beq .L402
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5699 .loc 1 3039 0 is_stmt 0 discriminator 2
+ 5700 0044 039B ldr r3, [sp, #12]
+ 5701 0046 9A05 lsls r2, r3, #22
+ 5702 0048 920D lsrs r2, r2, #22
+ 5703 004a A023 movs r3, #160
+ 5704 004c 9B01 lsls r3, r3, #6
+ 5705 004e 1343 orrs r3, r2
+ 5706 .L388:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5707 .loc 1 3039 0 discriminator 4
+ 5708 0050 3268 ldr r2, [r6]
+ 5709 0052 5360 str r3, [r2, #4]
+3043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5710 .loc 1 3043 0 is_stmt 1 discriminator 4
+ 5711 0054 FFF7FEFF bl HAL_GetTick
+ 5712 .LVL472:
+ 5713 0058 0400 movs r4, r0
+ 5714 .LVL473:
+3045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+ 5715 .loc 1 3045 0 discriminator 4
+ 5716 005a 3268 ldr r2, [r6]
+ 5717 005c 9169 ldr r1, [r2, #24]
+ ARM GAS /tmp/ccskJbbb.s page 230
+
+
+ 5718 005e 2023 movs r3, #32
+ 5719 0060 0B40 ands r3, r1
+ 5720 0062 591E subs r1, r3, #1
+ 5721 0064 8B41 sbcs r3, r3, r1
+ 5722 0066 D9B2 uxtb r1, r3
+ 5723 .LVL474:
+3046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5724 .loc 1 3046 0 discriminator 4
+ 5725 0068 9369 ldr r3, [r2, #24]
+ 5726 006a 1022 movs r2, #16
+ 5727 006c 1A40 ands r2, r3
+ 5728 006e 531E subs r3, r2, #1
+ 5729 0070 9A41 sbcs r2, r2, r3
+ 5730 0072 D3B2 uxtb r3, r2
+ 5731 .LVL475:
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5732 .loc 1 3048 0 discriminator 4
+ 5733 0074 12E0 b .L389
+ 5734 .LVL476:
+ 5735 .L402:
+3039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5736 .loc 1 3039 0 discriminator 1
+ 5737 0076 039B ldr r3, [sp, #12]
+ 5738 0078 9A05 lsls r2, r3, #22
+ 5739 007a 920D lsrs r2, r2, #22
+ 5740 007c 3F4B ldr r3, .L406
+ 5741 007e 1343 orrs r3, r2
+ 5742 0080 E6E7 b .L388
+ 5743 .LVL477:
+ 5744 .L390:
+3067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** tmp2 = __HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_AF);
+ 5745 .loc 1 3067 0
+ 5746 0082 3268 ldr r2, [r6]
+ 5747 0084 9169 ldr r1, [r2, #24]
+ 5748 0086 2023 movs r3, #32
+ 5749 0088 0B40 ands r3, r1
+ 5750 008a 591E subs r1, r3, #1
+ 5751 008c 8B41 sbcs r3, r3, r1
+ 5752 008e D9B2 uxtb r1, r3
+ 5753 .LVL478:
+3068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5754 .loc 1 3068 0
+ 5755 0090 9269 ldr r2, [r2, #24]
+ 5756 0092 1023 movs r3, #16
+ 5757 0094 1340 ands r3, r2
+ 5758 0096 5A1E subs r2, r3, #1
+ 5759 0098 9341 sbcs r3, r3, r2
+ 5760 009a DBB2 uxtb r3, r3
+ 5761 .LVL479:
+ 5762 .L389:
+3048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5763 .loc 1 3048 0
+ 5764 009c 0B43 orrs r3, r1
+ 5765 .LVL480:
+ 5766 009e 13D1 bne .L403
+3050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5767 .loc 1 3050 0
+ ARM GAS /tmp/ccskJbbb.s page 231
+
+
+ 5768 00a0 7B1C adds r3, r7, #1
+ 5769 00a2 EED0 beq .L390
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5770 .loc 1 3052 0
+ 5771 00a4 FFF7FEFF bl HAL_GetTick
+ 5772 .LVL481:
+ 5773 00a8 001B subs r0, r0, r4
+ 5774 00aa B842 cmp r0, r7
+ 5775 00ac 01D8 bhi .L391
+3052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5776 .loc 1 3052 0 is_stmt 0 discriminator 1
+ 5777 00ae 002F cmp r7, #0
+ 5778 00b0 E7D1 bne .L390
+ 5779 .L391:
+3055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5780 .loc 1 3055 0 is_stmt 1
+ 5781 00b2 2022 movs r2, #32
+ 5782 00b4 4123 movs r3, #65
+ 5783 00b6 F254 strb r2, [r6, r3]
+3058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5784 .loc 1 3058 0
+ 5785 00b8 736C ldr r3, [r6, #68]
+ 5786 00ba 1343 orrs r3, r2
+ 5787 00bc 7364 str r3, [r6, #68]
+3061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5788 .loc 1 3061 0
+ 5789 00be 4023 movs r3, #64
+ 5790 00c0 0022 movs r2, #0
+ 5791 00c2 F254 strb r2, [r6, r3]
+3063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5792 .loc 1 3063 0
+ 5793 00c4 0120 movs r0, #1
+ 5794 00c6 4CE0 b .L386
+ 5795 .LVL482:
+ 5796 .L403:
+3072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5797 .loc 1 3072 0
+ 5798 00c8 3368 ldr r3, [r6]
+ 5799 00ca 9B69 ldr r3, [r3, #24]
+ 5800 00cc DB06 lsls r3, r3, #27
+ 5801 00ce 22D5 bpl .L404
+3094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5802 .loc 1 3094 0
+ 5803 00d0 0094 str r4, [sp]
+ 5804 00d2 3B00 movs r3, r7
+ 5805 00d4 0022 movs r2, #0
+ 5806 00d6 2021 movs r1, #32
+ 5807 .LVL483:
+ 5808 00d8 3000 movs r0, r6
+ 5809 00da FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5810 .LVL484:
+ 5811 00de 0028 cmp r0, #0
+ 5812 00e0 47D1 bne .L400
+3100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5813 .loc 1 3100 0
+ 5814 00e2 3368 ldr r3, [r6]
+ 5815 00e4 1022 movs r2, #16
+ ARM GAS /tmp/ccskJbbb.s page 232
+
+
+ 5816 00e6 DA61 str r2, [r3, #28]
+3103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5817 .loc 1 3103 0
+ 5818 00e8 3368 ldr r3, [r6]
+ 5819 00ea 1032 adds r2, r2, #16
+ 5820 00ec DA61 str r2, [r3, #28]
+3107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5821 .loc 1 3107 0
+ 5822 00ee 059B ldr r3, [sp, #20]
+ 5823 00f0 AB42 cmp r3, r5
+ 5824 00f2 22D0 beq .L405
+ 5825 .L394:
+3123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5826 .loc 1 3123 0
+ 5827 00f4 059B ldr r3, [sp, #20]
+ 5828 00f6 0133 adds r3, r3, #1
+ 5829 00f8 0593 str r3, [sp, #20]
+3125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5830 .loc 1 3125 0
+ 5831 00fa 059B ldr r3, [sp, #20]
+ 5832 00fc AB42 cmp r3, r5
+ 5833 00fe 9ED3 bcc .L395
+3128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5834 .loc 1 3128 0
+ 5835 0100 2022 movs r2, #32
+ 5836 0102 4123 movs r3, #65
+ 5837 0104 F254 strb r2, [r6, r3]
+3131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5838 .loc 1 3131 0
+ 5839 0106 736C ldr r3, [r6, #68]
+ 5840 0108 1343 orrs r3, r2
+ 5841 010a 7364 str r3, [r6, #68]
+3134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5842 .loc 1 3134 0
+ 5843 010c 4023 movs r3, #64
+ 5844 010e 0022 movs r2, #0
+ 5845 0110 F254 strb r2, [r6, r3]
+3136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5846 .loc 1 3136 0
+ 5847 0112 0120 movs r0, #1
+ 5848 0114 25E0 b .L386
+ 5849 .LVL485:
+ 5850 .L404:
+3075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5851 .loc 1 3075 0
+ 5852 0116 0094 str r4, [sp]
+ 5853 0118 3B00 movs r3, r7
+ 5854 011a 0022 movs r2, #0
+ 5855 011c 2021 movs r1, #32
+ 5856 .LVL486:
+ 5857 011e 3000 movs r0, r6
+ 5858 0120 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5859 .LVL487:
+ 5860 0124 0028 cmp r0, #0
+ 5861 0126 22D1 bne .L399
+3081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5862 .loc 1 3081 0
+ ARM GAS /tmp/ccskJbbb.s page 233
+
+
+ 5863 0128 3268 ldr r2, [r6]
+ 5864 012a 2023 movs r3, #32
+ 5865 012c D361 str r3, [r2, #28]
+3084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5866 .loc 1 3084 0
+ 5867 012e 4122 movs r2, #65
+ 5868 0130 B354 strb r3, [r6, r2]
+3087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5869 .loc 1 3087 0
+ 5870 0132 2033 adds r3, r3, #32
+ 5871 0134 0022 movs r2, #0
+ 5872 0136 F254 strb r2, [r6, r3]
+3089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5873 .loc 1 3089 0
+ 5874 0138 13E0 b .L386
+ 5875 .L405:
+3110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5876 .loc 1 3110 0
+ 5877 013a 3268 ldr r2, [r6]
+ 5878 013c 5168 ldr r1, [r2, #4]
+ 5879 013e 8023 movs r3, #128
+ 5880 0140 DB01 lsls r3, r3, #7
+ 5881 0142 0B43 orrs r3, r1
+ 5882 0144 5360 str r3, [r2, #4]
+3113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5883 .loc 1 3113 0
+ 5884 0146 0094 str r4, [sp]
+ 5885 0148 3B00 movs r3, r7
+ 5886 014a 0022 movs r2, #0
+ 5887 014c 2021 movs r1, #32
+ 5888 014e 3000 movs r0, r6
+ 5889 0150 FFF7FEFF bl I2C_WaitOnFlagUntilTimeout
+ 5890 .LVL488:
+ 5891 0154 0028 cmp r0, #0
+ 5892 0156 0ED1 bne .L401
+3119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5893 .loc 1 3119 0
+ 5894 0158 3368 ldr r3, [r6]
+ 5895 015a 2022 movs r2, #32
+ 5896 015c DA61 str r2, [r3, #28]
+ 5897 015e C9E7 b .L394
+ 5898 .LVL489:
+ 5899 .L396:
+3140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5900 .loc 1 3140 0
+ 5901 0160 0220 movs r0, #2
+ 5902 .LVL490:
+ 5903 .L386:
+3142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5904 .loc 1 3142 0
+ 5905 0162 07B0 add sp, sp, #28
+ 5906 @ sp needed
+ 5907 .LVL491:
+ 5908 .LVL492:
+ 5909 .LVL493:
+ 5910 0164 F0BD pop {r4, r5, r6, r7, pc}
+ 5911 .LVL494:
+ ARM GAS /tmp/ccskJbbb.s page 234
+
+
+ 5912 .L397:
+3027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5913 .loc 1 3027 0
+ 5914 0166 0220 movs r0, #2
+ 5915 .LVL495:
+ 5916 0168 FBE7 b .L386
+ 5917 .LVL496:
+ 5918 .L398:
+3031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5919 .loc 1 3031 0
+ 5920 016a 0220 movs r0, #2
+ 5921 .LVL497:
+ 5922 016c F9E7 b .L386
+ 5923 .LVL498:
+ 5924 .L399:
+3077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5925 .loc 1 3077 0
+ 5926 016e 0120 movs r0, #1
+ 5927 0170 F7E7 b .L386
+ 5928 .L400:
+3096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5929 .loc 1 3096 0
+ 5930 0172 0120 movs r0, #1
+ 5931 0174 F5E7 b .L386
+ 5932 .L401:
+3115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 5933 .loc 1 3115 0
+ 5934 0176 0120 movs r0, #1
+ 5935 0178 F3E7 b .L386
+ 5936 .L407:
+ 5937 017a C046 .align 2
+ 5938 .L406:
+ 5939 017c 00200002 .word 33562624
+ 5940 .cfi_endproc
+ 5941 .LFE62:
+ 5943 .section .text.HAL_I2C_Master_Seq_Transmit_IT,"ax",%progbits
+ 5944 .align 1
+ 5945 .global HAL_I2C_Master_Seq_Transmit_IT
+ 5946 .syntax unified
+ 5947 .code 16
+ 5948 .thumb_func
+ 5949 .fpu softvfp
+ 5951 HAL_I2C_Master_Seq_Transmit_IT:
+ 5952 .LFB63:
+3157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 5953 .loc 1 3157 0
+ 5954 .cfi_startproc
+ 5955 @ args = 4, pretend = 0, frame = 0
+ 5956 @ frame_needed = 0, uses_anonymous_args = 0
+ 5957 .LVL499:
+ 5958 0000 70B5 push {r4, r5, r6, lr}
+ 5959 .LCFI49:
+ 5960 .cfi_def_cfa_offset 16
+ 5961 .cfi_offset 4, -16
+ 5962 .cfi_offset 5, -12
+ 5963 .cfi_offset 6, -8
+ 5964 .cfi_offset 14, -4
+ ARM GAS /tmp/ccskJbbb.s page 235
+
+
+ 5965 0002 82B0 sub sp, sp, #8
+ 5966 .LCFI50:
+ 5967 .cfi_def_cfa_offset 24
+ 5968 0004 0400 movs r4, r0
+ 5969 0006 0D00 movs r5, r1
+ 5970 .LVL500:
+3164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 5971 .loc 1 3164 0
+ 5972 0008 4121 movs r1, #65
+ 5973 .LVL501:
+ 5974 000a 415C ldrb r1, [r0, r1]
+ 5975 000c 2029 cmp r1, #32
+ 5976 000e 49D1 bne .L414
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5977 .loc 1 3167 0
+ 5978 0010 2031 adds r1, r1, #32
+ 5979 0012 415C ldrb r1, [r0, r1]
+ 5980 0014 0129 cmp r1, #1
+ 5981 0016 48D0 beq .L415
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5982 .loc 1 3167 0 is_stmt 0 discriminator 2
+ 5983 0018 4021 movs r1, #64
+ 5984 001a 0120 movs r0, #1
+ 5985 .LVL502:
+ 5986 001c 6054 strb r0, [r4, r1]
+3169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 5987 .loc 1 3169 0 is_stmt 1 discriminator 2
+ 5988 001e 0131 adds r1, r1, #1
+ 5989 0020 2030 adds r0, r0, #32
+ 5990 0022 6054 strb r0, [r4, r1]
+3170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 5991 .loc 1 3170 0 discriminator 2
+ 5992 0024 0131 adds r1, r1, #1
+ 5993 0026 1138 subs r0, r0, #17
+ 5994 0028 6054 strb r0, [r4, r1]
+3171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 5995 .loc 1 3171 0 discriminator 2
+ 5996 002a 0021 movs r1, #0
+ 5997 002c 6164 str r1, [r4, #68]
+3174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 5998 .loc 1 3174 0 discriminator 2
+ 5999 002e 6262 str r2, [r4, #36]
+3175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6000 .loc 1 3175 0 discriminator 2
+ 6001 0030 6385 strh r3, [r4, #42]
+3176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 6002 .loc 1 3176 0 discriminator 2
+ 6003 0032 069B ldr r3, [sp, #24]
+ 6004 .LVL503:
+ 6005 0034 E362 str r3, [r4, #44]
+ 6006 .LVL504:
+3177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6007 .loc 1 3177 0 discriminator 2
+ 6008 0036 1E4B ldr r3, .L418
+ 6009 0038 6363 str r3, [r4, #52]
+3180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6010 .loc 1 3180 0 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 236
+
+
+ 6011 003a 638D ldrh r3, [r4, #42]
+ 6012 003c 9BB2 uxth r3, r3
+ 6013 003e FF2B cmp r3, #255
+ 6014 0040 10D9 bls .L410
+3182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6015 .loc 1 3182 0
+ 6016 0042 FF23 movs r3, #255
+ 6017 0044 2385 strh r3, [r4, #40]
+ 6018 .LVL505:
+3183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6019 .loc 1 3183 0
+ 6020 0046 8026 movs r6, #128
+ 6021 0048 7604 lsls r6, r6, #17
+ 6022 .LVL506:
+ 6023 .L411:
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6024 .loc 1 3193 0
+ 6025 004a 236B ldr r3, [r4, #48]
+ 6026 004c 112B cmp r3, #17
+ 6027 004e 0DD1 bne .L412
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6028 .loc 1 3193 0 is_stmt 0 discriminator 1
+ 6029 0050 069B ldr r3, [sp, #24]
+ 6030 0052 AA2B cmp r3, #170
+ 6031 0054 0AD0 beq .L412
+3193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6032 .loc 1 3193 0 discriminator 3
+ 6033 0056 AA23 movs r3, #170
+ 6034 0058 1B02 lsls r3, r3, #8
+ 6035 005a 069A ldr r2, [sp, #24]
+ 6036 .LVL507:
+ 6037 005c 9A42 cmp r2, r3
+ 6038 005e 05D0 beq .L412
+3195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6039 .loc 1 3195 0 is_stmt 1
+ 6040 0060 0023 movs r3, #0
+ 6041 0062 0CE0 b .L413
+ 6042 .LVL508:
+ 6043 .L410:
+3187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6044 .loc 1 3187 0
+ 6045 0064 638D ldrh r3, [r4, #42]
+ 6046 0066 2385 strh r3, [r4, #40]
+3188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6047 .loc 1 3188 0
+ 6048 0068 E66A ldr r6, [r4, #44]
+ 6049 .LVL509:
+ 6050 006a EEE7 b .L411
+ 6051 .LVL510:
+ 6052 .L412:
+3200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6053 .loc 1 3200 0
+ 6054 006c 2000 movs r0, r4
+ 6055 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6056 .LVL511:
+3203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6057 .loc 1 3203 0
+ ARM GAS /tmp/ccskJbbb.s page 237
+
+
+ 6058 0072 638D ldrh r3, [r4, #42]
+ 6059 0074 9BB2 uxth r3, r3
+ 6060 0076 FE2B cmp r3, #254
+ 6061 0078 12D8 bhi .L417
+3205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6062 .loc 1 3205 0
+ 6063 007a E66A ldr r6, [r4, #44]
+ 6064 .LVL512:
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6065 .loc 1 3159 0
+ 6066 007c 0D4B ldr r3, .L418+4
+ 6067 .L413:
+ 6068 .LVL513:
+3210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6069 .loc 1 3210 0
+ 6070 007e 228D ldrh r2, [r4, #40]
+ 6071 0080 D2B2 uxtb r2, r2
+ 6072 0082 0093 str r3, [sp]
+ 6073 0084 3300 movs r3, r6
+ 6074 .LVL514:
+ 6075 0086 2900 movs r1, r5
+ 6076 0088 2000 movs r0, r4
+ 6077 008a FFF7FEFF bl I2C_TransferConfig
+ 6078 .LVL515:
+3213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6079 .loc 1 3213 0
+ 6080 008e 4023 movs r3, #64
+ 6081 0090 0022 movs r2, #0
+ 6082 0092 E254 strb r2, [r4, r3]
+3218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6083 .loc 1 3218 0
+ 6084 0094 0121 movs r1, #1
+ 6085 0096 2000 movs r0, r4
+ 6086 0098 FFF7FEFF bl I2C_Enable_IRQ
+ 6087 .LVL516:
+3220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6088 .loc 1 3220 0
+ 6089 009c 0020 movs r0, #0
+ 6090 009e 02E0 b .L409
+ 6091 .LVL517:
+ 6092 .L417:
+3159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6093 .loc 1 3159 0
+ 6094 00a0 044B ldr r3, .L418+4
+ 6095 00a2 ECE7 b .L413
+ 6096 .LVL518:
+ 6097 .L414:
+3224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6098 .loc 1 3224 0
+ 6099 00a4 0220 movs r0, #2
+ 6100 .LVL519:
+ 6101 .L409:
+3226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6102 .loc 1 3226 0
+ 6103 00a6 02B0 add sp, sp, #8
+ 6104 @ sp needed
+ 6105 .LVL520:
+ ARM GAS /tmp/ccskJbbb.s page 238
+
+
+ 6106 00a8 70BD pop {r4, r5, r6, pc}
+ 6107 .LVL521:
+ 6108 .L415:
+3167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6109 .loc 1 3167 0
+ 6110 00aa 0220 movs r0, #2
+ 6111 .LVL522:
+ 6112 00ac FBE7 b .L409
+ 6113 .L419:
+ 6114 00ae C046 .align 2
+ 6115 .L418:
+ 6116 00b0 00000000 .word I2C_Master_ISR_IT
+ 6117 00b4 00200080 .word -2147475456
+ 6118 .cfi_endproc
+ 6119 .LFE63:
+ 6121 .section .text.HAL_I2C_Master_Seq_Transmit_DMA,"ax",%progbits
+ 6122 .align 1
+ 6123 .global HAL_I2C_Master_Seq_Transmit_DMA
+ 6124 .syntax unified
+ 6125 .code 16
+ 6126 .thumb_func
+ 6127 .fpu softvfp
+ 6129 HAL_I2C_Master_Seq_Transmit_DMA:
+ 6130 .LFB64:
+3241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6131 .loc 1 3241 0
+ 6132 .cfi_startproc
+ 6133 @ args = 4, pretend = 0, frame = 8
+ 6134 @ frame_needed = 0, uses_anonymous_args = 0
+ 6135 .LVL523:
+ 6136 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 6137 .LCFI51:
+ 6138 .cfi_def_cfa_offset 20
+ 6139 .cfi_offset 4, -20
+ 6140 .cfi_offset 5, -16
+ 6141 .cfi_offset 6, -12
+ 6142 .cfi_offset 7, -8
+ 6143 .cfi_offset 14, -4
+ 6144 0002 85B0 sub sp, sp, #20
+ 6145 .LCFI52:
+ 6146 .cfi_def_cfa_offset 40
+ 6147 0004 0400 movs r4, r0
+ 6148 0006 0391 str r1, [sp, #12]
+ 6149 0008 1500 movs r5, r2
+ 6150 .LVL524:
+3249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6151 .loc 1 3249 0
+ 6152 000a 4122 movs r2, #65
+ 6153 .LVL525:
+ 6154 000c 825C ldrb r2, [r0, r2]
+ 6155 000e 202A cmp r2, #32
+ 6156 0010 00D0 beq .LCB6267
+ 6157 0012 9DE0 b .L430 @long jump
+ 6158 .LCB6267:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6159 .loc 1 3252 0
+ 6160 0014 2032 adds r2, r2, #32
+ ARM GAS /tmp/ccskJbbb.s page 239
+
+
+ 6161 0016 825C ldrb r2, [r0, r2]
+ 6162 0018 012A cmp r2, #1
+ 6163 001a 00D1 bne .LCB6271
+ 6164 001c 9CE0 b .L431 @long jump
+ 6165 .LCB6271:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6166 .loc 1 3252 0 is_stmt 0 discriminator 2
+ 6167 001e 4022 movs r2, #64
+ 6168 0020 0121 movs r1, #1
+ 6169 .LVL526:
+ 6170 0022 8154 strb r1, [r0, r2]
+3254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6171 .loc 1 3254 0 is_stmt 1 discriminator 2
+ 6172 0024 0132 adds r2, r2, #1
+ 6173 0026 2031 adds r1, r1, #32
+ 6174 0028 8154 strb r1, [r0, r2]
+3255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6175 .loc 1 3255 0 discriminator 2
+ 6176 002a 0132 adds r2, r2, #1
+ 6177 002c 1139 subs r1, r1, #17
+ 6178 002e 8154 strb r1, [r0, r2]
+3256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6179 .loc 1 3256 0 discriminator 2
+ 6180 0030 0022 movs r2, #0
+ 6181 0032 4264 str r2, [r0, #68]
+3259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6182 .loc 1 3259 0 discriminator 2
+ 6183 0034 4562 str r5, [r0, #36]
+3260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6184 .loc 1 3260 0 discriminator 2
+ 6185 0036 4385 strh r3, [r0, #42]
+3261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 6186 .loc 1 3261 0 discriminator 2
+ 6187 0038 0A9B ldr r3, [sp, #40]
+ 6188 .LVL527:
+ 6189 003a C362 str r3, [r0, #44]
+ 6190 .LVL528:
+3262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6191 .loc 1 3262 0 discriminator 2
+ 6192 003c 474B ldr r3, .L436
+ 6193 003e 4363 str r3, [r0, #52]
+3265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6194 .loc 1 3265 0 discriminator 2
+ 6195 0040 438D ldrh r3, [r0, #42]
+ 6196 0042 9BB2 uxth r3, r3
+ 6197 0044 FF2B cmp r3, #255
+ 6198 0046 10D9 bls .L422
+3267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6199 .loc 1 3267 0
+ 6200 0048 FF23 movs r3, #255
+ 6201 004a 0385 strh r3, [r0, #40]
+ 6202 .LVL529:
+3268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6203 .loc 1 3268 0
+ 6204 004c 8027 movs r7, #128
+ 6205 004e 7F04 lsls r7, r7, #17
+ 6206 .LVL530:
+ ARM GAS /tmp/ccskJbbb.s page 240
+
+
+ 6207 .L423:
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6208 .loc 1 3278 0
+ 6209 0050 236B ldr r3, [r4, #48]
+ 6210 0052 112B cmp r3, #17
+ 6211 0054 0DD1 bne .L424
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6212 .loc 1 3278 0 is_stmt 0 discriminator 1
+ 6213 0056 0A9B ldr r3, [sp, #40]
+ 6214 0058 AA2B cmp r3, #170
+ 6215 005a 0AD0 beq .L424
+3278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6216 .loc 1 3278 0 discriminator 3
+ 6217 005c AA23 movs r3, #170
+ 6218 005e 1B02 lsls r3, r3, #8
+ 6219 0060 0A9A ldr r2, [sp, #40]
+ 6220 0062 9A42 cmp r2, r3
+ 6221 0064 05D0 beq .L424
+3280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6222 .loc 1 3280 0 is_stmt 1
+ 6223 0066 0026 movs r6, #0
+ 6224 0068 0CE0 b .L425
+ 6225 .LVL531:
+ 6226 .L422:
+3272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6227 .loc 1 3272 0
+ 6228 006a 438D ldrh r3, [r0, #42]
+ 6229 006c 0385 strh r3, [r0, #40]
+3273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6230 .loc 1 3273 0
+ 6231 006e C76A ldr r7, [r0, #44]
+ 6232 .LVL532:
+ 6233 0070 EEE7 b .L423
+ 6234 .L424:
+3285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6235 .loc 1 3285 0
+ 6236 0072 2000 movs r0, r4
+ 6237 .LVL533:
+ 6238 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6239 .LVL534:
+3288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6240 .loc 1 3288 0
+ 6241 0078 638D ldrh r3, [r4, #42]
+ 6242 007a 9BB2 uxth r3, r3
+ 6243 007c FE2B cmp r3, #254
+ 6244 007e 28D8 bhi .L433
+3290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6245 .loc 1 3290 0
+ 6246 0080 E76A ldr r7, [r4, #44]
+ 6247 .LVL535:
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6248 .loc 1 3243 0
+ 6249 0082 374E ldr r6, .L436+4
+ 6250 .L425:
+ 6251 .LVL536:
+3294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6252 .loc 1 3294 0
+ ARM GAS /tmp/ccskJbbb.s page 241
+
+
+ 6253 0084 228D ldrh r2, [r4, #40]
+ 6254 0086 002A cmp r2, #0
+ 6255 0088 4ED0 beq .L426
+3296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6256 .loc 1 3296 0
+ 6257 008a A36B ldr r3, [r4, #56]
+ 6258 008c 002B cmp r3, #0
+ 6259 008e 22D0 beq .L427
+3299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6260 .loc 1 3299 0
+ 6261 0090 344A ldr r2, .L436+8
+ 6262 0092 9A62 str r2, [r3, #40]
+3302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6263 .loc 1 3302 0
+ 6264 0094 A36B ldr r3, [r4, #56]
+ 6265 0096 344A ldr r2, .L436+12
+ 6266 0098 1A63 str r2, [r3, #48]
+3305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 6267 .loc 1 3305 0
+ 6268 009a A26B ldr r2, [r4, #56]
+ 6269 009c 0023 movs r3, #0
+ 6270 009e D362 str r3, [r2, #44]
+3306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6271 .loc 1 3306 0
+ 6272 00a0 A26B ldr r2, [r4, #56]
+ 6273 00a2 5363 str r3, [r2, #52]
+3309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6274 .loc 1 3309 0
+ 6275 00a4 2268 ldr r2, [r4]
+ 6276 00a6 2832 adds r2, r2, #40
+ 6277 00a8 238D ldrh r3, [r4, #40]
+ 6278 00aa 2900 movs r1, r5
+ 6279 00ac A06B ldr r0, [r4, #56]
+ 6280 00ae FFF7FEFF bl HAL_DMA_Start_IT
+ 6281 .LVL537:
+ 6282 00b2 051E subs r5, r0, #0
+ 6283 .LVL538:
+3326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6284 .loc 1 3326 0
+ 6285 00b4 1DD0 beq .L435
+3349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6286 .loc 1 3349 0
+ 6287 00b6 4123 movs r3, #65
+ 6288 00b8 2022 movs r2, #32
+ 6289 00ba E254 strb r2, [r4, r3]
+3350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6290 .loc 1 3350 0
+ 6291 00bc 0022 movs r2, #0
+ 6292 00be 0133 adds r3, r3, #1
+ 6293 00c0 E254 strb r2, [r4, r3]
+3353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6294 .loc 1 3353 0
+ 6295 00c2 636C ldr r3, [r4, #68]
+ 6296 00c4 1021 movs r1, #16
+ 6297 00c6 0B43 orrs r3, r1
+ 6298 00c8 6364 str r3, [r4, #68]
+3356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 242
+
+
+ 6299 .loc 1 3356 0
+ 6300 00ca 4023 movs r3, #64
+ 6301 00cc E254 strb r2, [r4, r3]
+3358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6302 .loc 1 3358 0
+ 6303 00ce 0125 movs r5, #1
+ 6304 00d0 3FE0 b .L421
+ 6305 .LVL539:
+ 6306 .L433:
+3243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6307 .loc 1 3243 0
+ 6308 00d2 234E ldr r6, .L436+4
+ 6309 00d4 D6E7 b .L425
+ 6310 .LVL540:
+ 6311 .L427:
+3314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6312 .loc 1 3314 0
+ 6313 00d6 4123 movs r3, #65
+ 6314 00d8 2022 movs r2, #32
+ 6315 00da E254 strb r2, [r4, r3]
+3315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6316 .loc 1 3315 0
+ 6317 00dc 0022 movs r2, #0
+ 6318 00de 0133 adds r3, r3, #1
+ 6319 00e0 E254 strb r2, [r4, r3]
+3318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6320 .loc 1 3318 0
+ 6321 00e2 636C ldr r3, [r4, #68]
+ 6322 00e4 8021 movs r1, #128
+ 6323 00e6 0B43 orrs r3, r1
+ 6324 00e8 6364 str r3, [r4, #68]
+3321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6325 .loc 1 3321 0
+ 6326 00ea 4023 movs r3, #64
+ 6327 00ec E254 strb r2, [r4, r3]
+3323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6328 .loc 1 3323 0
+ 6329 00ee 0125 movs r5, #1
+ 6330 .LVL541:
+ 6331 00f0 2FE0 b .L421
+ 6332 .LVL542:
+ 6333 .L435:
+3329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6334 .loc 1 3329 0
+ 6335 00f2 228D ldrh r2, [r4, #40]
+ 6336 00f4 D2B2 uxtb r2, r2
+ 6337 00f6 0096 str r6, [sp]
+ 6338 00f8 3B00 movs r3, r7
+ 6339 00fa 0399 ldr r1, [sp, #12]
+ 6340 00fc 2000 movs r0, r4
+ 6341 .LVL543:
+ 6342 00fe FFF7FEFF bl I2C_TransferConfig
+ 6343 .LVL544:
+3332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6344 .loc 1 3332 0
+ 6345 0102 638D ldrh r3, [r4, #42]
+ 6346 0104 228D ldrh r2, [r4, #40]
+ ARM GAS /tmp/ccskJbbb.s page 243
+
+
+ 6347 0106 9B1A subs r3, r3, r2
+ 6348 0108 9BB2 uxth r3, r3
+ 6349 010a 6385 strh r3, [r4, #42]
+3335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6350 .loc 1 3335 0
+ 6351 010c 4023 movs r3, #64
+ 6352 010e 0022 movs r2, #0
+ 6353 0110 E254 strb r2, [r4, r3]
+3341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6354 .loc 1 3341 0
+ 6355 0112 1121 movs r1, #17
+ 6356 0114 2000 movs r0, r4
+ 6357 0116 FFF7FEFF bl I2C_Enable_IRQ
+ 6358 .LVL545:
+3344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6359 .loc 1 3344 0
+ 6360 011a 2268 ldr r2, [r4]
+ 6361 011c 1168 ldr r1, [r2]
+ 6362 011e 8023 movs r3, #128
+ 6363 0120 DB01 lsls r3, r3, #7
+ 6364 0122 0B43 orrs r3, r1
+ 6365 0124 1360 str r3, [r2]
+ 6366 0126 14E0 b .L421
+ 6367 .LVL546:
+ 6368 .L426:
+3364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6369 .loc 1 3364 0
+ 6370 0128 104B ldr r3, .L436+16
+ 6371 012a 6363 str r3, [r4, #52]
+3368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6372 .loc 1 3368 0
+ 6373 012c 8023 movs r3, #128
+ 6374 012e D2B2 uxtb r2, r2
+ 6375 0130 0B49 ldr r1, .L436+4
+ 6376 0132 0091 str r1, [sp]
+ 6377 0134 9B04 lsls r3, r3, #18
+ 6378 0136 0399 ldr r1, [sp, #12]
+ 6379 0138 2000 movs r0, r4
+ 6380 013a FFF7FEFF bl I2C_TransferConfig
+ 6381 .LVL547:
+3371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6382 .loc 1 3371 0
+ 6383 013e 4023 movs r3, #64
+ 6384 0140 0022 movs r2, #0
+ 6385 0142 E254 strb r2, [r4, r3]
+3379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6386 .loc 1 3379 0
+ 6387 0144 0121 movs r1, #1
+ 6388 0146 2000 movs r0, r4
+ 6389 0148 FFF7FEFF bl I2C_Enable_IRQ
+ 6390 .LVL548:
+3382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6391 .loc 1 3382 0
+ 6392 014c 0025 movs r5, #0
+ 6393 .LVL549:
+ 6394 014e 00E0 b .L421
+ 6395 .LVL550:
+ ARM GAS /tmp/ccskJbbb.s page 244
+
+
+ 6396 .L430:
+3386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6397 .loc 1 3386 0
+ 6398 0150 0225 movs r5, #2
+ 6399 .LVL551:
+ 6400 .L421:
+3388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6401 .loc 1 3388 0
+ 6402 0152 2800 movs r0, r5
+ 6403 0154 05B0 add sp, sp, #20
+ 6404 @ sp needed
+ 6405 .LVL552:
+ 6406 0156 F0BD pop {r4, r5, r6, r7, pc}
+ 6407 .LVL553:
+ 6408 .L431:
+3252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6409 .loc 1 3252 0
+ 6410 0158 0225 movs r5, #2
+ 6411 .LVL554:
+ 6412 015a FAE7 b .L421
+ 6413 .L437:
+ 6414 .align 2
+ 6415 .L436:
+ 6416 015c 00000000 .word I2C_Master_ISR_DMA
+ 6417 0160 00200080 .word -2147475456
+ 6418 0164 00000000 .word I2C_DMAMasterTransmitCplt
+ 6419 0168 00000000 .word I2C_DMAError
+ 6420 016c 00000000 .word I2C_Master_ISR_IT
+ 6421 .cfi_endproc
+ 6422 .LFE64:
+ 6424 .section .text.HAL_I2C_Master_Seq_Receive_IT,"ax",%progbits
+ 6425 .align 1
+ 6426 .global HAL_I2C_Master_Seq_Receive_IT
+ 6427 .syntax unified
+ 6428 .code 16
+ 6429 .thumb_func
+ 6430 .fpu softvfp
+ 6432 HAL_I2C_Master_Seq_Receive_IT:
+ 6433 .LFB65:
+3403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6434 .loc 1 3403 0
+ 6435 .cfi_startproc
+ 6436 @ args = 4, pretend = 0, frame = 0
+ 6437 @ frame_needed = 0, uses_anonymous_args = 0
+ 6438 .LVL555:
+ 6439 0000 70B5 push {r4, r5, r6, lr}
+ 6440 .LCFI53:
+ 6441 .cfi_def_cfa_offset 16
+ 6442 .cfi_offset 4, -16
+ 6443 .cfi_offset 5, -12
+ 6444 .cfi_offset 6, -8
+ 6445 .cfi_offset 14, -4
+ 6446 0002 82B0 sub sp, sp, #8
+ 6447 .LCFI54:
+ 6448 .cfi_def_cfa_offset 24
+ 6449 0004 0400 movs r4, r0
+ 6450 0006 0D00 movs r5, r1
+ ARM GAS /tmp/ccskJbbb.s page 245
+
+
+ 6451 .LVL556:
+3410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6452 .loc 1 3410 0
+ 6453 0008 4121 movs r1, #65
+ 6454 .LVL557:
+ 6455 000a 415C ldrb r1, [r0, r1]
+ 6456 000c 2029 cmp r1, #32
+ 6457 000e 49D1 bne .L444
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6458 .loc 1 3413 0
+ 6459 0010 2031 adds r1, r1, #32
+ 6460 0012 415C ldrb r1, [r0, r1]
+ 6461 0014 0129 cmp r1, #1
+ 6462 0016 48D0 beq .L445
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6463 .loc 1 3413 0 is_stmt 0 discriminator 2
+ 6464 0018 4021 movs r1, #64
+ 6465 001a 0120 movs r0, #1
+ 6466 .LVL558:
+ 6467 001c 6054 strb r0, [r4, r1]
+3415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6468 .loc 1 3415 0 is_stmt 1 discriminator 2
+ 6469 001e 0131 adds r1, r1, #1
+ 6470 0020 2130 adds r0, r0, #33
+ 6471 0022 6054 strb r0, [r4, r1]
+3416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6472 .loc 1 3416 0 discriminator 2
+ 6473 0024 0131 adds r1, r1, #1
+ 6474 0026 1238 subs r0, r0, #18
+ 6475 0028 6054 strb r0, [r4, r1]
+3417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6476 .loc 1 3417 0 discriminator 2
+ 6477 002a 0021 movs r1, #0
+ 6478 002c 6164 str r1, [r4, #68]
+3420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6479 .loc 1 3420 0 discriminator 2
+ 6480 002e 6262 str r2, [r4, #36]
+3421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6481 .loc 1 3421 0 discriminator 2
+ 6482 0030 6385 strh r3, [r4, #42]
+3422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_IT;
+ 6483 .loc 1 3422 0 discriminator 2
+ 6484 0032 069B ldr r3, [sp, #24]
+ 6485 .LVL559:
+ 6486 0034 E362 str r3, [r4, #44]
+ 6487 .LVL560:
+3423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6488 .loc 1 3423 0 discriminator 2
+ 6489 0036 1E4B ldr r3, .L448
+ 6490 0038 6363 str r3, [r4, #52]
+3426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6491 .loc 1 3426 0 discriminator 2
+ 6492 003a 638D ldrh r3, [r4, #42]
+ 6493 003c 9BB2 uxth r3, r3
+ 6494 003e FF2B cmp r3, #255
+ 6495 0040 10D9 bls .L440
+3428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ ARM GAS /tmp/ccskJbbb.s page 246
+
+
+ 6496 .loc 1 3428 0
+ 6497 0042 FF23 movs r3, #255
+ 6498 0044 2385 strh r3, [r4, #40]
+ 6499 .LVL561:
+3429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6500 .loc 1 3429 0
+ 6501 0046 8026 movs r6, #128
+ 6502 0048 7604 lsls r6, r6, #17
+ 6503 .LVL562:
+ 6504 .L441:
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6505 .loc 1 3439 0
+ 6506 004a 236B ldr r3, [r4, #48]
+ 6507 004c 122B cmp r3, #18
+ 6508 004e 0DD1 bne .L442
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6509 .loc 1 3439 0 is_stmt 0 discriminator 1
+ 6510 0050 069B ldr r3, [sp, #24]
+ 6511 0052 AA2B cmp r3, #170
+ 6512 0054 0AD0 beq .L442
+3439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6513 .loc 1 3439 0 discriminator 3
+ 6514 0056 AA23 movs r3, #170
+ 6515 0058 1B02 lsls r3, r3, #8
+ 6516 005a 069A ldr r2, [sp, #24]
+ 6517 .LVL563:
+ 6518 005c 9A42 cmp r2, r3
+ 6519 005e 05D0 beq .L442
+3441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6520 .loc 1 3441 0 is_stmt 1
+ 6521 0060 0023 movs r3, #0
+ 6522 0062 0CE0 b .L443
+ 6523 .LVL564:
+ 6524 .L440:
+3433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6525 .loc 1 3433 0
+ 6526 0064 638D ldrh r3, [r4, #42]
+ 6527 0066 2385 strh r3, [r4, #40]
+3434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6528 .loc 1 3434 0
+ 6529 0068 E66A ldr r6, [r4, #44]
+ 6530 .LVL565:
+ 6531 006a EEE7 b .L441
+ 6532 .LVL566:
+ 6533 .L442:
+3446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6534 .loc 1 3446 0
+ 6535 006c 2000 movs r0, r4
+ 6536 006e FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6537 .LVL567:
+3449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6538 .loc 1 3449 0
+ 6539 0072 638D ldrh r3, [r4, #42]
+ 6540 0074 9BB2 uxth r3, r3
+ 6541 0076 FE2B cmp r3, #254
+ 6542 0078 12D8 bhi .L447
+3451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 247
+
+
+ 6543 .loc 1 3451 0
+ 6544 007a E66A ldr r6, [r4, #44]
+ 6545 .LVL568:
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6546 .loc 1 3405 0
+ 6547 007c 0D4B ldr r3, .L448+4
+ 6548 .L443:
+ 6549 .LVL569:
+3456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6550 .loc 1 3456 0
+ 6551 007e 228D ldrh r2, [r4, #40]
+ 6552 0080 D2B2 uxtb r2, r2
+ 6553 0082 0093 str r3, [sp]
+ 6554 0084 3300 movs r3, r6
+ 6555 .LVL570:
+ 6556 0086 2900 movs r1, r5
+ 6557 0088 2000 movs r0, r4
+ 6558 008a FFF7FEFF bl I2C_TransferConfig
+ 6559 .LVL571:
+3459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6560 .loc 1 3459 0
+ 6561 008e 4023 movs r3, #64
+ 6562 0090 0022 movs r2, #0
+ 6563 0092 E254 strb r2, [r4, r3]
+3464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6564 .loc 1 3464 0
+ 6565 0094 0221 movs r1, #2
+ 6566 0096 2000 movs r0, r4
+ 6567 0098 FFF7FEFF bl I2C_Enable_IRQ
+ 6568 .LVL572:
+3466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6569 .loc 1 3466 0
+ 6570 009c 0020 movs r0, #0
+ 6571 009e 02E0 b .L439
+ 6572 .LVL573:
+ 6573 .L447:
+3405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6574 .loc 1 3405 0
+ 6575 00a0 044B ldr r3, .L448+4
+ 6576 00a2 ECE7 b .L443
+ 6577 .LVL574:
+ 6578 .L444:
+3470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6579 .loc 1 3470 0
+ 6580 00a4 0220 movs r0, #2
+ 6581 .LVL575:
+ 6582 .L439:
+3472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6583 .loc 1 3472 0
+ 6584 00a6 02B0 add sp, sp, #8
+ 6585 @ sp needed
+ 6586 .LVL576:
+ 6587 00a8 70BD pop {r4, r5, r6, pc}
+ 6588 .LVL577:
+ 6589 .L445:
+3413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6590 .loc 1 3413 0
+ ARM GAS /tmp/ccskJbbb.s page 248
+
+
+ 6591 00aa 0220 movs r0, #2
+ 6592 .LVL578:
+ 6593 00ac FBE7 b .L439
+ 6594 .L449:
+ 6595 00ae C046 .align 2
+ 6596 .L448:
+ 6597 00b0 00000000 .word I2C_Master_ISR_IT
+ 6598 00b4 00240080 .word -2147474432
+ 6599 .cfi_endproc
+ 6600 .LFE65:
+ 6602 .section .text.HAL_I2C_Master_Seq_Receive_DMA,"ax",%progbits
+ 6603 .align 1
+ 6604 .global HAL_I2C_Master_Seq_Receive_DMA
+ 6605 .syntax unified
+ 6606 .code 16
+ 6607 .thumb_func
+ 6608 .fpu softvfp
+ 6610 HAL_I2C_Master_Seq_Receive_DMA:
+ 6611 .LFB66:
+3487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t xfermode;
+ 6612 .loc 1 3487 0
+ 6613 .cfi_startproc
+ 6614 @ args = 4, pretend = 0, frame = 8
+ 6615 @ frame_needed = 0, uses_anonymous_args = 0
+ 6616 .LVL579:
+ 6617 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 6618 .LCFI55:
+ 6619 .cfi_def_cfa_offset 20
+ 6620 .cfi_offset 4, -20
+ 6621 .cfi_offset 5, -16
+ 6622 .cfi_offset 6, -12
+ 6623 .cfi_offset 7, -8
+ 6624 .cfi_offset 14, -4
+ 6625 0002 85B0 sub sp, sp, #20
+ 6626 .LCFI56:
+ 6627 .cfi_def_cfa_offset 40
+ 6628 0004 0400 movs r4, r0
+ 6629 0006 0391 str r1, [sp, #12]
+ 6630 0008 1500 movs r5, r2
+ 6631 .LVL580:
+3495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6632 .loc 1 3495 0
+ 6633 000a 4122 movs r2, #65
+ 6634 .LVL581:
+ 6635 000c 825C ldrb r2, [r0, r2]
+ 6636 000e 202A cmp r2, #32
+ 6637 0010 00D0 beq .LCB6764
+ 6638 0012 9DE0 b .L460 @long jump
+ 6639 .LCB6764:
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6640 .loc 1 3498 0
+ 6641 0014 2032 adds r2, r2, #32
+ 6642 0016 825C ldrb r2, [r0, r2]
+ 6643 0018 012A cmp r2, #1
+ 6644 001a 00D1 bne .LCB6768
+ 6645 001c 9CE0 b .L461 @long jump
+ 6646 .LCB6768:
+ ARM GAS /tmp/ccskJbbb.s page 249
+
+
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6647 .loc 1 3498 0 is_stmt 0 discriminator 2
+ 6648 001e 4022 movs r2, #64
+ 6649 0020 0121 movs r1, #1
+ 6650 .LVL582:
+ 6651 0022 8154 strb r1, [r0, r2]
+3500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_MASTER;
+ 6652 .loc 1 3500 0 is_stmt 1 discriminator 2
+ 6653 0024 0132 adds r2, r2, #1
+ 6654 0026 2131 adds r1, r1, #33
+ 6655 0028 8154 strb r1, [r0, r2]
+3501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6656 .loc 1 3501 0 discriminator 2
+ 6657 002a 0132 adds r2, r2, #1
+ 6658 002c 1239 subs r1, r1, #18
+ 6659 002e 8154 strb r1, [r0, r2]
+3502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6660 .loc 1 3502 0 discriminator 2
+ 6661 0030 0022 movs r2, #0
+ 6662 0032 4264 str r2, [r0, #68]
+3505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 6663 .loc 1 3505 0 discriminator 2
+ 6664 0034 4562 str r5, [r0, #36]
+3506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 6665 .loc 1 3506 0 discriminator 2
+ 6666 0036 4385 strh r3, [r0, #42]
+3507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Master_ISR_DMA;
+ 6667 .loc 1 3507 0 discriminator 2
+ 6668 0038 0A9B ldr r3, [sp, #40]
+ 6669 .LVL583:
+ 6670 003a C362 str r3, [r0, #44]
+ 6671 .LVL584:
+3508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6672 .loc 1 3508 0 discriminator 2
+ 6673 003c 474B ldr r3, .L466
+ 6674 003e 4363 str r3, [r0, #52]
+3511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6675 .loc 1 3511 0 discriminator 2
+ 6676 0040 438D ldrh r3, [r0, #42]
+ 6677 0042 9BB2 uxth r3, r3
+ 6678 0044 FF2B cmp r3, #255
+ 6679 0046 10D9 bls .L452
+3513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 6680 .loc 1 3513 0
+ 6681 0048 FF23 movs r3, #255
+ 6682 004a 0385 strh r3, [r0, #40]
+ 6683 .LVL585:
+3514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6684 .loc 1 3514 0
+ 6685 004c 8027 movs r7, #128
+ 6686 004e 7F04 lsls r7, r7, #17
+ 6687 .LVL586:
+ 6688 .L453:
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6689 .loc 1 3524 0
+ 6690 0050 236B ldr r3, [r4, #48]
+ 6691 0052 122B cmp r3, #18
+ ARM GAS /tmp/ccskJbbb.s page 250
+
+
+ 6692 0054 0DD1 bne .L454
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6693 .loc 1 3524 0 is_stmt 0 discriminator 1
+ 6694 0056 0A9B ldr r3, [sp, #40]
+ 6695 0058 AA2B cmp r3, #170
+ 6696 005a 0AD0 beq .L454
+3524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6697 .loc 1 3524 0 discriminator 3
+ 6698 005c AA23 movs r3, #170
+ 6699 005e 1B02 lsls r3, r3, #8
+ 6700 0060 0A9A ldr r2, [sp, #40]
+ 6701 0062 9A42 cmp r2, r3
+ 6702 0064 05D0 beq .L454
+3526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6703 .loc 1 3526 0 is_stmt 1
+ 6704 0066 0026 movs r6, #0
+ 6705 0068 0CE0 b .L455
+ 6706 .LVL587:
+ 6707 .L452:
+3518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = hi2c->XferOptions;
+ 6708 .loc 1 3518 0
+ 6709 006a 438D ldrh r3, [r0, #42]
+ 6710 006c 0385 strh r3, [r0, #40]
+3519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6711 .loc 1 3519 0
+ 6712 006e C76A ldr r7, [r0, #44]
+ 6713 .LVL588:
+ 6714 0070 EEE7 b .L453
+ 6715 .L454:
+3531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6716 .loc 1 3531 0
+ 6717 0072 2000 movs r0, r4
+ 6718 .LVL589:
+ 6719 0074 FFF7FEFF bl I2C_ConvertOtherXferOptions
+ 6720 .LVL590:
+3534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6721 .loc 1 3534 0
+ 6722 0078 638D ldrh r3, [r4, #42]
+ 6723 007a 9BB2 uxth r3, r3
+ 6724 007c FE2B cmp r3, #254
+ 6725 007e 28D8 bhi .L463
+3536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6726 .loc 1 3536 0
+ 6727 0080 E76A ldr r7, [r4, #44]
+ 6728 .LVL591:
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6729 .loc 1 3489 0
+ 6730 0082 374E ldr r6, .L466+4
+ 6731 .L455:
+ 6732 .LVL592:
+3540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6733 .loc 1 3540 0
+ 6734 0084 228D ldrh r2, [r4, #40]
+ 6735 0086 002A cmp r2, #0
+ 6736 0088 4ED0 beq .L456
+3542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6737 .loc 1 3542 0
+ ARM GAS /tmp/ccskJbbb.s page 251
+
+
+ 6738 008a E36B ldr r3, [r4, #60]
+ 6739 008c 002B cmp r3, #0
+ 6740 008e 22D0 beq .L457
+3545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6741 .loc 1 3545 0
+ 6742 0090 344A ldr r2, .L466+8
+ 6743 0092 9A62 str r2, [r3, #40]
+3548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6744 .loc 1 3548 0
+ 6745 0094 E36B ldr r3, [r4, #60]
+ 6746 0096 344A ldr r2, .L466+12
+ 6747 0098 1A63 str r2, [r3, #48]
+3551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 6748 .loc 1 3551 0
+ 6749 009a E26B ldr r2, [r4, #60]
+ 6750 009c 0023 movs r3, #0
+ 6751 009e D362 str r3, [r2, #44]
+3552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6752 .loc 1 3552 0
+ 6753 00a0 E26B ldr r2, [r4, #60]
+ 6754 00a2 5363 str r3, [r2, #52]
+3555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6755 .loc 1 3555 0
+ 6756 00a4 2168 ldr r1, [r4]
+ 6757 00a6 2431 adds r1, r1, #36
+ 6758 00a8 238D ldrh r3, [r4, #40]
+ 6759 00aa 2A00 movs r2, r5
+ 6760 00ac E06B ldr r0, [r4, #60]
+ 6761 00ae FFF7FEFF bl HAL_DMA_Start_IT
+ 6762 .LVL593:
+ 6763 00b2 051E subs r5, r0, #0
+ 6764 .LVL594:
+3572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6765 .loc 1 3572 0
+ 6766 00b4 1DD0 beq .L465
+3595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6767 .loc 1 3595 0
+ 6768 00b6 4123 movs r3, #65
+ 6769 00b8 2022 movs r2, #32
+ 6770 00ba E254 strb r2, [r4, r3]
+3596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6771 .loc 1 3596 0
+ 6772 00bc 0022 movs r2, #0
+ 6773 00be 0133 adds r3, r3, #1
+ 6774 00c0 E254 strb r2, [r4, r3]
+3599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6775 .loc 1 3599 0
+ 6776 00c2 636C ldr r3, [r4, #68]
+ 6777 00c4 1021 movs r1, #16
+ 6778 00c6 0B43 orrs r3, r1
+ 6779 00c8 6364 str r3, [r4, #68]
+3602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6780 .loc 1 3602 0
+ 6781 00ca 4023 movs r3, #64
+ 6782 00cc E254 strb r2, [r4, r3]
+3604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6783 .loc 1 3604 0
+ ARM GAS /tmp/ccskJbbb.s page 252
+
+
+ 6784 00ce 0125 movs r5, #1
+ 6785 00d0 3FE0 b .L451
+ 6786 .LVL595:
+ 6787 .L463:
+3489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 6788 .loc 1 3489 0
+ 6789 00d2 234E ldr r6, .L466+4
+ 6790 00d4 D6E7 b .L455
+ 6791 .LVL596:
+ 6792 .L457:
+3560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 6793 .loc 1 3560 0
+ 6794 00d6 4123 movs r3, #65
+ 6795 00d8 2022 movs r2, #32
+ 6796 00da E254 strb r2, [r4, r3]
+3561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6797 .loc 1 3561 0
+ 6798 00dc 0022 movs r2, #0
+ 6799 00de 0133 adds r3, r3, #1
+ 6800 00e0 E254 strb r2, [r4, r3]
+3564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6801 .loc 1 3564 0
+ 6802 00e2 636C ldr r3, [r4, #68]
+ 6803 00e4 8021 movs r1, #128
+ 6804 00e6 0B43 orrs r3, r1
+ 6805 00e8 6364 str r3, [r4, #68]
+3567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6806 .loc 1 3567 0
+ 6807 00ea 4023 movs r3, #64
+ 6808 00ec E254 strb r2, [r4, r3]
+3569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6809 .loc 1 3569 0
+ 6810 00ee 0125 movs r5, #1
+ 6811 .LVL597:
+ 6812 00f0 2FE0 b .L451
+ 6813 .LVL598:
+ 6814 .L465:
+3575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6815 .loc 1 3575 0
+ 6816 00f2 228D ldrh r2, [r4, #40]
+ 6817 00f4 D2B2 uxtb r2, r2
+ 6818 00f6 0096 str r6, [sp]
+ 6819 00f8 3B00 movs r3, r7
+ 6820 00fa 0399 ldr r1, [sp, #12]
+ 6821 00fc 2000 movs r0, r4
+ 6822 .LVL599:
+ 6823 00fe FFF7FEFF bl I2C_TransferConfig
+ 6824 .LVL600:
+3578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6825 .loc 1 3578 0
+ 6826 0102 638D ldrh r3, [r4, #42]
+ 6827 0104 228D ldrh r2, [r4, #40]
+ 6828 0106 9B1A subs r3, r3, r2
+ 6829 0108 9BB2 uxth r3, r3
+ 6830 010a 6385 strh r3, [r4, #42]
+3581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6831 .loc 1 3581 0
+ ARM GAS /tmp/ccskJbbb.s page 253
+
+
+ 6832 010c 4023 movs r3, #64
+ 6833 010e 0022 movs r2, #0
+ 6834 0110 E254 strb r2, [r4, r3]
+3587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6835 .loc 1 3587 0
+ 6836 0112 1121 movs r1, #17
+ 6837 0114 2000 movs r0, r4
+ 6838 0116 FFF7FEFF bl I2C_Enable_IRQ
+ 6839 .LVL601:
+3590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6840 .loc 1 3590 0
+ 6841 011a 2268 ldr r2, [r4]
+ 6842 011c 1168 ldr r1, [r2]
+ 6843 011e 8023 movs r3, #128
+ 6844 0120 1B02 lsls r3, r3, #8
+ 6845 0122 0B43 orrs r3, r1
+ 6846 0124 1360 str r3, [r2]
+ 6847 0126 14E0 b .L451
+ 6848 .LVL602:
+ 6849 .L456:
+3610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6850 .loc 1 3610 0
+ 6851 0128 104B ldr r3, .L466+16
+ 6852 012a 6363 str r3, [r4, #52]
+3614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6853 .loc 1 3614 0
+ 6854 012c 8023 movs r3, #128
+ 6855 012e D2B2 uxtb r2, r2
+ 6856 0130 0B49 ldr r1, .L466+4
+ 6857 0132 0091 str r1, [sp]
+ 6858 0134 9B04 lsls r3, r3, #18
+ 6859 0136 0399 ldr r1, [sp, #12]
+ 6860 0138 2000 movs r0, r4
+ 6861 013a FFF7FEFF bl I2C_TransferConfig
+ 6862 .LVL603:
+3617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6863 .loc 1 3617 0
+ 6864 013e 4023 movs r3, #64
+ 6865 0140 0022 movs r2, #0
+ 6866 0142 E254 strb r2, [r4, r3]
+3625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6867 .loc 1 3625 0
+ 6868 0144 0121 movs r1, #1
+ 6869 0146 2000 movs r0, r4
+ 6870 0148 FFF7FEFF bl I2C_Enable_IRQ
+ 6871 .LVL604:
+3628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6872 .loc 1 3628 0
+ 6873 014c 0025 movs r5, #0
+ 6874 .LVL605:
+ 6875 014e 00E0 b .L451
+ 6876 .LVL606:
+ 6877 .L460:
+3632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6878 .loc 1 3632 0
+ 6879 0150 0225 movs r5, #2
+ 6880 .LVL607:
+ ARM GAS /tmp/ccskJbbb.s page 254
+
+
+ 6881 .L451:
+3634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6882 .loc 1 3634 0
+ 6883 0152 2800 movs r0, r5
+ 6884 0154 05B0 add sp, sp, #20
+ 6885 @ sp needed
+ 6886 .LVL608:
+ 6887 0156 F0BD pop {r4, r5, r6, r7, pc}
+ 6888 .LVL609:
+ 6889 .L461:
+3498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6890 .loc 1 3498 0
+ 6891 0158 0225 movs r5, #2
+ 6892 .LVL610:
+ 6893 015a FAE7 b .L451
+ 6894 .L467:
+ 6895 .align 2
+ 6896 .L466:
+ 6897 015c 00000000 .word I2C_Master_ISR_DMA
+ 6898 0160 00240080 .word -2147474432
+ 6899 0164 00000000 .word I2C_DMAMasterReceiveCplt
+ 6900 0168 00000000 .word I2C_DMAError
+ 6901 016c 00000000 .word I2C_Master_ISR_IT
+ 6902 .cfi_endproc
+ 6903 .LFE66:
+ 6905 .section .text.HAL_I2C_Slave_Seq_Transmit_IT,"ax",%progbits
+ 6906 .align 1
+ 6907 .global HAL_I2C_Slave_Seq_Transmit_IT
+ 6908 .syntax unified
+ 6909 .code 16
+ 6910 .thumb_func
+ 6911 .fpu softvfp
+ 6913 HAL_I2C_Slave_Seq_Transmit_IT:
+ 6914 .LFB67:
+3647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 6915 .loc 1 3647 0
+ 6916 .cfi_startproc
+ 6917 @ args = 0, pretend = 0, frame = 0
+ 6918 @ frame_needed = 0, uses_anonymous_args = 0
+ 6919 .LVL611:
+ 6920 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 6921 .LCFI57:
+ 6922 .cfi_def_cfa_offset 24
+ 6923 .cfi_offset 3, -24
+ 6924 .cfi_offset 4, -20
+ 6925 .cfi_offset 5, -16
+ 6926 .cfi_offset 6, -12
+ 6927 .cfi_offset 7, -8
+ 6928 .cfi_offset 14, -4
+ 6929 0002 0700 movs r7, r0
+ 6930 0004 0C00 movs r4, r1
+ 6931 0006 1500 movs r5, r2
+ 6932 0008 1E00 movs r6, r3
+3651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6933 .loc 1 3651 0
+ 6934 000a 4123 movs r3, #65
+ 6935 .LVL612:
+ ARM GAS /tmp/ccskJbbb.s page 255
+
+
+ 6936 000c C35C ldrb r3, [r0, r3]
+ 6937 000e 2822 movs r2, #40
+ 6938 .LVL613:
+ 6939 0010 1340 ands r3, r2
+ 6940 0012 282B cmp r3, #40
+ 6941 0014 01D0 beq .L476
+3727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6942 .loc 1 3727 0
+ 6943 0016 0120 movs r0, #1
+ 6944 .LVL614:
+ 6945 .L469:
+3729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6946 .loc 1 3729 0
+ 6947 @ sp needed
+ 6948 .LVL615:
+ 6949 .LVL616:
+ 6950 .LVL617:
+ 6951 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 6952 .LVL618:
+ 6953 .L476:
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6954 .loc 1 3653 0
+ 6955 001a 0029 cmp r1, #0
+ 6956 001c 01D0 beq .L470
+3653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6957 .loc 1 3653 0 is_stmt 0 discriminator 1
+ 6958 001e 002D cmp r5, #0
+ 6959 0020 04D1 bne .L471
+ 6960 .L470:
+3655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 6961 .loc 1 3655 0 is_stmt 1
+ 6962 0022 8023 movs r3, #128
+ 6963 0024 9B00 lsls r3, r3, #2
+ 6964 0026 7B64 str r3, [r7, #68]
+3656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 6965 .loc 1 3656 0
+ 6966 0028 0120 movs r0, #1
+ 6967 .LVL619:
+ 6968 002a F5E7 b .L469
+ 6969 .LVL620:
+ 6970 .L471:
+3660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6971 .loc 1 3660 0
+ 6972 002c 0521 movs r1, #5
+ 6973 .LVL621:
+ 6974 002e FFF7FEFF bl I2C_Disable_IRQ
+ 6975 .LVL622:
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6976 .loc 1 3663 0
+ 6977 0032 4023 movs r3, #64
+ 6978 0034 FB5C ldrb r3, [r7, r3]
+ 6979 0036 012B cmp r3, #1
+ 6980 0038 43D0 beq .L475
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6981 .loc 1 3663 0 is_stmt 0 discriminator 2
+ 6982 003a 4023 movs r3, #64
+ 6983 003c 0122 movs r2, #1
+ ARM GAS /tmp/ccskJbbb.s page 256
+
+
+ 6984 003e FA54 strb r2, [r7, r3]
+3667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 6985 .loc 1 3667 0 is_stmt 1 discriminator 2
+ 6986 0040 0133 adds r3, r3, #1
+ 6987 0042 FB5C ldrb r3, [r7, r3]
+ 6988 0044 2A2B cmp r3, #42
+ 6989 0046 22D0 beq .L477
+ 6990 .L472:
+3693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 6991 .loc 1 3693 0
+ 6992 0048 4123 movs r3, #65
+ 6993 004a 2922 movs r2, #41
+ 6994 004c FA54 strb r2, [r7, r3]
+3694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 6995 .loc 1 3694 0
+ 6996 004e 0133 adds r3, r3, #1
+ 6997 0050 093A subs r2, r2, #9
+ 6998 0052 FA54 strb r2, [r7, r3]
+3695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 6999 .loc 1 3695 0
+ 7000 0054 0023 movs r3, #0
+ 7001 0056 7B64 str r3, [r7, #68]
+3698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7002 .loc 1 3698 0
+ 7003 0058 3A68 ldr r2, [r7]
+ 7004 005a 5368 ldr r3, [r2, #4]
+ 7005 005c 1A49 ldr r1, .L478
+ 7006 005e 0B40 ands r3, r1
+ 7007 0060 5360 str r3, [r2, #4]
+3701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7008 .loc 1 3701 0
+ 7009 0062 7C62 str r4, [r7, #36]
+3702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7010 .loc 1 3702 0
+ 7011 0064 7D85 strh r5, [r7, #42]
+3703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7012 .loc 1 3703 0
+ 7013 0066 7B8D ldrh r3, [r7, #42]
+ 7014 0068 3B85 strh r3, [r7, #40]
+3704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7015 .loc 1 3704 0
+ 7016 006a FE62 str r6, [r7, #44]
+3705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7017 .loc 1 3705 0
+ 7018 006c 174B ldr r3, .L478+4
+ 7019 006e 7B63 str r3, [r7, #52]
+3707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7020 .loc 1 3707 0
+ 7021 0070 3B68 ldr r3, [r7]
+ 7022 0072 9A69 ldr r2, [r3, #24]
+ 7023 0074 D203 lsls r2, r2, #15
+ 7024 0076 01D5 bpl .L473
+3711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7025 .loc 1 3711 0
+ 7026 0078 0822 movs r2, #8
+ 7027 007a DA61 str r2, [r3, #28]
+ 7028 .L473:
+ ARM GAS /tmp/ccskJbbb.s page 257
+
+
+3715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7029 .loc 1 3715 0
+ 7030 007c 4023 movs r3, #64
+ 7031 007e 0022 movs r2, #0
+ 7032 0080 FA54 strb r2, [r7, r3]
+3721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7033 .loc 1 3721 0
+ 7034 0082 0521 movs r1, #5
+ 7035 0084 3800 movs r0, r7
+ 7036 0086 FFF7FEFF bl I2C_Enable_IRQ
+ 7037 .LVL623:
+3723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7038 .loc 1 3723 0
+ 7039 008a 0020 movs r0, #0
+ 7040 008c C4E7 b .L469
+ 7041 .L477:
+3670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7042 .loc 1 3670 0
+ 7043 008e 0221 movs r1, #2
+ 7044 0090 3800 movs r0, r7
+ 7045 0092 FFF7FEFF bl I2C_Disable_IRQ
+ 7046 .LVL624:
+3673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7047 .loc 1 3673 0
+ 7048 0096 3B68 ldr r3, [r7]
+ 7049 0098 1A68 ldr r2, [r3]
+ 7050 009a 1204 lsls r2, r2, #16
+ 7051 009c D4D5 bpl .L472
+3675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7052 .loc 1 3675 0
+ 7053 009e 1A68 ldr r2, [r3]
+ 7054 00a0 0949 ldr r1, .L478
+ 7055 00a2 0A40 ands r2, r1
+ 7056 00a4 1A60 str r2, [r3]
+3677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7057 .loc 1 3677 0
+ 7058 00a6 FB6B ldr r3, [r7, #60]
+ 7059 00a8 002B cmp r3, #0
+ 7060 00aa CDD0 beq .L472
+3681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7061 .loc 1 3681 0
+ 7062 00ac 084A ldr r2, .L478+8
+ 7063 00ae 5A63 str r2, [r3, #52]
+3684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7064 .loc 1 3684 0
+ 7065 00b0 F86B ldr r0, [r7, #60]
+ 7066 00b2 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7067 .LVL625:
+ 7068 00b6 0028 cmp r0, #0
+ 7069 00b8 C6D0 beq .L472
+3687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7070 .loc 1 3687 0
+ 7071 00ba F86B ldr r0, [r7, #60]
+ 7072 00bc 436B ldr r3, [r0, #52]
+ 7073 00be 9847 blx r3
+ 7074 .LVL626:
+ 7075 00c0 C2E7 b .L472
+ ARM GAS /tmp/ccskJbbb.s page 258
+
+
+ 7076 .L475:
+3663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7077 .loc 1 3663 0
+ 7078 00c2 0220 movs r0, #2
+ 7079 00c4 A8E7 b .L469
+ 7080 .L479:
+ 7081 00c6 C046 .align 2
+ 7082 .L478:
+ 7083 00c8 FF7FFFFF .word -32769
+ 7084 00cc 00000000 .word I2C_Slave_ISR_IT
+ 7085 00d0 00000000 .word I2C_DMAAbort
+ 7086 .cfi_endproc
+ 7087 .LFE67:
+ 7089 .section .text.HAL_I2C_Slave_Seq_Transmit_DMA,"ax",%progbits
+ 7090 .align 1
+ 7091 .global HAL_I2C_Slave_Seq_Transmit_DMA
+ 7092 .syntax unified
+ 7093 .code 16
+ 7094 .thumb_func
+ 7095 .fpu softvfp
+ 7097 HAL_I2C_Slave_Seq_Transmit_DMA:
+ 7098 .LFB68:
+3742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 7099 .loc 1 3742 0
+ 7100 .cfi_startproc
+ 7101 @ args = 0, pretend = 0, frame = 0
+ 7102 @ frame_needed = 0, uses_anonymous_args = 0
+ 7103 .LVL627:
+ 7104 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7105 .LCFI58:
+ 7106 .cfi_def_cfa_offset 24
+ 7107 .cfi_offset 3, -24
+ 7108 .cfi_offset 4, -20
+ 7109 .cfi_offset 5, -16
+ 7110 .cfi_offset 6, -12
+ 7111 .cfi_offset 7, -8
+ 7112 .cfi_offset 14, -4
+ 7113 0002 0400 movs r4, r0
+ 7114 0004 0D00 movs r5, r1
+ 7115 0006 1600 movs r6, r2
+ 7116 0008 1F00 movs r7, r3
+3748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7117 .loc 1 3748 0
+ 7118 000a 4123 movs r3, #65
+ 7119 .LVL628:
+ 7120 000c C35C ldrb r3, [r0, r3]
+ 7121 000e 2822 movs r2, #40
+ 7122 .LVL629:
+ 7123 0010 1340 ands r3, r2
+ 7124 0012 282B cmp r3, #40
+ 7125 0014 02D0 beq .L494
+3906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7126 .loc 1 3906 0
+ 7127 0016 0125 movs r5, #1
+ 7128 .LVL630:
+ 7129 .L481:
+3908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 259
+
+
+ 7130 .loc 1 3908 0
+ 7131 0018 2800 movs r0, r5
+ 7132 @ sp needed
+ 7133 .LVL631:
+ 7134 .LVL632:
+ 7135 001a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7136 .LVL633:
+ 7137 .L494:
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7138 .loc 1 3750 0
+ 7139 001c 0029 cmp r1, #0
+ 7140 001e 57D0 beq .L482
+3750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7141 .loc 1 3750 0 is_stmt 0 discriminator 1
+ 7142 0020 002E cmp r6, #0
+ 7143 0022 55D0 beq .L482
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7144 .loc 1 3757 0 is_stmt 1
+ 7145 0024 4023 movs r3, #64
+ 7146 0026 C35C ldrb r3, [r0, r3]
+ 7147 0028 012B cmp r3, #1
+ 7148 002a 00D1 bne .LCB7285
+ 7149 002c A5E0 b .L492 @long jump
+ 7150 .LCB7285:
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7151 .loc 1 3757 0 is_stmt 0 discriminator 2
+ 7152 002e 4023 movs r3, #64
+ 7153 0030 0122 movs r2, #1
+ 7154 0032 C254 strb r2, [r0, r3]
+3760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7155 .loc 1 3760 0 is_stmt 1 discriminator 2
+ 7156 0034 0521 movs r1, #5
+ 7157 .LVL634:
+ 7158 0036 FFF7FEFF bl I2C_Disable_IRQ
+ 7159 .LVL635:
+3764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7160 .loc 1 3764 0 discriminator 2
+ 7161 003a 4123 movs r3, #65
+ 7162 003c E35C ldrb r3, [r4, r3]
+ 7163 003e 2A2B cmp r3, #42
+ 7164 0040 4BD0 beq .L495
+3789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7165 .loc 1 3789 0
+ 7166 0042 4123 movs r3, #65
+ 7167 0044 E35C ldrb r3, [r4, r3]
+ 7168 0046 292B cmp r3, #41
+ 7169 0048 62D0 beq .L496
+ 7170 .L485:
+3816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7171 .loc 1 3816 0
+ 7172 004a 4123 movs r3, #65
+ 7173 004c 2922 movs r2, #41
+ 7174 004e E254 strb r2, [r4, r3]
+3817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7175 .loc 1 3817 0
+ 7176 0050 0133 adds r3, r3, #1
+ 7177 0052 093A subs r2, r2, #9
+ ARM GAS /tmp/ccskJbbb.s page 260
+
+
+ 7178 0054 E254 strb r2, [r4, r3]
+3818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7179 .loc 1 3818 0
+ 7180 0056 0023 movs r3, #0
+ 7181 0058 6364 str r3, [r4, #68]
+3821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7182 .loc 1 3821 0
+ 7183 005a 2268 ldr r2, [r4]
+ 7184 005c 5368 ldr r3, [r2, #4]
+ 7185 005e 4849 ldr r1, .L498
+ 7186 0060 0B40 ands r3, r1
+ 7187 0062 5360 str r3, [r2, #4]
+3824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7188 .loc 1 3824 0
+ 7189 0064 6562 str r5, [r4, #36]
+3825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7190 .loc 1 3825 0
+ 7191 0066 6685 strh r6, [r4, #42]
+3826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7192 .loc 1 3826 0
+ 7193 0068 638D ldrh r3, [r4, #42]
+ 7194 006a 2385 strh r3, [r4, #40]
+3827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 7195 .loc 1 3827 0
+ 7196 006c E762 str r7, [r4, #44]
+3828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7197 .loc 1 3828 0
+ 7198 006e 454B ldr r3, .L498+4
+ 7199 0070 6363 str r3, [r4, #52]
+3830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7200 .loc 1 3830 0
+ 7201 0072 A36B ldr r3, [r4, #56]
+ 7202 0074 002B cmp r3, #0
+ 7203 0076 61D0 beq .L486
+3833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7204 .loc 1 3833 0
+ 7205 0078 434A ldr r2, .L498+8
+ 7206 007a 9A62 str r2, [r3, #40]
+3836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7207 .loc 1 3836 0
+ 7208 007c A36B ldr r3, [r4, #56]
+ 7209 007e 434A ldr r2, .L498+12
+ 7210 0080 1A63 str r2, [r3, #48]
+3839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmatx->XferAbortCallback = NULL;
+ 7211 .loc 1 3839 0
+ 7212 0082 A26B ldr r2, [r4, #56]
+ 7213 0084 0023 movs r3, #0
+ 7214 0086 D362 str r3, [r2, #44]
+3840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7215 .loc 1 3840 0
+ 7216 0088 A26B ldr r2, [r4, #56]
+ 7217 008a 5363 str r3, [r2, #52]
+3843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7218 .loc 1 3843 0
+ 7219 008c 2268 ldr r2, [r4]
+ 7220 008e 2832 adds r2, r2, #40
+ 7221 0090 238D ldrh r3, [r4, #40]
+ ARM GAS /tmp/ccskJbbb.s page 261
+
+
+ 7222 0092 2900 movs r1, r5
+ 7223 0094 A06B ldr r0, [r4, #56]
+ 7224 0096 FFF7FEFF bl HAL_DMA_Start_IT
+ 7225 .LVL636:
+ 7226 009a 051E subs r5, r0, #0
+ 7227 .LVL637:
+3860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7228 .loc 1 3860 0
+ 7229 009c 5CD1 bne .L497
+3863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7230 .loc 1 3863 0
+ 7231 009e 638D ldrh r3, [r4, #42]
+ 7232 00a0 228D ldrh r2, [r4, #40]
+ 7233 00a2 9B1A subs r3, r3, r2
+ 7234 00a4 9BB2 uxth r3, r3
+ 7235 00a6 6385 strh r3, [r4, #42]
+3866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7236 .loc 1 3866 0
+ 7237 00a8 0023 movs r3, #0
+ 7238 00aa 2385 strh r3, [r4, #40]
+3883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7239 .loc 1 3883 0
+ 7240 00ac 2368 ldr r3, [r4]
+ 7241 00ae 9A69 ldr r2, [r3, #24]
+ 7242 00b0 D203 lsls r2, r2, #15
+ 7243 00b2 5FD4 bmi .L489
+ 7244 .L490:
+3891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7245 .loc 1 3891 0
+ 7246 00b4 4023 movs r3, #64
+ 7247 00b6 0022 movs r2, #0
+ 7248 00b8 E254 strb r2, [r4, r3]
+3897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7249 .loc 1 3897 0
+ 7250 00ba 0421 movs r1, #4
+ 7251 00bc 2000 movs r0, r4
+ 7252 .LVL638:
+ 7253 00be FFF7FEFF bl I2C_Enable_IRQ
+ 7254 .LVL639:
+3900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7255 .loc 1 3900 0
+ 7256 00c2 2268 ldr r2, [r4]
+ 7257 00c4 1168 ldr r1, [r2]
+ 7258 00c6 8023 movs r3, #128
+ 7259 00c8 DB01 lsls r3, r3, #7
+ 7260 00ca 0B43 orrs r3, r1
+ 7261 00cc 1360 str r3, [r2]
+3902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7262 .loc 1 3902 0
+ 7263 00ce A3E7 b .L481
+ 7264 .LVL640:
+ 7265 .L482:
+3752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7266 .loc 1 3752 0
+ 7267 00d0 8023 movs r3, #128
+ 7268 00d2 9B00 lsls r3, r3, #2
+ 7269 00d4 6364 str r3, [r4, #68]
+ ARM GAS /tmp/ccskJbbb.s page 262
+
+
+3753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7270 .loc 1 3753 0
+ 7271 00d6 0125 movs r5, #1
+ 7272 00d8 9EE7 b .L481
+ 7273 .LVL641:
+ 7274 .L495:
+3767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7275 .loc 1 3767 0
+ 7276 00da 0221 movs r1, #2
+ 7277 00dc 2000 movs r0, r4
+ 7278 00de FFF7FEFF bl I2C_Disable_IRQ
+ 7279 .LVL642:
+3769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7280 .loc 1 3769 0
+ 7281 00e2 2368 ldr r3, [r4]
+ 7282 00e4 1A68 ldr r2, [r3]
+ 7283 00e6 1204 lsls r2, r2, #16
+ 7284 00e8 AFD5 bpl .L485
+3772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7285 .loc 1 3772 0
+ 7286 00ea E26B ldr r2, [r4, #60]
+ 7287 00ec 002A cmp r2, #0
+ 7288 00ee ACD0 beq .L485
+3774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7289 .loc 1 3774 0
+ 7290 00f0 1A68 ldr r2, [r3]
+ 7291 00f2 2349 ldr r1, .L498
+ 7292 00f4 0A40 ands r2, r1
+ 7293 00f6 1A60 str r2, [r3]
+3778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7294 .loc 1 3778 0
+ 7295 00f8 E36B ldr r3, [r4, #60]
+ 7296 00fa 254A ldr r2, .L498+16
+ 7297 00fc 5A63 str r2, [r3, #52]
+3781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7298 .loc 1 3781 0
+ 7299 00fe E06B ldr r0, [r4, #60]
+ 7300 0100 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7301 .LVL643:
+ 7302 0104 0028 cmp r0, #0
+ 7303 0106 A0D0 beq .L485
+3784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7304 .loc 1 3784 0
+ 7305 0108 E06B ldr r0, [r4, #60]
+ 7306 010a 436B ldr r3, [r0, #52]
+ 7307 010c 9847 blx r3
+ 7308 .LVL644:
+ 7309 010e 9CE7 b .L485
+ 7310 .L496:
+3791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7311 .loc 1 3791 0
+ 7312 0110 2368 ldr r3, [r4]
+ 7313 0112 1A68 ldr r2, [r3]
+ 7314 0114 5204 lsls r2, r2, #17
+ 7315 0116 98D5 bpl .L485
+3793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7316 .loc 1 3793 0
+ ARM GAS /tmp/ccskJbbb.s page 263
+
+
+ 7317 0118 1A68 ldr r2, [r3]
+ 7318 011a 1E49 ldr r1, .L498+20
+ 7319 011c 0A40 ands r2, r1
+ 7320 011e 1A60 str r2, [r3]
+3796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7321 .loc 1 3796 0
+ 7322 0120 A36B ldr r3, [r4, #56]
+ 7323 0122 002B cmp r3, #0
+ 7324 0124 91D0 beq .L485
+3800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7325 .loc 1 3800 0
+ 7326 0126 1A4A ldr r2, .L498+16
+ 7327 0128 5A63 str r2, [r3, #52]
+3803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7328 .loc 1 3803 0
+ 7329 012a A06B ldr r0, [r4, #56]
+ 7330 012c FFF7FEFF bl HAL_DMA_Abort_IT
+ 7331 .LVL645:
+ 7332 0130 0028 cmp r0, #0
+ 7333 0132 8AD0 beq .L485
+3806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7334 .loc 1 3806 0
+ 7335 0134 A06B ldr r0, [r4, #56]
+ 7336 0136 436B ldr r3, [r0, #52]
+ 7337 0138 9847 blx r3
+ 7338 .LVL646:
+ 7339 013a 86E7 b .L485
+ 7340 .L486:
+3848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7341 .loc 1 3848 0
+ 7342 013c 4123 movs r3, #65
+ 7343 013e 2822 movs r2, #40
+ 7344 0140 E254 strb r2, [r4, r3]
+3849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7345 .loc 1 3849 0
+ 7346 0142 0022 movs r2, #0
+ 7347 0144 0133 adds r3, r3, #1
+ 7348 0146 E254 strb r2, [r4, r3]
+3852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7349 .loc 1 3852 0
+ 7350 0148 636C ldr r3, [r4, #68]
+ 7351 014a 8021 movs r1, #128
+ 7352 014c 0B43 orrs r3, r1
+ 7353 014e 6364 str r3, [r4, #68]
+3855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7354 .loc 1 3855 0
+ 7355 0150 4023 movs r3, #64
+ 7356 0152 E254 strb r2, [r4, r3]
+3857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7357 .loc 1 3857 0
+ 7358 0154 0125 movs r5, #1
+ 7359 .LVL647:
+ 7360 0156 5FE7 b .L481
+ 7361 .LVL648:
+ 7362 .L497:
+3871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7363 .loc 1 3871 0
+ ARM GAS /tmp/ccskJbbb.s page 264
+
+
+ 7364 0158 4123 movs r3, #65
+ 7365 015a 2822 movs r2, #40
+ 7366 015c E254 strb r2, [r4, r3]
+3872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7367 .loc 1 3872 0
+ 7368 015e 0022 movs r2, #0
+ 7369 0160 0133 adds r3, r3, #1
+ 7370 0162 E254 strb r2, [r4, r3]
+3875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7371 .loc 1 3875 0
+ 7372 0164 636C ldr r3, [r4, #68]
+ 7373 0166 1021 movs r1, #16
+ 7374 0168 0B43 orrs r3, r1
+ 7375 016a 6364 str r3, [r4, #68]
+3878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7376 .loc 1 3878 0
+ 7377 016c 4023 movs r3, #64
+ 7378 016e E254 strb r2, [r4, r3]
+3880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7379 .loc 1 3880 0
+ 7380 0170 0125 movs r5, #1
+ 7381 0172 51E7 b .L481
+ 7382 .L489:
+3887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7383 .loc 1 3887 0
+ 7384 0174 0822 movs r2, #8
+ 7385 0176 DA61 str r2, [r3, #28]
+ 7386 0178 9CE7 b .L490
+ 7387 .LVL649:
+ 7388 .L492:
+3757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7389 .loc 1 3757 0
+ 7390 017a 0225 movs r5, #2
+ 7391 017c 4CE7 b .L481
+ 7392 .L499:
+ 7393 017e C046 .align 2
+ 7394 .L498:
+ 7395 0180 FF7FFFFF .word -32769
+ 7396 0184 00000000 .word I2C_Slave_ISR_DMA
+ 7397 0188 00000000 .word I2C_DMASlaveTransmitCplt
+ 7398 018c 00000000 .word I2C_DMAError
+ 7399 0190 00000000 .word I2C_DMAAbort
+ 7400 0194 FFBFFFFF .word -16385
+ 7401 .cfi_endproc
+ 7402 .LFE68:
+ 7404 .section .text.HAL_I2C_Slave_Seq_Receive_IT,"ax",%progbits
+ 7405 .align 1
+ 7406 .global HAL_I2C_Slave_Seq_Receive_IT
+ 7407 .syntax unified
+ 7408 .code 16
+ 7409 .thumb_func
+ 7410 .fpu softvfp
+ 7412 HAL_I2C_Slave_Seq_Receive_IT:
+ 7413 .LFB69:
+3921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Check the parameters */
+ 7414 .loc 1 3921 0
+ 7415 .cfi_startproc
+ ARM GAS /tmp/ccskJbbb.s page 265
+
+
+ 7416 @ args = 0, pretend = 0, frame = 0
+ 7417 @ frame_needed = 0, uses_anonymous_args = 0
+ 7418 .LVL650:
+ 7419 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7420 .LCFI59:
+ 7421 .cfi_def_cfa_offset 24
+ 7422 .cfi_offset 3, -24
+ 7423 .cfi_offset 4, -20
+ 7424 .cfi_offset 5, -16
+ 7425 .cfi_offset 6, -12
+ 7426 .cfi_offset 7, -8
+ 7427 .cfi_offset 14, -4
+ 7428 0002 0700 movs r7, r0
+ 7429 0004 0C00 movs r4, r1
+ 7430 0006 1500 movs r5, r2
+ 7431 0008 1E00 movs r6, r3
+3925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7432 .loc 1 3925 0
+ 7433 000a 4123 movs r3, #65
+ 7434 .LVL651:
+ 7435 000c C35C ldrb r3, [r0, r3]
+ 7436 000e 2822 movs r2, #40
+ 7437 .LVL652:
+ 7438 0010 1340 ands r3, r2
+ 7439 0012 282B cmp r3, #40
+ 7440 0014 01D0 beq .L508
+4001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7441 .loc 1 4001 0
+ 7442 0016 0120 movs r0, #1
+ 7443 .LVL653:
+ 7444 .L501:
+4003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7445 .loc 1 4003 0
+ 7446 @ sp needed
+ 7447 .LVL654:
+ 7448 .LVL655:
+ 7449 .LVL656:
+ 7450 0018 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7451 .LVL657:
+ 7452 .L508:
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7453 .loc 1 3927 0
+ 7454 001a 0029 cmp r1, #0
+ 7455 001c 01D0 beq .L502
+3927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7456 .loc 1 3927 0 is_stmt 0 discriminator 1
+ 7457 001e 002D cmp r5, #0
+ 7458 0020 04D1 bne .L503
+ 7459 .L502:
+3929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7460 .loc 1 3929 0 is_stmt 1
+ 7461 0022 8023 movs r3, #128
+ 7462 0024 9B00 lsls r3, r3, #2
+ 7463 0026 7B64 str r3, [r7, #68]
+3930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7464 .loc 1 3930 0
+ 7465 0028 0120 movs r0, #1
+ ARM GAS /tmp/ccskJbbb.s page 266
+
+
+ 7466 .LVL658:
+ 7467 002a F5E7 b .L501
+ 7468 .LVL659:
+ 7469 .L503:
+3934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7470 .loc 1 3934 0
+ 7471 002c 0621 movs r1, #6
+ 7472 .LVL660:
+ 7473 002e FFF7FEFF bl I2C_Disable_IRQ
+ 7474 .LVL661:
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7475 .loc 1 3937 0
+ 7476 0032 4023 movs r3, #64
+ 7477 0034 FB5C ldrb r3, [r7, r3]
+ 7478 0036 012B cmp r3, #1
+ 7479 0038 43D0 beq .L507
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7480 .loc 1 3937 0 is_stmt 0 discriminator 2
+ 7481 003a 4023 movs r3, #64
+ 7482 003c 0122 movs r2, #1
+ 7483 003e FA54 strb r2, [r7, r3]
+3941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7484 .loc 1 3941 0 is_stmt 1 discriminator 2
+ 7485 0040 0133 adds r3, r3, #1
+ 7486 0042 FB5C ldrb r3, [r7, r3]
+ 7487 0044 292B cmp r3, #41
+ 7488 0046 22D0 beq .L509
+ 7489 .L504:
+3967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7490 .loc 1 3967 0
+ 7491 0048 4123 movs r3, #65
+ 7492 004a 2A22 movs r2, #42
+ 7493 004c FA54 strb r2, [r7, r3]
+3968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7494 .loc 1 3968 0
+ 7495 004e 0133 adds r3, r3, #1
+ 7496 0050 0A3A subs r2, r2, #10
+ 7497 0052 FA54 strb r2, [r7, r3]
+3969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7498 .loc 1 3969 0
+ 7499 0054 0023 movs r3, #0
+ 7500 0056 7B64 str r3, [r7, #68]
+3972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7501 .loc 1 3972 0
+ 7502 0058 3A68 ldr r2, [r7]
+ 7503 005a 5368 ldr r3, [r2, #4]
+ 7504 005c 1A49 ldr r1, .L510
+ 7505 005e 0B40 ands r3, r1
+ 7506 0060 5360 str r3, [r2, #4]
+3975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7507 .loc 1 3975 0
+ 7508 0062 7C62 str r4, [r7, #36]
+3976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7509 .loc 1 3976 0
+ 7510 0064 7D85 strh r5, [r7, #42]
+3977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7511 .loc 1 3977 0
+ ARM GAS /tmp/ccskJbbb.s page 267
+
+
+ 7512 0066 7B8D ldrh r3, [r7, #42]
+ 7513 0068 3B85 strh r3, [r7, #40]
+3978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7514 .loc 1 3978 0
+ 7515 006a FE62 str r6, [r7, #44]
+3979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7516 .loc 1 3979 0
+ 7517 006c 174B ldr r3, .L510+4
+ 7518 006e 7B63 str r3, [r7, #52]
+3981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7519 .loc 1 3981 0
+ 7520 0070 3B68 ldr r3, [r7]
+ 7521 0072 9A69 ldr r2, [r3, #24]
+ 7522 0074 D203 lsls r2, r2, #15
+ 7523 0076 01D4 bmi .L505
+3985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7524 .loc 1 3985 0
+ 7525 0078 0822 movs r2, #8
+ 7526 007a DA61 str r2, [r3, #28]
+ 7527 .L505:
+3989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7528 .loc 1 3989 0
+ 7529 007c 4023 movs r3, #64
+ 7530 007e 0022 movs r2, #0
+ 7531 0080 FA54 strb r2, [r7, r3]
+3995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7532 .loc 1 3995 0
+ 7533 0082 0621 movs r1, #6
+ 7534 0084 3800 movs r0, r7
+ 7535 0086 FFF7FEFF bl I2C_Enable_IRQ
+ 7536 .LVL662:
+3997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7537 .loc 1 3997 0
+ 7538 008a 0020 movs r0, #0
+ 7539 008c C4E7 b .L501
+ 7540 .L509:
+3944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7541 .loc 1 3944 0
+ 7542 008e 0121 movs r1, #1
+ 7543 0090 3800 movs r0, r7
+ 7544 0092 FFF7FEFF bl I2C_Disable_IRQ
+ 7545 .LVL663:
+3946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7546 .loc 1 3946 0
+ 7547 0096 3B68 ldr r3, [r7]
+ 7548 0098 1A68 ldr r2, [r3]
+ 7549 009a 5204 lsls r2, r2, #17
+ 7550 009c D4D5 bpl .L504
+3948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7551 .loc 1 3948 0
+ 7552 009e 1A68 ldr r2, [r3]
+ 7553 00a0 0B49 ldr r1, .L510+8
+ 7554 00a2 0A40 ands r2, r1
+ 7555 00a4 1A60 str r2, [r3]
+3951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7556 .loc 1 3951 0
+ 7557 00a6 BB6B ldr r3, [r7, #56]
+ ARM GAS /tmp/ccskJbbb.s page 268
+
+
+ 7558 00a8 002B cmp r3, #0
+ 7559 00aa CDD0 beq .L504
+3955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7560 .loc 1 3955 0
+ 7561 00ac 094A ldr r2, .L510+12
+ 7562 00ae 5A63 str r2, [r3, #52]
+3958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7563 .loc 1 3958 0
+ 7564 00b0 B86B ldr r0, [r7, #56]
+ 7565 00b2 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7566 .LVL664:
+ 7567 00b6 0028 cmp r0, #0
+ 7568 00b8 C6D0 beq .L504
+3961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7569 .loc 1 3961 0
+ 7570 00ba B86B ldr r0, [r7, #56]
+ 7571 00bc 436B ldr r3, [r0, #52]
+ 7572 00be 9847 blx r3
+ 7573 .LVL665:
+ 7574 00c0 C2E7 b .L504
+ 7575 .L507:
+3937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7576 .loc 1 3937 0
+ 7577 00c2 0220 movs r0, #2
+ 7578 00c4 A8E7 b .L501
+ 7579 .L511:
+ 7580 00c6 C046 .align 2
+ 7581 .L510:
+ 7582 00c8 FF7FFFFF .word -32769
+ 7583 00cc 00000000 .word I2C_Slave_ISR_IT
+ 7584 00d0 FFBFFFFF .word -16385
+ 7585 00d4 00000000 .word I2C_DMAAbort
+ 7586 .cfi_endproc
+ 7587 .LFE69:
+ 7589 .section .text.HAL_I2C_Slave_Seq_Receive_DMA,"ax",%progbits
+ 7590 .align 1
+ 7591 .global HAL_I2C_Slave_Seq_Receive_DMA
+ 7592 .syntax unified
+ 7593 .code 16
+ 7594 .thumb_func
+ 7595 .fpu softvfp
+ 7597 HAL_I2C_Slave_Seq_Receive_DMA:
+ 7598 .LFB70:
+4016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_StatusTypeDef dmaxferstatus;
+ 7599 .loc 1 4016 0
+ 7600 .cfi_startproc
+ 7601 @ args = 0, pretend = 0, frame = 0
+ 7602 @ frame_needed = 0, uses_anonymous_args = 0
+ 7603 .LVL666:
+ 7604 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 7605 .LCFI60:
+ 7606 .cfi_def_cfa_offset 24
+ 7607 .cfi_offset 3, -24
+ 7608 .cfi_offset 4, -20
+ 7609 .cfi_offset 5, -16
+ 7610 .cfi_offset 6, -12
+ 7611 .cfi_offset 7, -8
+ ARM GAS /tmp/ccskJbbb.s page 269
+
+
+ 7612 .cfi_offset 14, -4
+ 7613 0002 0400 movs r4, r0
+ 7614 0004 0D00 movs r5, r1
+ 7615 0006 1600 movs r6, r2
+ 7616 0008 1F00 movs r7, r3
+4022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7617 .loc 1 4022 0
+ 7618 000a 4123 movs r3, #65
+ 7619 .LVL667:
+ 7620 000c C35C ldrb r3, [r0, r3]
+ 7621 000e 2822 movs r2, #40
+ 7622 .LVL668:
+ 7623 0010 1340 ands r3, r2
+ 7624 0012 282B cmp r3, #40
+ 7625 0014 02D0 beq .L526
+4180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7626 .loc 1 4180 0
+ 7627 0016 0125 movs r5, #1
+ 7628 .LVL669:
+ 7629 .L513:
+4182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7630 .loc 1 4182 0
+ 7631 0018 2800 movs r0, r5
+ 7632 @ sp needed
+ 7633 .LVL670:
+ 7634 .LVL671:
+ 7635 001a F8BD pop {r3, r4, r5, r6, r7, pc}
+ 7636 .LVL672:
+ 7637 .L526:
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7638 .loc 1 4024 0
+ 7639 001c 0029 cmp r1, #0
+ 7640 001e 01D0 beq .L514
+4024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7641 .loc 1 4024 0 is_stmt 0 discriminator 1
+ 7642 0020 002E cmp r6, #0
+ 7643 0022 04D1 bne .L515
+ 7644 .L514:
+4026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return HAL_ERROR;
+ 7645 .loc 1 4026 0 is_stmt 1
+ 7646 0024 8023 movs r3, #128
+ 7647 0026 9B00 lsls r3, r3, #2
+ 7648 0028 6364 str r3, [r4, #68]
+4027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7649 .loc 1 4027 0
+ 7650 002a 0125 movs r5, #1
+ 7651 002c F4E7 b .L513
+ 7652 .L515:
+4031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7653 .loc 1 4031 0
+ 7654 002e 0621 movs r1, #6
+ 7655 .LVL673:
+ 7656 0030 FFF7FEFF bl I2C_Disable_IRQ
+ 7657 .LVL674:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7658 .loc 1 4034 0
+ 7659 0034 4023 movs r3, #64
+ ARM GAS /tmp/ccskJbbb.s page 270
+
+
+ 7660 0036 E35C ldrb r3, [r4, r3]
+ 7661 0038 012B cmp r3, #1
+ 7662 003a 00D1 bne .LCB7795
+ 7663 003c 9DE0 b .L524 @long jump
+ 7664 .LCB7795:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7665 .loc 1 4034 0 is_stmt 0 discriminator 2
+ 7666 003e 4023 movs r3, #64
+ 7667 0040 0122 movs r2, #1
+ 7668 0042 E254 strb r2, [r4, r3]
+4038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7669 .loc 1 4038 0 is_stmt 1 discriminator 2
+ 7670 0044 0133 adds r3, r3, #1
+ 7671 0046 E35C ldrb r3, [r4, r3]
+ 7672 0048 292B cmp r3, #41
+ 7673 004a 46D0 beq .L527
+4063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7674 .loc 1 4063 0
+ 7675 004c 4123 movs r3, #65
+ 7676 004e E35C ldrb r3, [r4, r3]
+ 7677 0050 2A2B cmp r3, #42
+ 7678 0052 5DD0 beq .L528
+ 7679 .L517:
+4090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_SLAVE;
+ 7680 .loc 1 4090 0
+ 7681 0054 4123 movs r3, #65
+ 7682 0056 2A22 movs r2, #42
+ 7683 0058 E254 strb r2, [r4, r3]
+4091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->ErrorCode = HAL_I2C_ERROR_NONE;
+ 7684 .loc 1 4091 0
+ 7685 005a 0133 adds r3, r3, #1
+ 7686 005c 0A3A subs r2, r2, #10
+ 7687 005e E254 strb r2, [r4, r3]
+4092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7688 .loc 1 4092 0
+ 7689 0060 0023 movs r3, #0
+ 7690 0062 6364 str r3, [r4, #68]
+4095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7691 .loc 1 4095 0
+ 7692 0064 2268 ldr r2, [r4]
+ 7693 0066 5368 ldr r3, [r2, #4]
+ 7694 0068 4549 ldr r1, .L530
+ 7695 006a 0B40 ands r3, r1
+ 7696 006c 5360 str r3, [r2, #4]
+4098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = Size;
+ 7697 .loc 1 4098 0
+ 7698 006e 6562 str r5, [r4, #36]
+4099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize = hi2c->XferCount;
+ 7699 .loc 1 4099 0
+ 7700 0070 6685 strh r6, [r4, #42]
+4100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = XferOptions;
+ 7701 .loc 1 4100 0
+ 7702 0072 638D ldrh r3, [r4, #42]
+ 7703 0074 2385 strh r3, [r4, #40]
+4101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_DMA;
+ 7704 .loc 1 4101 0
+ 7705 0076 E762 str r7, [r4, #44]
+ ARM GAS /tmp/ccskJbbb.s page 271
+
+
+4102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7706 .loc 1 4102 0
+ 7707 0078 424B ldr r3, .L530+4
+ 7708 007a 6363 str r3, [r4, #52]
+4104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7709 .loc 1 4104 0
+ 7710 007c E36B ldr r3, [r4, #60]
+ 7711 007e 002B cmp r3, #0
+ 7712 0080 5CD0 beq .L518
+4107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7713 .loc 1 4107 0
+ 7714 0082 414A ldr r2, .L530+8
+ 7715 0084 9A62 str r2, [r3, #40]
+4110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7716 .loc 1 4110 0
+ 7717 0086 E36B ldr r3, [r4, #60]
+ 7718 0088 404A ldr r2, .L530+12
+ 7719 008a 1A63 str r2, [r3, #48]
+4113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 7720 .loc 1 4113 0
+ 7721 008c E26B ldr r2, [r4, #60]
+ 7722 008e 0023 movs r3, #0
+ 7723 0090 D362 str r3, [r2, #44]
+4114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7724 .loc 1 4114 0
+ 7725 0092 E26B ldr r2, [r4, #60]
+ 7726 0094 5363 str r3, [r2, #52]
+4117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7727 .loc 1 4117 0
+ 7728 0096 2168 ldr r1, [r4]
+ 7729 0098 2431 adds r1, r1, #36
+ 7730 009a 238D ldrh r3, [r4, #40]
+ 7731 009c 2A00 movs r2, r5
+ 7732 009e E06B ldr r0, [r4, #60]
+ 7733 00a0 FFF7FEFF bl HAL_DMA_Start_IT
+ 7734 .LVL675:
+ 7735 00a4 051E subs r5, r0, #0
+ 7736 .LVL676:
+4134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7737 .loc 1 4134 0
+ 7738 00a6 57D1 bne .L529
+4137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7739 .loc 1 4137 0
+ 7740 00a8 638D ldrh r3, [r4, #42]
+ 7741 00aa 228D ldrh r2, [r4, #40]
+ 7742 00ac 9B1A subs r3, r3, r2
+ 7743 00ae 9BB2 uxth r3, r3
+ 7744 00b0 6385 strh r3, [r4, #42]
+4140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7745 .loc 1 4140 0
+ 7746 00b2 0023 movs r3, #0
+ 7747 00b4 2385 strh r3, [r4, #40]
+4157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7748 .loc 1 4157 0
+ 7749 00b6 2368 ldr r3, [r4]
+ 7750 00b8 9A69 ldr r2, [r3, #24]
+ 7751 00ba D203 lsls r2, r2, #15
+ ARM GAS /tmp/ccskJbbb.s page 272
+
+
+ 7752 00bc 5AD5 bpl .L521
+ 7753 .L522:
+4165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7754 .loc 1 4165 0
+ 7755 00be 4023 movs r3, #64
+ 7756 00c0 0022 movs r2, #0
+ 7757 00c2 E254 strb r2, [r4, r3]
+4171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7758 .loc 1 4171 0
+ 7759 00c4 0621 movs r1, #6
+ 7760 00c6 2000 movs r0, r4
+ 7761 .LVL677:
+ 7762 00c8 FFF7FEFF bl I2C_Enable_IRQ
+ 7763 .LVL678:
+4174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7764 .loc 1 4174 0
+ 7765 00cc 2268 ldr r2, [r4]
+ 7766 00ce 1168 ldr r1, [r2]
+ 7767 00d0 8023 movs r3, #128
+ 7768 00d2 1B02 lsls r3, r3, #8
+ 7769 00d4 0B43 orrs r3, r1
+ 7770 00d6 1360 str r3, [r2]
+4176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7771 .loc 1 4176 0
+ 7772 00d8 9EE7 b .L513
+ 7773 .LVL679:
+ 7774 .L527:
+4041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7775 .loc 1 4041 0
+ 7776 00da 0121 movs r1, #1
+ 7777 00dc 2000 movs r0, r4
+ 7778 00de FFF7FEFF bl I2C_Disable_IRQ
+ 7779 .LVL680:
+4043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7780 .loc 1 4043 0
+ 7781 00e2 2368 ldr r3, [r4]
+ 7782 00e4 1A68 ldr r2, [r3]
+ 7783 00e6 5204 lsls r2, r2, #17
+ 7784 00e8 B4D5 bpl .L517
+4046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7785 .loc 1 4046 0
+ 7786 00ea A26B ldr r2, [r4, #56]
+ 7787 00ec 002A cmp r2, #0
+ 7788 00ee B1D0 beq .L517
+4048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7789 .loc 1 4048 0
+ 7790 00f0 1A68 ldr r2, [r3]
+ 7791 00f2 2749 ldr r1, .L530+16
+ 7792 00f4 0A40 ands r2, r1
+ 7793 00f6 1A60 str r2, [r3]
+4052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7794 .loc 1 4052 0
+ 7795 00f8 A36B ldr r3, [r4, #56]
+ 7796 00fa 264A ldr r2, .L530+20
+ 7797 00fc 5A63 str r2, [r3, #52]
+4055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7798 .loc 1 4055 0
+ ARM GAS /tmp/ccskJbbb.s page 273
+
+
+ 7799 00fe A06B ldr r0, [r4, #56]
+ 7800 0100 FFF7FEFF bl HAL_DMA_Abort_IT
+ 7801 .LVL681:
+ 7802 0104 0028 cmp r0, #0
+ 7803 0106 A5D0 beq .L517
+4058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7804 .loc 1 4058 0
+ 7805 0108 A06B ldr r0, [r4, #56]
+ 7806 010a 436B ldr r3, [r0, #52]
+ 7807 010c 9847 blx r3
+ 7808 .LVL682:
+ 7809 010e A1E7 b .L517
+ 7810 .L528:
+4065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7811 .loc 1 4065 0
+ 7812 0110 2368 ldr r3, [r4]
+ 7813 0112 1A68 ldr r2, [r3]
+ 7814 0114 1204 lsls r2, r2, #16
+ 7815 0116 9DD5 bpl .L517
+4067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7816 .loc 1 4067 0
+ 7817 0118 1A68 ldr r2, [r3]
+ 7818 011a 1949 ldr r1, .L530
+ 7819 011c 0A40 ands r2, r1
+ 7820 011e 1A60 str r2, [r3]
+4070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7821 .loc 1 4070 0
+ 7822 0120 E36B ldr r3, [r4, #60]
+ 7823 0122 002B cmp r3, #0
+ 7824 0124 96D0 beq .L517
+4074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7825 .loc 1 4074 0
+ 7826 0126 1B4A ldr r2, .L530+20
+ 7827 0128 5A63 str r2, [r3, #52]
+4077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7828 .loc 1 4077 0
+ 7829 012a E06B ldr r0, [r4, #60]
+ 7830 012c FFF7FEFF bl HAL_DMA_Abort_IT
+ 7831 .LVL683:
+ 7832 0130 0028 cmp r0, #0
+ 7833 0132 8FD0 beq .L517
+4080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7834 .loc 1 4080 0
+ 7835 0134 E06B ldr r0, [r4, #60]
+ 7836 0136 436B ldr r3, [r0, #52]
+ 7837 0138 9847 blx r3
+ 7838 .LVL684:
+ 7839 013a 8BE7 b .L517
+ 7840 .L518:
+4122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7841 .loc 1 4122 0
+ 7842 013c 4123 movs r3, #65
+ 7843 013e 2822 movs r2, #40
+ 7844 0140 E254 strb r2, [r4, r3]
+4123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7845 .loc 1 4123 0
+ 7846 0142 0022 movs r2, #0
+ ARM GAS /tmp/ccskJbbb.s page 274
+
+
+ 7847 0144 0133 adds r3, r3, #1
+ 7848 0146 E254 strb r2, [r4, r3]
+4126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7849 .loc 1 4126 0
+ 7850 0148 636C ldr r3, [r4, #68]
+ 7851 014a 8021 movs r1, #128
+ 7852 014c 0B43 orrs r3, r1
+ 7853 014e 6364 str r3, [r4, #68]
+4129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7854 .loc 1 4129 0
+ 7855 0150 4023 movs r3, #64
+ 7856 0152 E254 strb r2, [r4, r3]
+4131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7857 .loc 1 4131 0
+ 7858 0154 0125 movs r5, #1
+ 7859 .LVL685:
+ 7860 0156 5FE7 b .L513
+ 7861 .LVL686:
+ 7862 .L529:
+4145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 7863 .loc 1 4145 0
+ 7864 0158 4123 movs r3, #65
+ 7865 015a 2822 movs r2, #40
+ 7866 015c E254 strb r2, [r4, r3]
+4146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7867 .loc 1 4146 0
+ 7868 015e 0022 movs r2, #0
+ 7869 0160 0133 adds r3, r3, #1
+ 7870 0162 E254 strb r2, [r4, r3]
+4149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7871 .loc 1 4149 0
+ 7872 0164 636C ldr r3, [r4, #68]
+ 7873 0166 1021 movs r1, #16
+ 7874 0168 0B43 orrs r3, r1
+ 7875 016a 6364 str r3, [r4, #68]
+4152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7876 .loc 1 4152 0
+ 7877 016c 4023 movs r3, #64
+ 7878 016e E254 strb r2, [r4, r3]
+4154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7879 .loc 1 4154 0
+ 7880 0170 0125 movs r5, #1
+ 7881 0172 51E7 b .L513
+ 7882 .L521:
+4161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7883 .loc 1 4161 0
+ 7884 0174 0822 movs r2, #8
+ 7885 0176 DA61 str r2, [r3, #28]
+ 7886 0178 A1E7 b .L522
+ 7887 .LVL687:
+ 7888 .L524:
+4034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7889 .loc 1 4034 0
+ 7890 017a 0225 movs r5, #2
+ 7891 .LVL688:
+ 7892 017c 4CE7 b .L513
+ 7893 .L531:
+ ARM GAS /tmp/ccskJbbb.s page 275
+
+
+ 7894 017e C046 .align 2
+ 7895 .L530:
+ 7896 0180 FF7FFFFF .word -32769
+ 7897 0184 00000000 .word I2C_Slave_ISR_DMA
+ 7898 0188 00000000 .word I2C_DMASlaveReceiveCplt
+ 7899 018c 00000000 .word I2C_DMAError
+ 7900 0190 FFBFFFFF .word -16385
+ 7901 0194 00000000 .word I2C_DMAAbort
+ 7902 .cfi_endproc
+ 7903 .LFE70:
+ 7905 .section .text.HAL_I2C_EnableListen_IT,"ax",%progbits
+ 7906 .align 1
+ 7907 .global HAL_I2C_EnableListen_IT
+ 7908 .syntax unified
+ 7909 .code 16
+ 7910 .thumb_func
+ 7911 .fpu softvfp
+ 7913 HAL_I2C_EnableListen_IT:
+ 7914 .LFB71:
+4191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 7915 .loc 1 4191 0
+ 7916 .cfi_startproc
+ 7917 @ args = 0, pretend = 0, frame = 0
+ 7918 @ frame_needed = 0, uses_anonymous_args = 0
+ 7919 .LVL689:
+ 7920 0000 10B5 push {r4, lr}
+ 7921 .LCFI61:
+ 7922 .cfi_def_cfa_offset 8
+ 7923 .cfi_offset 4, -8
+ 7924 .cfi_offset 14, -4
+4192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7925 .loc 1 4192 0
+ 7926 0002 4123 movs r3, #65
+ 7927 0004 C35C ldrb r3, [r0, r3]
+ 7928 0006 202B cmp r3, #32
+ 7929 0008 01D0 beq .L535
+4204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7930 .loc 1 4204 0
+ 7931 000a 0220 movs r0, #2
+ 7932 .LVL690:
+ 7933 .L533:
+4206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7934 .loc 1 4206 0
+ 7935 @ sp needed
+ 7936 000c 10BD pop {r4, pc}
+ 7937 .LVL691:
+ 7938 .L535:
+4194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 7939 .loc 1 4194 0
+ 7940 000e 2133 adds r3, r3, #33
+ 7941 0010 2822 movs r2, #40
+ 7942 0012 C254 strb r2, [r0, r3]
+4195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7943 .loc 1 4195 0
+ 7944 0014 034B ldr r3, .L536
+ 7945 0016 4363 str r3, [r0, #52]
+4198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 276
+
+
+ 7946 .loc 1 4198 0
+ 7947 0018 0421 movs r1, #4
+ 7948 001a FFF7FEFF bl I2C_Enable_IRQ
+ 7949 .LVL692:
+4200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7950 .loc 1 4200 0
+ 7951 001e 0020 movs r0, #0
+ 7952 0020 F4E7 b .L533
+ 7953 .L537:
+ 7954 0022 C046 .align 2
+ 7955 .L536:
+ 7956 0024 00000000 .word I2C_Slave_ISR_IT
+ 7957 .cfi_endproc
+ 7958 .LFE71:
+ 7960 .section .text.HAL_I2C_DisableListen_IT,"ax",%progbits
+ 7961 .align 1
+ 7962 .global HAL_I2C_DisableListen_IT
+ 7963 .syntax unified
+ 7964 .code 16
+ 7965 .thumb_func
+ 7966 .fpu softvfp
+ 7968 HAL_I2C_DisableListen_IT:
+ 7969 .LFB72:
+4215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Declaration of tmp to prevent undefined behavior of volatile usage */
+ 7970 .loc 1 4215 0
+ 7971 .cfi_startproc
+ 7972 @ args = 0, pretend = 0, frame = 0
+ 7973 @ frame_needed = 0, uses_anonymous_args = 0
+ 7974 .LVL693:
+ 7975 0000 70B5 push {r4, r5, r6, lr}
+ 7976 .LCFI62:
+ 7977 .cfi_def_cfa_offset 16
+ 7978 .cfi_offset 4, -16
+ 7979 .cfi_offset 5, -12
+ 7980 .cfi_offset 6, -8
+ 7981 .cfi_offset 14, -4
+4220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 7982 .loc 1 4220 0
+ 7983 0002 4123 movs r3, #65
+ 7984 0004 C35C ldrb r3, [r0, r3]
+ 7985 0006 282B cmp r3, #40
+ 7986 0008 01D0 beq .L541
+4235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 7987 .loc 1 4235 0
+ 7988 000a 0220 movs r0, #2
+ 7989 .LVL694:
+ 7990 .L539:
+4237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 7991 .loc 1 4237 0
+ 7992 @ sp needed
+ 7993 000c 70BD pop {r4, r5, r6, pc}
+ 7994 .LVL695:
+ 7995 .L541:
+4222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = tmp | (uint32_t)(hi2c->Mode);
+ 7996 .loc 1 4222 0
+ 7997 000e 4124 movs r4, #65
+ 7998 0010 025D ldrb r2, [r0, r4]
+ ARM GAS /tmp/ccskJbbb.s page 277
+
+
+ 7999 .LVL696:
+4223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 8000 .loc 1 4223 0
+ 8001 0012 4221 movs r1, #66
+ 8002 0014 435C ldrb r3, [r0, r1]
+ 8003 0016 0325 movs r5, #3
+ 8004 0018 2A40 ands r2, r5
+ 8005 .LVL697:
+ 8006 001a 1343 orrs r3, r2
+ 8007 001c 0363 str r3, [r0, #48]
+4224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 8008 .loc 1 4224 0
+ 8009 001e 2023 movs r3, #32
+ 8010 0020 0355 strb r3, [r0, r4]
+4225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8011 .loc 1 4225 0
+ 8012 0022 0023 movs r3, #0
+ 8013 0024 4354 strb r3, [r0, r1]
+4226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8014 .loc 1 4226 0
+ 8015 0026 4363 str r3, [r0, #52]
+4229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8016 .loc 1 4229 0
+ 8017 0028 3E39 subs r1, r1, #62
+ 8018 002a FFF7FEFF bl I2C_Disable_IRQ
+ 8019 .LVL698:
+4231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8020 .loc 1 4231 0
+ 8021 002e 0020 movs r0, #0
+ 8022 0030 ECE7 b .L539
+ 8023 .cfi_endproc
+ 8024 .LFE72:
+ 8026 .section .text.HAL_I2C_Master_Abort_IT,"ax",%progbits
+ 8027 .align 1
+ 8028 .global HAL_I2C_Master_Abort_IT
+ 8029 .syntax unified
+ 8030 .code 16
+ 8031 .thumb_func
+ 8032 .fpu softvfp
+ 8034 HAL_I2C_Master_Abort_IT:
+ 8035 .LFB73:
+4248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->Mode == HAL_I2C_MODE_MASTER)
+ 8036 .loc 1 4248 0
+ 8037 .cfi_startproc
+ 8038 @ args = 0, pretend = 0, frame = 0
+ 8039 @ frame_needed = 0, uses_anonymous_args = 0
+ 8040 .LVL699:
+ 8041 0000 70B5 push {r4, r5, r6, lr}
+ 8042 .LCFI63:
+ 8043 .cfi_def_cfa_offset 16
+ 8044 .cfi_offset 4, -16
+ 8045 .cfi_offset 5, -12
+ 8046 .cfi_offset 6, -8
+ 8047 .cfi_offset 14, -4
+ 8048 0002 82B0 sub sp, sp, #8
+ 8049 .LCFI64:
+ 8050 .cfi_def_cfa_offset 24
+ ARM GAS /tmp/ccskJbbb.s page 278
+
+
+ 8051 0004 0400 movs r4, r0
+ 8052 0006 0D00 movs r5, r1
+4249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8053 .loc 1 4249 0
+ 8054 0008 4223 movs r3, #66
+ 8055 000a C35C ldrb r3, [r0, r3]
+ 8056 000c 102B cmp r3, #16
+ 8057 000e 02D0 beq .L546
+4279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8058 .loc 1 4279 0
+ 8059 0010 0120 movs r0, #1
+ 8060 .LVL700:
+ 8061 .L543:
+4281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8062 .loc 1 4281 0
+ 8063 0012 02B0 add sp, sp, #8
+ 8064 @ sp needed
+ 8065 .LVL701:
+ 8066 0014 70BD pop {r4, r5, r6, pc}
+ 8067 .LVL702:
+ 8068 .L546:
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8069 .loc 1 4252 0
+ 8070 0016 3033 adds r3, r3, #48
+ 8071 0018 C35C ldrb r3, [r0, r3]
+ 8072 001a 012B cmp r3, #1
+ 8073 001c 1DD0 beq .L545
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8074 .loc 1 4252 0 is_stmt 0 discriminator 2
+ 8075 001e 4026 movs r6, #64
+ 8076 0020 0123 movs r3, #1
+ 8077 0022 8355 strb r3, [r0, r6]
+4255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_Disable_IRQ(hi2c, I2C_XFER_TX_IT);
+ 8078 .loc 1 4255 0 is_stmt 1 discriminator 2
+ 8079 0024 0221 movs r1, #2
+ 8080 .LVL703:
+ 8081 0026 FFF7FEFF bl I2C_Disable_IRQ
+ 8082 .LVL704:
+4256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8083 .loc 1 4256 0 discriminator 2
+ 8084 002a 0121 movs r1, #1
+ 8085 002c 2000 movs r0, r4
+ 8086 002e FFF7FEFF bl I2C_Disable_IRQ
+ 8087 .LVL705:
+4259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8088 .loc 1 4259 0 discriminator 2
+ 8089 0032 4123 movs r3, #65
+ 8090 0034 6022 movs r2, #96
+ 8091 0036 E254 strb r2, [r4, r3]
+4263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8092 .loc 1 4263 0 discriminator 2
+ 8093 0038 3F33 adds r3, r3, #63
+ 8094 003a 094A ldr r2, .L547
+ 8095 003c 0092 str r2, [sp]
+ 8096 003e 9B04 lsls r3, r3, #18
+ 8097 0040 0122 movs r2, #1
+ 8098 0042 2900 movs r1, r5
+ ARM GAS /tmp/ccskJbbb.s page 279
+
+
+ 8099 0044 2000 movs r0, r4
+ 8100 0046 FFF7FEFF bl I2C_TransferConfig
+ 8101 .LVL706:
+4266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8102 .loc 1 4266 0 discriminator 2
+ 8103 004a 0023 movs r3, #0
+ 8104 004c A355 strb r3, [r4, r6]
+4271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8105 .loc 1 4271 0 discriminator 2
+ 8106 004e 1221 movs r1, #18
+ 8107 0050 2000 movs r0, r4
+ 8108 0052 FFF7FEFF bl I2C_Enable_IRQ
+ 8109 .LVL707:
+4273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8110 .loc 1 4273 0 discriminator 2
+ 8111 0056 0020 movs r0, #0
+ 8112 0058 DBE7 b .L543
+ 8113 .LVL708:
+ 8114 .L545:
+4252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8115 .loc 1 4252 0
+ 8116 005a 0220 movs r0, #2
+ 8117 .LVL709:
+ 8118 005c D9E7 b .L543
+ 8119 .L548:
+ 8120 005e C046 .align 2
+ 8121 .L547:
+ 8122 0060 00400080 .word -2147467264
+ 8123 .cfi_endproc
+ 8124 .LFE73:
+ 8126 .section .text.HAL_I2C_EV_IRQHandler,"ax",%progbits
+ 8127 .align 1
+ 8128 .global HAL_I2C_EV_IRQHandler
+ 8129 .syntax unified
+ 8130 .code 16
+ 8131 .thumb_func
+ 8132 .fpu softvfp
+ 8134 HAL_I2C_EV_IRQHandler:
+ 8135 .LFB74:
+4298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Get current IT Flags and IT sources value */
+ 8136 .loc 1 4298 0
+ 8137 .cfi_startproc
+ 8138 @ args = 0, pretend = 0, frame = 0
+ 8139 @ frame_needed = 0, uses_anonymous_args = 0
+ 8140 .LVL710:
+ 8141 0000 10B5 push {r4, lr}
+ 8142 .LCFI65:
+ 8143 .cfi_def_cfa_offset 8
+ 8144 .cfi_offset 4, -8
+ 8145 .cfi_offset 14, -4
+4300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+ 8146 .loc 1 4300 0
+ 8147 0002 0368 ldr r3, [r0]
+ 8148 0004 9969 ldr r1, [r3, #24]
+ 8149 .LVL711:
+4301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8150 .loc 1 4301 0
+ ARM GAS /tmp/ccskJbbb.s page 280
+
+
+ 8151 0006 1A68 ldr r2, [r3]
+ 8152 .LVL712:
+4304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8153 .loc 1 4304 0
+ 8154 0008 436B ldr r3, [r0, #52]
+ 8155 000a 002B cmp r3, #0
+ 8156 000c 00D0 beq .L549
+4306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8157 .loc 1 4306 0
+ 8158 000e 9847 blx r3
+ 8159 .LVL713:
+ 8160 .L549:
+4308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8161 .loc 1 4308 0
+ 8162 @ sp needed
+ 8163 0010 10BD pop {r4, pc}
+ 8164 .cfi_endproc
+ 8165 .LFE74:
+ 8167 .section .text.HAL_I2C_MasterTxCpltCallback,"ax",%progbits
+ 8168 .align 1
+ 8169 .weak HAL_I2C_MasterTxCpltCallback
+ 8170 .syntax unified
+ 8171 .code 16
+ 8172 .thumb_func
+ 8173 .fpu softvfp
+ 8175 HAL_I2C_MasterTxCpltCallback:
+ 8176 .LFB76:
+4366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8177 .loc 1 4366 0
+ 8178 .cfi_startproc
+ 8179 @ args = 0, pretend = 0, frame = 0
+ 8180 @ frame_needed = 0, uses_anonymous_args = 0
+ 8181 @ link register save eliminated.
+ 8182 .LVL714:
+4373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8183 .loc 1 4373 0
+ 8184 @ sp needed
+ 8185 0000 7047 bx lr
+ 8186 .cfi_endproc
+ 8187 .LFE76:
+ 8189 .section .text.HAL_I2C_MasterRxCpltCallback,"ax",%progbits
+ 8190 .align 1
+ 8191 .weak HAL_I2C_MasterRxCpltCallback
+ 8192 .syntax unified
+ 8193 .code 16
+ 8194 .thumb_func
+ 8195 .fpu softvfp
+ 8197 HAL_I2C_MasterRxCpltCallback:
+ 8198 .LFB77:
+4382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8199 .loc 1 4382 0
+ 8200 .cfi_startproc
+ 8201 @ args = 0, pretend = 0, frame = 0
+ 8202 @ frame_needed = 0, uses_anonymous_args = 0
+ 8203 @ link register save eliminated.
+ 8204 .LVL715:
+4389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 281
+
+
+ 8205 .loc 1 4389 0
+ 8206 @ sp needed
+ 8207 0000 7047 bx lr
+ 8208 .cfi_endproc
+ 8209 .LFE77:
+ 8211 .section .text.I2C_ITMasterSeqCplt,"ax",%progbits
+ 8212 .align 1
+ 8213 .syntax unified
+ 8214 .code 16
+ 8215 .thumb_func
+ 8216 .fpu softvfp
+ 8218 I2C_ITMasterSeqCplt:
+ 8219 .LFB96:
+5318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+ 8220 .loc 1 5318 0
+ 8221 .cfi_startproc
+ 8222 @ args = 0, pretend = 0, frame = 0
+ 8223 @ frame_needed = 0, uses_anonymous_args = 0
+ 8224 .LVL716:
+ 8225 0000 70B5 push {r4, r5, r6, lr}
+ 8226 .LCFI66:
+ 8227 .cfi_def_cfa_offset 16
+ 8228 .cfi_offset 4, -16
+ 8229 .cfi_offset 5, -12
+ 8230 .cfi_offset 6, -8
+ 8231 .cfi_offset 14, -4
+ 8232 0002 0400 movs r4, r0
+5320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8233 .loc 1 5320 0
+ 8234 0004 4223 movs r3, #66
+ 8235 0006 0022 movs r2, #0
+ 8236 0008 C254 strb r2, [r0, r3]
+5324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8237 .loc 1 5324 0
+ 8238 000a 013B subs r3, r3, #1
+ 8239 000c C35C ldrb r3, [r0, r3]
+ 8240 000e 212B cmp r3, #33
+ 8241 0010 0FD0 beq .L556
+5346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_RX;
+ 8242 .loc 1 5346 0
+ 8243 0012 4123 movs r3, #65
+ 8244 0014 2022 movs r2, #32
+ 8245 0016 C254 strb r2, [r0, r3]
+5347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8246 .loc 1 5347 0
+ 8247 0018 2F3B subs r3, r3, #47
+ 8248 001a 0363 str r3, [r0, #48]
+5348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8249 .loc 1 5348 0
+ 8250 001c 0025 movs r5, #0
+ 8251 001e 4563 str r5, [r0, #52]
+5351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8252 .loc 1 5351 0
+ 8253 0020 0221 movs r1, #2
+ 8254 0022 FFF7FEFF bl I2C_Disable_IRQ
+ 8255 .LVL717:
+5354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 282
+
+
+ 8256 .loc 1 5354 0
+ 8257 0026 4023 movs r3, #64
+ 8258 0028 E554 strb r5, [r4, r3]
+5360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8259 .loc 1 5360 0
+ 8260 002a 2000 movs r0, r4
+ 8261 002c FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
+ 8262 .LVL718:
+ 8263 .L553:
+5363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8264 .loc 1 5363 0
+ 8265 @ sp needed
+ 8266 .LVL719:
+ 8267 0030 70BD pop {r4, r5, r6, pc}
+ 8268 .LVL720:
+ 8269 .L556:
+5326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_MASTER_BUSY_TX;
+ 8270 .loc 1 5326 0
+ 8271 0032 2033 adds r3, r3, #32
+ 8272 0034 2032 adds r2, r2, #32
+ 8273 0036 C254 strb r2, [r0, r3]
+5327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8274 .loc 1 5327 0
+ 8275 0038 303B subs r3, r3, #48
+ 8276 003a 0363 str r3, [r0, #48]
+5328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8277 .loc 1 5328 0
+ 8278 003c 0025 movs r5, #0
+ 8279 003e 4563 str r5, [r0, #52]
+5331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8280 .loc 1 5331 0
+ 8281 0040 0121 movs r1, #1
+ 8282 0042 FFF7FEFF bl I2C_Disable_IRQ
+ 8283 .LVL721:
+5334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8284 .loc 1 5334 0
+ 8285 0046 4023 movs r3, #64
+ 8286 0048 E554 strb r5, [r4, r3]
+5340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8287 .loc 1 5340 0
+ 8288 004a 2000 movs r0, r4
+ 8289 004c FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
+ 8290 .LVL722:
+ 8291 0050 EEE7 b .L553
+ 8292 .cfi_endproc
+ 8293 .LFE96:
+ 8295 .section .text.HAL_I2C_SlaveTxCpltCallback,"ax",%progbits
+ 8296 .align 1
+ 8297 .weak HAL_I2C_SlaveTxCpltCallback
+ 8298 .syntax unified
+ 8299 .code 16
+ 8300 .thumb_func
+ 8301 .fpu softvfp
+ 8303 HAL_I2C_SlaveTxCpltCallback:
+ 8304 .LFB78:
+4397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8305 .loc 1 4397 0
+ ARM GAS /tmp/ccskJbbb.s page 283
+
+
+ 8306 .cfi_startproc
+ 8307 @ args = 0, pretend = 0, frame = 0
+ 8308 @ frame_needed = 0, uses_anonymous_args = 0
+ 8309 @ link register save eliminated.
+ 8310 .LVL723:
+4404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8311 .loc 1 4404 0
+ 8312 @ sp needed
+ 8313 0000 7047 bx lr
+ 8314 .cfi_endproc
+ 8315 .LFE78:
+ 8317 .section .text.HAL_I2C_SlaveRxCpltCallback,"ax",%progbits
+ 8318 .align 1
+ 8319 .weak HAL_I2C_SlaveRxCpltCallback
+ 8320 .syntax unified
+ 8321 .code 16
+ 8322 .thumb_func
+ 8323 .fpu softvfp
+ 8325 HAL_I2C_SlaveRxCpltCallback:
+ 8326 .LFB79:
+4413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8327 .loc 1 4413 0
+ 8328 .cfi_startproc
+ 8329 @ args = 0, pretend = 0, frame = 0
+ 8330 @ frame_needed = 0, uses_anonymous_args = 0
+ 8331 @ link register save eliminated.
+ 8332 .LVL724:
+4420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8333 .loc 1 4420 0
+ 8334 @ sp needed
+ 8335 0000 7047 bx lr
+ 8336 .cfi_endproc
+ 8337 .LFE79:
+ 8339 .section .text.I2C_ITSlaveSeqCplt,"ax",%progbits
+ 8340 .align 1
+ 8341 .syntax unified
+ 8342 .code 16
+ 8343 .thumb_func
+ 8344 .fpu softvfp
+ 8346 I2C_ITSlaveSeqCplt:
+ 8347 .LFB97:
+5371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset I2C handle mode */
+ 8348 .loc 1 5371 0
+ 8349 .cfi_startproc
+ 8350 @ args = 0, pretend = 0, frame = 0
+ 8351 @ frame_needed = 0, uses_anonymous_args = 0
+ 8352 .LVL725:
+ 8353 0000 10B5 push {r4, lr}
+ 8354 .LCFI67:
+ 8355 .cfi_def_cfa_offset 8
+ 8356 .cfi_offset 4, -8
+ 8357 .cfi_offset 14, -4
+ 8358 0002 0400 movs r4, r0
+5373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8359 .loc 1 5373 0
+ 8360 0004 4223 movs r3, #66
+ 8361 0006 0022 movs r2, #0
+ ARM GAS /tmp/ccskJbbb.s page 284
+
+
+ 8362 0008 C254 strb r2, [r0, r3]
+5375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8363 .loc 1 5375 0
+ 8364 000a 013B subs r3, r3, #1
+ 8365 000c C35C ldrb r3, [r0, r3]
+ 8366 000e 292B cmp r3, #41
+ 8367 0010 04D0 beq .L562
+5395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8368 .loc 1 5395 0
+ 8369 0012 4123 movs r3, #65
+ 8370 0014 C35C ldrb r3, [r0, r3]
+ 8371 0016 2A2B cmp r3, #42
+ 8372 0018 0FD0 beq .L563
+ 8373 .LVL726:
+ 8374 .L559:
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8375 .loc 1 5418 0
+ 8376 @ sp needed
+ 8377 .LVL727:
+ 8378 001a 10BD pop {r4, pc}
+ 8379 .LVL728:
+ 8380 .L562:
+5378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_TX;
+ 8381 .loc 1 5378 0
+ 8382 001c 1833 adds r3, r3, #24
+ 8383 001e 2832 adds r2, r2, #40
+ 8384 0020 C254 strb r2, [r0, r3]
+5379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8385 .loc 1 5379 0
+ 8386 0022 203B subs r3, r3, #32
+ 8387 0024 0363 str r3, [r0, #48]
+5382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8388 .loc 1 5382 0
+ 8389 0026 0121 movs r1, #1
+ 8390 0028 FFF7FEFF bl I2C_Disable_IRQ
+ 8391 .LVL729:
+5385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8392 .loc 1 5385 0
+ 8393 002c 4023 movs r3, #64
+ 8394 002e 0022 movs r2, #0
+ 8395 0030 E254 strb r2, [r4, r3]
+5391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8396 .loc 1 5391 0
+ 8397 0032 2000 movs r0, r4
+ 8398 0034 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
+ 8399 .LVL730:
+ 8400 0038 EFE7 b .L559
+ 8401 .LVL731:
+ 8402 .L563:
+5398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_SLAVE_BUSY_RX;
+ 8403 .loc 1 5398 0
+ 8404 003a 1733 adds r3, r3, #23
+ 8405 003c 2822 movs r2, #40
+ 8406 003e C254 strb r2, [r0, r3]
+5399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8407 .loc 1 5399 0
+ 8408 0040 1F3B subs r3, r3, #31
+ ARM GAS /tmp/ccskJbbb.s page 285
+
+
+ 8409 0042 0363 str r3, [r0, #48]
+5402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8410 .loc 1 5402 0
+ 8411 0044 0221 movs r1, #2
+ 8412 0046 FFF7FEFF bl I2C_Disable_IRQ
+ 8413 .LVL732:
+5405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8414 .loc 1 5405 0
+ 8415 004a 4023 movs r3, #64
+ 8416 004c 0022 movs r2, #0
+ 8417 004e E254 strb r2, [r4, r3]
+5411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8418 .loc 1 5411 0
+ 8419 0050 2000 movs r0, r4
+ 8420 0052 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
+ 8421 .LVL733:
+5418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8422 .loc 1 5418 0
+ 8423 0056 E0E7 b .L559
+ 8424 .cfi_endproc
+ 8425 .LFE97:
+ 8427 .section .text.I2C_DMASlaveTransmitCplt,"ax",%progbits
+ 8428 .align 1
+ 8429 .syntax unified
+ 8430 .code 16
+ 8431 .thumb_func
+ 8432 .fpu softvfp
+ 8434 I2C_DMASlaveTransmitCplt:
+ 8435 .LFB104:
+5921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 8436 .loc 1 5921 0
+ 8437 .cfi_startproc
+ 8438 @ args = 0, pretend = 0, frame = 0
+ 8439 @ frame_needed = 0, uses_anonymous_args = 0
+ 8440 .LVL734:
+ 8441 0000 10B5 push {r4, lr}
+ 8442 .LCFI68:
+ 8443 .cfi_def_cfa_offset 8
+ 8444 .cfi_offset 4, -8
+ 8445 .cfi_offset 14, -4
+5922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 8446 .loc 1 5922 0
+ 8447 0002 406A ldr r0, [r0, #36]
+ 8448 .LVL735:
+5923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8449 .loc 1 5923 0
+ 8450 0004 C36A ldr r3, [r0, #44]
+ 8451 .LVL736:
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8452 .loc 1 5925 0
+ 8453 0006 8022 movs r2, #128
+ 8454 0008 5204 lsls r2, r2, #17
+ 8455 000a 9342 cmp r3, r2
+ 8456 000c 01D0 beq .L565
+5925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8457 .loc 1 5925 0 is_stmt 0 discriminator 1
+ 8458 000e 002B cmp r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 286
+
+
+ 8459 0010 06D1 bne .L564
+ 8460 .L565:
+5928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8461 .loc 1 5928 0 is_stmt 1
+ 8462 0012 0268 ldr r2, [r0]
+ 8463 0014 1368 ldr r3, [r2]
+ 8464 .LVL737:
+ 8465 0016 0349 ldr r1, .L567
+ 8466 0018 0B40 ands r3, r1
+ 8467 001a 1360 str r3, [r2]
+5932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8468 .loc 1 5932 0
+ 8469 001c FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 8470 .LVL738:
+ 8471 .L564:
+5940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8472 .loc 1 5940 0
+ 8473 @ sp needed
+ 8474 0020 10BD pop {r4, pc}
+ 8475 .L568:
+ 8476 0022 C046 .align 2
+ 8477 .L567:
+ 8478 0024 FFBFFFFF .word -16385
+ 8479 .cfi_endproc
+ 8480 .LFE104:
+ 8482 .section .text.I2C_DMASlaveReceiveCplt,"ax",%progbits
+ 8483 .align 1
+ 8484 .syntax unified
+ 8485 .code 16
+ 8486 .thumb_func
+ 8487 .fpu softvfp
+ 8489 I2C_DMASlaveReceiveCplt:
+ 8490 .LFB106:
+5996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 8491 .loc 1 5996 0
+ 8492 .cfi_startproc
+ 8493 @ args = 0, pretend = 0, frame = 0
+ 8494 @ frame_needed = 0, uses_anonymous_args = 0
+ 8495 .LVL739:
+ 8496 0000 10B5 push {r4, lr}
+ 8497 .LCFI69:
+ 8498 .cfi_def_cfa_offset 8
+ 8499 .cfi_offset 4, -8
+ 8500 .cfi_offset 14, -4
+5997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 8501 .loc 1 5997 0
+ 8502 0002 406A ldr r0, [r0, #36]
+ 8503 .LVL740:
+5998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8504 .loc 1 5998 0
+ 8505 0004 C26A ldr r2, [r0, #44]
+ 8506 .LVL741:
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 8507 .loc 1 6000 0
+ 8508 0006 C36B ldr r3, [r0, #60]
+ 8509 0008 1B68 ldr r3, [r3]
+ 8510 000a 5B68 ldr r3, [r3, #4]
+ ARM GAS /tmp/ccskJbbb.s page 287
+
+
+ 8511 000c 002B cmp r3, #0
+ 8512 000e 09D1 bne .L569
+6000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 8513 .loc 1 6000 0 is_stmt 0 discriminator 1
+ 8514 0010 054B ldr r3, .L571
+ 8515 0012 9A42 cmp r2, r3
+ 8516 0014 06D0 beq .L569
+6004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8517 .loc 1 6004 0 is_stmt 1
+ 8518 0016 0268 ldr r2, [r0]
+ 8519 .LVL742:
+ 8520 0018 1368 ldr r3, [r2]
+ 8521 001a 0449 ldr r1, .L571+4
+ 8522 001c 0B40 ands r3, r1
+ 8523 001e 1360 str r3, [r2]
+6007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8524 .loc 1 6007 0
+ 8525 0020 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 8526 .LVL743:
+ 8527 .L569:
+6015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8528 .loc 1 6015 0
+ 8529 @ sp needed
+ 8530 0024 10BD pop {r4, pc}
+ 8531 .L572:
+ 8532 0026 C046 .align 2
+ 8533 .L571:
+ 8534 0028 0000FFFF .word -65536
+ 8535 002c FF7FFFFF .word -32769
+ 8536 .cfi_endproc
+ 8537 .LFE106:
+ 8539 .section .text.HAL_I2C_AddrCallback,"ax",%progbits
+ 8540 .align 1
+ 8541 .weak HAL_I2C_AddrCallback
+ 8542 .syntax unified
+ 8543 .code 16
+ 8544 .thumb_func
+ 8545 .fpu softvfp
+ 8547 HAL_I2C_AddrCallback:
+ 8548 .LFB80:
+4431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8549 .loc 1 4431 0
+ 8550 .cfi_startproc
+ 8551 @ args = 0, pretend = 0, frame = 0
+ 8552 @ frame_needed = 0, uses_anonymous_args = 0
+ 8553 @ link register save eliminated.
+ 8554 .LVL744:
+4440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8555 .loc 1 4440 0
+ 8556 @ sp needed
+ 8557 0000 7047 bx lr
+ 8558 .cfi_endproc
+ 8559 .LFE80:
+ 8561 .section .text.I2C_ITAddrCplt,"ax",%progbits
+ 8562 .align 1
+ 8563 .syntax unified
+ 8564 .code 16
+ ARM GAS /tmp/ccskJbbb.s page 288
+
+
+ 8565 .thumb_func
+ 8566 .fpu softvfp
+ 8568 I2C_ITAddrCplt:
+ 8569 .LFB95:
+5223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint8_t transferdirection;
+ 8570 .loc 1 5223 0
+ 8571 .cfi_startproc
+ 8572 @ args = 0, pretend = 0, frame = 0
+ 8573 @ frame_needed = 0, uses_anonymous_args = 0
+ 8574 .LVL745:
+ 8575 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 8576 .LCFI70:
+ 8577 .cfi_def_cfa_offset 24
+ 8578 .cfi_offset 3, -24
+ 8579 .cfi_offset 4, -20
+ 8580 .cfi_offset 5, -16
+ 8581 .cfi_offset 6, -12
+ 8582 .cfi_offset 7, -8
+ 8583 .cfi_offset 14, -4
+ 8584 0002 0400 movs r4, r0
+5233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8585 .loc 1 5233 0
+ 8586 0004 4123 movs r3, #65
+ 8587 0006 C35C ldrb r3, [r0, r3]
+ 8588 0008 2822 movs r2, #40
+ 8589 000a 1340 ands r3, r2
+ 8590 000c 282B cmp r3, #40
+ 8591 000e 06D0 beq .L579
+5305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8592 .loc 1 5305 0
+ 8593 0010 0368 ldr r3, [r0]
+ 8594 0012 0822 movs r2, #8
+ 8595 0014 DA61 str r2, [r3, #28]
+5308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8596 .loc 1 5308 0
+ 8597 0016 4023 movs r3, #64
+ 8598 0018 0022 movs r2, #0
+ 8599 001a C254 strb r2, [r0, r3]
+ 8600 .LVL746:
+ 8601 .L574:
+5310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8602 .loc 1 5310 0
+ 8603 @ sp needed
+ 8604 .LVL747:
+ 8605 001c F8BD pop {r3, r4, r5, r6, r7, pc}
+ 8606 .LVL748:
+ 8607 .L579:
+5235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** slaveaddrcode = I2C_GET_ADDR_MATCH(hi2c);
+ 8608 .loc 1 5235 0
+ 8609 001e 0368 ldr r3, [r0]
+ 8610 0020 9E69 ldr r6, [r3, #24]
+ 8611 0022 360C lsrs r6, r6, #16
+ 8612 0024 273A subs r2, r2, #39
+ 8613 0026 1640 ands r6, r2
+ 8614 .LVL749:
+5236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd1code = I2C_GET_OWN_ADDRESS1(hi2c);
+ 8615 .loc 1 5236 0
+ ARM GAS /tmp/ccskJbbb.s page 289
+
+
+ 8616 0028 9A69 ldr r2, [r3, #24]
+ 8617 002a 120C lsrs r2, r2, #16
+ 8618 002c FE27 movs r7, #254
+ 8619 002e 3A40 ands r2, r7
+ 8620 0030 1500 movs r5, r2
+ 8621 .LVL750:
+5237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** ownadd2code = I2C_GET_OWN_ADDRESS2(hi2c);
+ 8622 .loc 1 5237 0
+ 8623 0032 9A68 ldr r2, [r3, #8]
+ 8624 0034 9205 lsls r2, r2, #22
+ 8625 0036 920D lsrs r2, r2, #22
+ 8626 .LVL751:
+5238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8627 .loc 1 5238 0
+ 8628 0038 D868 ldr r0, [r3, #12]
+ 8629 .LVL752:
+ 8630 003a 0740 ands r7, r0
+ 8631 .LVL753:
+5241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8632 .loc 1 5241 0
+ 8633 003c E168 ldr r1, [r4, #12]
+ 8634 .LVL754:
+ 8635 003e 0229 cmp r1, #2
+ 8636 0040 22D1 bne .L576
+5243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8637 .loc 1 5243 0
+ 8638 0042 D009 lsrs r0, r2, #7
+ 8639 0044 4540 eors r5, r0
+ 8640 .LVL755:
+ 8641 0046 0431 adds r1, r1, #4
+ 8642 0048 2942 tst r1, r5
+ 8643 004a 10D1 bne .L577
+ 8644 .LVL756:
+5246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->AddrEventCount == 2U)
+ 8645 .loc 1 5246 0
+ 8646 004c A16C ldr r1, [r4, #72]
+ 8647 004e 0131 adds r1, r1, #1
+ 8648 0050 A164 str r1, [r4, #72]
+5247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8649 .loc 1 5247 0
+ 8650 0052 A16C ldr r1, [r4, #72]
+ 8651 0054 0229 cmp r1, #2
+ 8652 0056 E1D1 bne .L574
+5250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8653 .loc 1 5250 0
+ 8654 0058 0021 movs r1, #0
+ 8655 005a A164 str r1, [r4, #72]
+5253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8656 .loc 1 5253 0
+ 8657 005c 0820 movs r0, #8
+ 8658 005e D861 str r0, [r3, #28]
+5256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8659 .loc 1 5256 0
+ 8660 0060 4023 movs r3, #64
+ 8661 0062 E154 strb r1, [r4, r3]
+5262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8662 .loc 1 5262 0
+ ARM GAS /tmp/ccskJbbb.s page 290
+
+
+ 8663 0064 3100 movs r1, r6
+ 8664 0066 2000 movs r0, r4
+ 8665 0068 FFF7FEFF bl HAL_I2C_AddrCallback
+ 8666 .LVL757:
+ 8667 006c D6E7 b .L574
+ 8668 .LVL758:
+ 8669 .L577:
+5271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8670 .loc 1 5271 0
+ 8671 006e 0421 movs r1, #4
+ 8672 0070 2000 movs r0, r4
+ 8673 0072 FFF7FEFF bl I2C_Disable_IRQ
+ 8674 .LVL759:
+5274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8675 .loc 1 5274 0
+ 8676 0076 4023 movs r3, #64
+ 8677 0078 0022 movs r2, #0
+ 8678 007a E254 strb r2, [r4, r3]
+5280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8679 .loc 1 5280 0
+ 8680 007c 3A00 movs r2, r7
+ 8681 007e 3100 movs r1, r6
+ 8682 0080 2000 movs r0, r4
+ 8683 0082 FFF7FEFF bl HAL_I2C_AddrCallback
+ 8684 .LVL760:
+ 8685 0086 C9E7 b .L574
+ 8686 .LVL761:
+ 8687 .L576:
+5288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8688 .loc 1 5288 0
+ 8689 0088 0421 movs r1, #4
+ 8690 008a 2000 movs r0, r4
+ 8691 008c FFF7FEFF bl I2C_Disable_IRQ
+ 8692 .LVL762:
+5291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8693 .loc 1 5291 0
+ 8694 0090 4023 movs r3, #64
+ 8695 0092 0022 movs r2, #0
+ 8696 0094 E254 strb r2, [r4, r3]
+5297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8697 .loc 1 5297 0
+ 8698 0096 2A00 movs r2, r5
+ 8699 0098 3100 movs r1, r6
+ 8700 009a 2000 movs r0, r4
+ 8701 009c FFF7FEFF bl HAL_I2C_AddrCallback
+ 8702 .LVL763:
+ 8703 00a0 BCE7 b .L574
+ 8704 .cfi_endproc
+ 8705 .LFE95:
+ 8707 .section .text.HAL_I2C_ListenCpltCallback,"ax",%progbits
+ 8708 .align 1
+ 8709 .weak HAL_I2C_ListenCpltCallback
+ 8710 .syntax unified
+ 8711 .code 16
+ 8712 .thumb_func
+ 8713 .fpu softvfp
+ 8715 HAL_I2C_ListenCpltCallback:
+ ARM GAS /tmp/ccskJbbb.s page 291
+
+
+ 8716 .LFB81:
+4449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8717 .loc 1 4449 0
+ 8718 .cfi_startproc
+ 8719 @ args = 0, pretend = 0, frame = 0
+ 8720 @ frame_needed = 0, uses_anonymous_args = 0
+ 8721 @ link register save eliminated.
+ 8722 .LVL764:
+4456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8723 .loc 1 4456 0
+ 8724 @ sp needed
+ 8725 0000 7047 bx lr
+ 8726 .cfi_endproc
+ 8727 .LFE81:
+ 8729 .section .text.I2C_ITListenCplt,"ax",%progbits
+ 8730 .align 1
+ 8731 .syntax unified
+ 8732 .code 16
+ 8733 .thumb_func
+ 8734 .fpu softvfp
+ 8736 I2C_ITListenCplt:
+ 8737 .LFB100:
+5683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Reset handle parameters */
+ 8738 .loc 1 5683 0
+ 8739 .cfi_startproc
+ 8740 @ args = 0, pretend = 0, frame = 0
+ 8741 @ frame_needed = 0, uses_anonymous_args = 0
+ 8742 .LVL765:
+ 8743 0000 10B5 push {r4, lr}
+ 8744 .LCFI71:
+ 8745 .cfi_def_cfa_offset 8
+ 8746 .cfi_offset 4, -8
+ 8747 .cfi_offset 14, -4
+ 8748 0002 0400 movs r4, r0
+5685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 8749 .loc 1 5685 0
+ 8750 0004 164B ldr r3, .L583
+ 8751 0006 C362 str r3, [r0, #44]
+5686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 8752 .loc 1 5686 0
+ 8753 0008 0023 movs r3, #0
+ 8754 000a 0363 str r3, [r0, #48]
+5687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ 8755 .loc 1 5687 0
+ 8756 000c 4122 movs r2, #65
+ 8757 000e 2020 movs r0, #32
+ 8758 .LVL766:
+ 8759 0010 A054 strb r0, [r4, r2]
+5688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 8760 .loc 1 5688 0
+ 8761 0012 0132 adds r2, r2, #1
+ 8762 0014 A354 strb r3, [r4, r2]
+5689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8763 .loc 1 5689 0
+ 8764 0016 6363 str r3, [r4, #52]
+5692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8765 .loc 1 5692 0
+ ARM GAS /tmp/ccskJbbb.s page 292
+
+
+ 8766 0018 4B07 lsls r3, r1, #29
+ 8767 001a 13D5 bpl .L582
+5695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8768 .loc 1 5695 0
+ 8769 001c 2368 ldr r3, [r4]
+ 8770 001e 5B6A ldr r3, [r3, #36]
+ 8771 0020 626A ldr r2, [r4, #36]
+ 8772 0022 1370 strb r3, [r2]
+5698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8773 .loc 1 5698 0
+ 8774 0024 636A ldr r3, [r4, #36]
+ 8775 0026 0133 adds r3, r3, #1
+ 8776 0028 6362 str r3, [r4, #36]
+5700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8777 .loc 1 5700 0
+ 8778 002a 238D ldrh r3, [r4, #40]
+ 8779 002c 002B cmp r3, #0
+ 8780 002e 09D0 beq .L582
+5702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 8781 .loc 1 5702 0
+ 8782 0030 013B subs r3, r3, #1
+ 8783 0032 2385 strh r3, [r4, #40]
+5703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8784 .loc 1 5703 0
+ 8785 0034 638D ldrh r3, [r4, #42]
+ 8786 0036 013B subs r3, r3, #1
+ 8787 0038 9BB2 uxth r3, r3
+ 8788 003a 6385 strh r3, [r4, #42]
+5706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8789 .loc 1 5706 0
+ 8790 003c 636C ldr r3, [r4, #68]
+ 8791 003e 0422 movs r2, #4
+ 8792 0040 1343 orrs r3, r2
+ 8793 0042 6364 str r3, [r4, #68]
+ 8794 .L582:
+5711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8795 .loc 1 5711 0
+ 8796 0044 0721 movs r1, #7
+ 8797 .LVL767:
+ 8798 0046 2000 movs r0, r4
+ 8799 0048 FFF7FEFF bl I2C_Disable_IRQ
+ 8800 .LVL768:
+5714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8801 .loc 1 5714 0
+ 8802 004c 2368 ldr r3, [r4]
+ 8803 004e 1022 movs r2, #16
+ 8804 0050 DA61 str r2, [r3, #28]
+5717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8805 .loc 1 5717 0
+ 8806 0052 4023 movs r3, #64
+ 8807 0054 0022 movs r2, #0
+ 8808 0056 E254 strb r2, [r4, r3]
+5723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 8809 .loc 1 5723 0
+ 8810 0058 2000 movs r0, r4
+ 8811 005a FFF7FEFF bl HAL_I2C_ListenCpltCallback
+ 8812 .LVL769:
+ ARM GAS /tmp/ccskJbbb.s page 293
+
+
+5725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8813 .loc 1 5725 0
+ 8814 @ sp needed
+ 8815 .LVL770:
+ 8816 005e 10BD pop {r4, pc}
+ 8817 .L584:
+ 8818 .align 2
+ 8819 .L583:
+ 8820 0060 0000FFFF .word -65536
+ 8821 .cfi_endproc
+ 8822 .LFE100:
+ 8824 .section .text.HAL_I2C_MemTxCpltCallback,"ax",%progbits
+ 8825 .align 1
+ 8826 .weak HAL_I2C_MemTxCpltCallback
+ 8827 .syntax unified
+ 8828 .code 16
+ 8829 .thumb_func
+ 8830 .fpu softvfp
+ 8832 HAL_I2C_MemTxCpltCallback:
+ 8833 .LFB82:
+4465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8834 .loc 1 4465 0
+ 8835 .cfi_startproc
+ 8836 @ args = 0, pretend = 0, frame = 0
+ 8837 @ frame_needed = 0, uses_anonymous_args = 0
+ 8838 @ link register save eliminated.
+ 8839 .LVL771:
+4472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8840 .loc 1 4472 0
+ 8841 @ sp needed
+ 8842 0000 7047 bx lr
+ 8843 .cfi_endproc
+ 8844 .LFE82:
+ 8846 .section .text.HAL_I2C_MemRxCpltCallback,"ax",%progbits
+ 8847 .align 1
+ 8848 .weak HAL_I2C_MemRxCpltCallback
+ 8849 .syntax unified
+ 8850 .code 16
+ 8851 .thumb_func
+ 8852 .fpu softvfp
+ 8854 HAL_I2C_MemRxCpltCallback:
+ 8855 .LFB83:
+4481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8856 .loc 1 4481 0
+ 8857 .cfi_startproc
+ 8858 @ args = 0, pretend = 0, frame = 0
+ 8859 @ frame_needed = 0, uses_anonymous_args = 0
+ 8860 @ link register save eliminated.
+ 8861 .LVL772:
+4488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8862 .loc 1 4488 0
+ 8863 @ sp needed
+ 8864 0000 7047 bx lr
+ 8865 .cfi_endproc
+ 8866 .LFE83:
+ 8868 .section .text.HAL_I2C_ErrorCallback,"ax",%progbits
+ 8869 .align 1
+ ARM GAS /tmp/ccskJbbb.s page 294
+
+
+ 8870 .weak HAL_I2C_ErrorCallback
+ 8871 .syntax unified
+ 8872 .code 16
+ 8873 .thumb_func
+ 8874 .fpu softvfp
+ 8876 HAL_I2C_ErrorCallback:
+ 8877 .LFB84:
+4497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8878 .loc 1 4497 0
+ 8879 .cfi_startproc
+ 8880 @ args = 0, pretend = 0, frame = 0
+ 8881 @ frame_needed = 0, uses_anonymous_args = 0
+ 8882 @ link register save eliminated.
+ 8883 .LVL773:
+4504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8884 .loc 1 4504 0
+ 8885 @ sp needed
+ 8886 0000 7047 bx lr
+ 8887 .cfi_endproc
+ 8888 .LFE84:
+ 8890 .section .text.HAL_I2C_AbortCpltCallback,"ax",%progbits
+ 8891 .align 1
+ 8892 .weak HAL_I2C_AbortCpltCallback
+ 8893 .syntax unified
+ 8894 .code 16
+ 8895 .thumb_func
+ 8896 .fpu softvfp
+ 8898 HAL_I2C_AbortCpltCallback:
+ 8899 .LFB85:
+4513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Prevent unused argument(s) compilation warning */
+ 8900 .loc 1 4513 0
+ 8901 .cfi_startproc
+ 8902 @ args = 0, pretend = 0, frame = 0
+ 8903 @ frame_needed = 0, uses_anonymous_args = 0
+ 8904 @ link register save eliminated.
+ 8905 .LVL774:
+4520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8906 .loc 1 4520 0
+ 8907 @ sp needed
+ 8908 0000 7047 bx lr
+ 8909 .cfi_endproc
+ 8910 .LFE85:
+ 8912 .section .text.I2C_ITError,"ax",%progbits
+ 8913 .align 1
+ 8914 .syntax unified
+ 8915 .code 16
+ 8916 .thumb_func
+ 8917 .fpu softvfp
+ 8919 I2C_ITError:
+ 8920 .LFB101:
+5734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** HAL_I2C_StateTypeDef tmpstate = hi2c->State;
+ 8921 .loc 1 5734 0
+ 8922 .cfi_startproc
+ 8923 @ args = 0, pretend = 0, frame = 0
+ 8924 @ frame_needed = 0, uses_anonymous_args = 0
+ 8925 .LVL775:
+ 8926 0000 10B5 push {r4, lr}
+ ARM GAS /tmp/ccskJbbb.s page 295
+
+
+ 8927 .LCFI72:
+ 8928 .cfi_def_cfa_offset 8
+ 8929 .cfi_offset 4, -8
+ 8930 .cfi_offset 14, -4
+ 8931 0002 0400 movs r4, r0
+5735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8932 .loc 1 5735 0
+ 8933 0004 4123 movs r3, #65
+ 8934 0006 C35C ldrb r3, [r0, r3]
+ 8935 .LVL776:
+5738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 8936 .loc 1 5738 0
+ 8937 0008 0022 movs r2, #0
+ 8938 000a 4220 movs r0, #66
+ 8939 .LVL777:
+ 8940 000c 2254 strb r2, [r4, r0]
+5739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount = 0U;
+ 8941 .loc 1 5739 0
+ 8942 000e 3548 ldr r0, .L598
+ 8943 0010 E062 str r0, [r4, #44]
+5740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8944 .loc 1 5740 0
+ 8945 0012 6285 strh r2, [r4, #42]
+5743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8946 .loc 1 5743 0
+ 8947 0014 626C ldr r2, [r4, #68]
+ 8948 0016 1143 orrs r1, r2
+ 8949 .LVL778:
+ 8950 0018 6164 str r1, [r4, #68]
+5747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_RX_LISTEN))
+ 8951 .loc 1 5747 0
+ 8952 001a 283B subs r3, r3, #40
+ 8953 .LVL779:
+ 8954 001c DBB2 uxtb r3, r3
+5746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpstate == HAL_I2C_STATE_BUSY_TX_LISTEN) ||
+ 8955 .loc 1 5746 0
+ 8956 001e 022B cmp r3, #2
+ 8957 0020 23D8 bhi .L590
+5751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8958 .loc 1 5751 0
+ 8959 0022 0321 movs r1, #3
+ 8960 0024 2000 movs r0, r4
+ 8961 0026 FFF7FEFF bl I2C_Disable_IRQ
+ 8962 .LVL780:
+5754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->PreviousState = I2C_STATE_NONE;
+ 8963 .loc 1 5754 0
+ 8964 002a 4123 movs r3, #65
+ 8965 002c 2822 movs r2, #40
+ 8966 002e E254 strb r2, [r4, r3]
+5755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = I2C_Slave_ISR_IT;
+ 8967 .loc 1 5755 0
+ 8968 0030 0023 movs r3, #0
+ 8969 0032 2363 str r3, [r4, #48]
+5756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 8970 .loc 1 5756 0
+ 8971 0034 2C4B ldr r3, .L598+4
+ 8972 0036 6363 str r3, [r4, #52]
+ ARM GAS /tmp/ccskJbbb.s page 296
+
+
+ 8973 .L591:
+5775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8974 .loc 1 5775 0
+ 8975 0038 2368 ldr r3, [r4]
+ 8976 003a 1A68 ldr r2, [r3]
+ 8977 003c 5204 lsls r2, r2, #17
+ 8978 003e 23D5 bpl .L593
+5777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8979 .loc 1 5777 0
+ 8980 0040 1A68 ldr r2, [r3]
+ 8981 0042 2A49 ldr r1, .L598+8
+ 8982 0044 0A40 ands r2, r1
+ 8983 0046 1A60 str r2, [r3]
+5779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8984 .loc 1 5779 0
+ 8985 0048 A36B ldr r3, [r4, #56]
+ 8986 004a 002B cmp r3, #0
+ 8987 004c 0CD0 beq .L589
+5783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8988 .loc 1 5783 0
+ 8989 004e 284A ldr r2, .L598+12
+ 8990 0050 5A63 str r2, [r3, #52]
+5786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 8991 .loc 1 5786 0
+ 8992 0052 4023 movs r3, #64
+ 8993 0054 0022 movs r2, #0
+ 8994 0056 E254 strb r2, [r4, r3]
+5789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 8995 .loc 1 5789 0
+ 8996 0058 A06B ldr r0, [r4, #56]
+ 8997 005a FFF7FEFF bl HAL_DMA_Abort_IT
+ 8998 .LVL781:
+ 8999 005e 0028 cmp r0, #0
+ 9000 0060 02D0 beq .L589
+5792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9001 .loc 1 5792 0
+ 9002 0062 A06B ldr r0, [r4, #56]
+ 9003 0064 436B ldr r3, [r0, #52]
+ 9004 0066 9847 blx r3
+ 9005 .LVL782:
+ 9006 .L589:
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9007 .loc 1 5844 0
+ 9008 @ sp needed
+ 9009 .LVL783:
+ 9010 0068 10BD pop {r4, pc}
+ 9011 .LVL784:
+ 9012 .L590:
+5761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9013 .loc 1 5761 0
+ 9014 006a 0721 movs r1, #7
+ 9015 006c 2000 movs r0, r4
+ 9016 006e FFF7FEFF bl I2C_Disable_IRQ
+ 9017 .LVL785:
+5765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9018 .loc 1 5765 0
+ 9019 0072 4123 movs r3, #65
+ ARM GAS /tmp/ccskJbbb.s page 297
+
+
+ 9020 0074 E35C ldrb r3, [r4, r3]
+ 9021 0076 602B cmp r3, #96
+ 9022 0078 02D0 beq .L592
+5768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9023 .loc 1 5768 0
+ 9024 007a 4123 movs r3, #65
+ 9025 007c 2022 movs r2, #32
+ 9026 007e E254 strb r2, [r4, r3]
+ 9027 .L592:
+5770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9028 .loc 1 5770 0
+ 9029 0080 0023 movs r3, #0
+ 9030 0082 2363 str r3, [r4, #48]
+5771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9031 .loc 1 5771 0
+ 9032 0084 6363 str r3, [r4, #52]
+ 9033 0086 D7E7 b .L591
+ 9034 .L593:
+5797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9035 .loc 1 5797 0
+ 9036 0088 1A68 ldr r2, [r3]
+ 9037 008a 1204 lsls r2, r2, #16
+ 9038 008c 14D5 bpl .L595
+5799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9039 .loc 1 5799 0
+ 9040 008e 1A68 ldr r2, [r3]
+ 9041 0090 1849 ldr r1, .L598+16
+ 9042 0092 0A40 ands r2, r1
+ 9043 0094 1A60 str r2, [r3]
+5801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9044 .loc 1 5801 0
+ 9045 0096 E36B ldr r3, [r4, #60]
+ 9046 0098 002B cmp r3, #0
+ 9047 009a E5D0 beq .L589
+5805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9048 .loc 1 5805 0
+ 9049 009c 144A ldr r2, .L598+12
+ 9050 009e 5A63 str r2, [r3, #52]
+5808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9051 .loc 1 5808 0
+ 9052 00a0 4023 movs r3, #64
+ 9053 00a2 0022 movs r2, #0
+ 9054 00a4 E254 strb r2, [r4, r3]
+5811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9055 .loc 1 5811 0
+ 9056 00a6 E06B ldr r0, [r4, #60]
+ 9057 00a8 FFF7FEFF bl HAL_DMA_Abort_IT
+ 9058 .LVL786:
+ 9059 00ac 0028 cmp r0, #0
+ 9060 00ae DBD0 beq .L589
+5814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9061 .loc 1 5814 0
+ 9062 00b0 E06B ldr r0, [r4, #60]
+ 9063 00b2 436B ldr r3, [r0, #52]
+ 9064 00b4 9847 blx r3
+ 9065 .LVL787:
+ 9066 00b6 D7E7 b .L589
+ ARM GAS /tmp/ccskJbbb.s page 298
+
+
+ 9067 .L595:
+5818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9068 .loc 1 5818 0
+ 9069 00b8 4123 movs r3, #65
+ 9070 00ba E35C ldrb r3, [r4, r3]
+ 9071 00bc 602B cmp r3, #96
+ 9072 00be 06D0 beq .L597
+5835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9073 .loc 1 5835 0
+ 9074 00c0 4023 movs r3, #64
+ 9075 00c2 0022 movs r2, #0
+ 9076 00c4 E254 strb r2, [r4, r3]
+5841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9077 .loc 1 5841 0
+ 9078 00c6 2000 movs r0, r4
+ 9079 00c8 FFF7FEFF bl HAL_I2C_ErrorCallback
+ 9080 .LVL788:
+5844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9081 .loc 1 5844 0
+ 9082 00cc CCE7 b .L589
+ 9083 .L597:
+5820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9084 .loc 1 5820 0
+ 9085 00ce 1F3B subs r3, r3, #31
+ 9086 00d0 2022 movs r2, #32
+ 9087 00d2 E254 strb r2, [r4, r3]
+5823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9088 .loc 1 5823 0
+ 9089 00d4 013B subs r3, r3, #1
+ 9090 00d6 0022 movs r2, #0
+ 9091 00d8 E254 strb r2, [r4, r3]
+5829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9092 .loc 1 5829 0
+ 9093 00da 2000 movs r0, r4
+ 9094 00dc FFF7FEFF bl HAL_I2C_AbortCpltCallback
+ 9095 .LVL789:
+ 9096 00e0 C2E7 b .L589
+ 9097 .L599:
+ 9098 00e2 C046 .align 2
+ 9099 .L598:
+ 9100 00e4 0000FFFF .word -65536
+ 9101 00e8 00000000 .word I2C_Slave_ISR_IT
+ 9102 00ec FFBFFFFF .word -16385
+ 9103 00f0 00000000 .word I2C_DMAAbort
+ 9104 00f4 FF7FFFFF .word -32769
+ 9105 .cfi_endproc
+ 9106 .LFE101:
+ 9108 .section .text.I2C_ITSlaveCplt,"ax",%progbits
+ 9109 .align 1
+ 9110 .syntax unified
+ 9111 .code 16
+ 9112 .thumb_func
+ 9113 .fpu softvfp
+ 9115 I2C_ITSlaveCplt:
+ 9116 .LFB99:
+5546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpcr1value = READ_REG(hi2c->Instance->CR1);
+ 9117 .loc 1 5546 0
+ ARM GAS /tmp/ccskJbbb.s page 299
+
+
+ 9118 .cfi_startproc
+ 9119 @ args = 0, pretend = 0, frame = 0
+ 9120 @ frame_needed = 0, uses_anonymous_args = 0
+ 9121 .LVL790:
+ 9122 0000 70B5 push {r4, r5, r6, lr}
+ 9123 .LCFI73:
+ 9124 .cfi_def_cfa_offset 16
+ 9125 .cfi_offset 4, -16
+ 9126 .cfi_offset 5, -12
+ 9127 .cfi_offset 6, -8
+ 9128 .cfi_offset 14, -4
+ 9129 0002 0400 movs r4, r0
+ 9130 0004 0D00 movs r5, r1
+5547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+ 9131 .loc 1 5547 0
+ 9132 0006 0368 ldr r3, [r0]
+ 9133 0008 1E68 ldr r6, [r3]
+ 9134 .LVL791:
+5551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9135 .loc 1 5551 0
+ 9136 000a 2022 movs r2, #32
+ 9137 000c DA61 str r2, [r3, #28]
+5554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9138 .loc 1 5554 0
+ 9139 000e 0721 movs r1, #7
+ 9140 .LVL792:
+ 9141 0010 FFF7FEFF bl I2C_Disable_IRQ
+ 9142 .LVL793:
+5557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9143 .loc 1 5557 0
+ 9144 0014 2268 ldr r2, [r4]
+ 9145 0016 5168 ldr r1, [r2, #4]
+ 9146 0018 8023 movs r3, #128
+ 9147 001a 1B02 lsls r3, r3, #8
+ 9148 001c 0B43 orrs r3, r1
+ 9149 001e 5360 str r3, [r2, #4]
+5560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9150 .loc 1 5560 0
+ 9151 0020 2268 ldr r2, [r4]
+ 9152 0022 5368 ldr r3, [r2, #4]
+ 9153 0024 3A49 ldr r1, .L612
+ 9154 0026 0B40 ands r3, r1
+ 9155 0028 5360 str r3, [r2, #4]
+5563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9156 .loc 1 5563 0
+ 9157 002a 2000 movs r0, r4
+ 9158 002c FFF7FEFF bl I2C_Flush_TXDR
+ 9159 .LVL794:
+5566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9160 .loc 1 5566 0
+ 9161 0030 7304 lsls r3, r6, #17
+ 9162 0032 3CD5 bpl .L601
+5568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9163 .loc 1 5568 0
+ 9164 0034 A36B ldr r3, [r4, #56]
+ 9165 0036 002B cmp r3, #0
+ 9166 0038 03D0 beq .L602
+ ARM GAS /tmp/ccskJbbb.s page 300
+
+
+5570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9167 .loc 1 5570 0
+ 9168 003a 1B68 ldr r3, [r3]
+ 9169 003c 5B68 ldr r3, [r3, #4]
+ 9170 003e 9BB2 uxth r3, r3
+ 9171 0040 6385 strh r3, [r4, #42]
+ 9172 .L602:
+5586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9173 .loc 1 5586 0
+ 9174 0042 6B07 lsls r3, r5, #29
+ 9175 0044 11D5 bpl .L603
+5589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9176 .loc 1 5589 0
+ 9177 0046 0423 movs r3, #4
+ 9178 0048 9D43 bics r5, r3
+ 9179 .LVL795:
+5592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9180 .loc 1 5592 0
+ 9181 004a 2368 ldr r3, [r4]
+ 9182 004c 5B6A ldr r3, [r3, #36]
+ 9183 004e 626A ldr r2, [r4, #36]
+ 9184 0050 1370 strb r3, [r2]
+5595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9185 .loc 1 5595 0
+ 9186 0052 636A ldr r3, [r4, #36]
+ 9187 0054 0133 adds r3, r3, #1
+ 9188 0056 6362 str r3, [r4, #36]
+5597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9189 .loc 1 5597 0
+ 9190 0058 238D ldrh r3, [r4, #40]
+ 9191 005a 002B cmp r3, #0
+ 9192 005c 05D0 beq .L603
+5599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9193 .loc 1 5599 0
+ 9194 005e 013B subs r3, r3, #1
+ 9195 0060 2385 strh r3, [r4, #40]
+5600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9196 .loc 1 5600 0
+ 9197 0062 638D ldrh r3, [r4, #42]
+ 9198 0064 013B subs r3, r3, #1
+ 9199 0066 9BB2 uxth r3, r3
+ 9200 0068 6385 strh r3, [r4, #42]
+ 9201 .L603:
+5605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9202 .loc 1 5605 0
+ 9203 006a 638D ldrh r3, [r4, #42]
+ 9204 006c 9BB2 uxth r3, r3
+ 9205 006e 002B cmp r3, #0
+ 9206 0070 03D0 beq .L604
+5608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9207 .loc 1 5608 0
+ 9208 0072 636C ldr r3, [r4, #68]
+ 9209 0074 0422 movs r2, #4
+ 9210 0076 1343 orrs r3, r2
+ 9211 0078 6364 str r3, [r4, #68]
+ 9212 .L604:
+5611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->Mode = HAL_I2C_MODE_NONE;
+ ARM GAS /tmp/ccskJbbb.s page 301
+
+
+ 9213 .loc 1 5611 0
+ 9214 007a 0023 movs r3, #0
+ 9215 007c 2363 str r3, [r4, #48]
+5612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9216 .loc 1 5612 0
+ 9217 007e 4222 movs r2, #66
+ 9218 0080 A354 strb r3, [r4, r2]
+5613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9219 .loc 1 5613 0
+ 9220 0082 6363 str r3, [r4, #52]
+5615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9221 .loc 1 5615 0
+ 9222 0084 636C ldr r3, [r4, #68]
+ 9223 0086 002B cmp r3, #0
+ 9224 0088 1BD1 bne .L609
+5627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9225 .loc 1 5627 0
+ 9226 008a E26A ldr r2, [r4, #44]
+ 9227 008c 214B ldr r3, .L612+4
+ 9228 008e 9A42 cmp r2, r3
+ 9229 0090 24D1 bne .L610
+5646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9230 .loc 1 5646 0
+ 9231 0092 4123 movs r3, #65
+ 9232 0094 E35C ldrb r3, [r4, r3]
+ 9233 0096 222B cmp r3, #34
+ 9234 0098 2FD0 beq .L611
+5662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9235 .loc 1 5662 0
+ 9236 009a 4123 movs r3, #65
+ 9237 009c 2022 movs r2, #32
+ 9238 009e E254 strb r2, [r4, r3]
+5665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9239 .loc 1 5665 0
+ 9240 00a0 013B subs r3, r3, #1
+ 9241 00a2 0022 movs r2, #0
+ 9242 00a4 E254 strb r2, [r4, r3]
+5671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9243 .loc 1 5671 0
+ 9244 00a6 2000 movs r0, r4
+ 9245 00a8 FFF7FEFF bl HAL_I2C_SlaveTxCpltCallback
+ 9246 .LVL796:
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9247 .loc 1 5674 0
+ 9248 00ac 24E0 b .L600
+ 9249 .LVL797:
+ 9250 .L601:
+5573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9251 .loc 1 5573 0
+ 9252 00ae 3304 lsls r3, r6, #16
+ 9253 00b0 C7D5 bpl .L602
+5575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9254 .loc 1 5575 0
+ 9255 00b2 E36B ldr r3, [r4, #60]
+ 9256 00b4 002B cmp r3, #0
+ 9257 00b6 C4D0 beq .L602
+5577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ ARM GAS /tmp/ccskJbbb.s page 302
+
+
+ 9258 .loc 1 5577 0
+ 9259 00b8 1B68 ldr r3, [r3]
+ 9260 00ba 5B68 ldr r3, [r3, #4]
+ 9261 00bc 9BB2 uxth r3, r3
+ 9262 00be 6385 strh r3, [r4, #42]
+ 9263 00c0 BFE7 b .L602
+ 9264 .LVL798:
+ 9265 .L609:
+5618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9266 .loc 1 5618 0
+ 9267 00c2 616C ldr r1, [r4, #68]
+ 9268 00c4 2000 movs r0, r4
+ 9269 00c6 FFF7FEFF bl I2C_ITError
+ 9270 .LVL799:
+5621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9271 .loc 1 5621 0
+ 9272 00ca 4123 movs r3, #65
+ 9273 00cc E35C ldrb r3, [r4, r3]
+ 9274 00ce 282B cmp r3, #40
+ 9275 00d0 12D1 bne .L600
+5624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9276 .loc 1 5624 0
+ 9277 00d2 2900 movs r1, r5
+ 9278 00d4 2000 movs r0, r4
+ 9279 00d6 FFF7FEFF bl I2C_ITListenCplt
+ 9280 .LVL800:
+ 9281 00da 0DE0 b .L600
+ 9282 .L610:
+5630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9283 .loc 1 5630 0
+ 9284 00dc 2000 movs r0, r4
+ 9285 00de FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9286 .LVL801:
+5632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 9287 .loc 1 5632 0
+ 9288 00e2 0C4B ldr r3, .L612+4
+ 9289 00e4 E362 str r3, [r4, #44]
+5633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9290 .loc 1 5633 0
+ 9291 00e6 4123 movs r3, #65
+ 9292 00e8 2022 movs r2, #32
+ 9293 00ea E254 strb r2, [r4, r3]
+5636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9294 .loc 1 5636 0
+ 9295 00ec 013B subs r3, r3, #1
+ 9296 00ee 0022 movs r2, #0
+ 9297 00f0 E254 strb r2, [r4, r3]
+5642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9298 .loc 1 5642 0
+ 9299 00f2 2000 movs r0, r4
+ 9300 00f4 FFF7FEFF bl HAL_I2C_ListenCpltCallback
+ 9301 .LVL802:
+ 9302 .L600:
+5674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9303 .loc 1 5674 0
+ 9304 @ sp needed
+ 9305 .LVL803:
+ ARM GAS /tmp/ccskJbbb.s page 303
+
+
+ 9306 .LVL804:
+ 9307 .LVL805:
+ 9308 00f8 70BD pop {r4, r5, r6, pc}
+ 9309 .LVL806:
+ 9310 .L611:
+5648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9311 .loc 1 5648 0
+ 9312 00fa 1F33 adds r3, r3, #31
+ 9313 00fc 2022 movs r2, #32
+ 9314 00fe E254 strb r2, [r4, r3]
+5651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9315 .loc 1 5651 0
+ 9316 0100 013B subs r3, r3, #1
+ 9317 0102 0022 movs r2, #0
+ 9318 0104 E254 strb r2, [r4, r3]
+5657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9319 .loc 1 5657 0
+ 9320 0106 2000 movs r0, r4
+ 9321 0108 FFF7FEFF bl HAL_I2C_SlaveRxCpltCallback
+ 9322 .LVL807:
+ 9323 010c F4E7 b .L600
+ 9324 .L613:
+ 9325 010e C046 .align 2
+ 9326 .L612:
+ 9327 0110 00E800FE .word -33495040
+ 9328 0114 0000FFFF .word -65536
+ 9329 .cfi_endproc
+ 9330 .LFE99:
+ 9332 .section .text.I2C_Slave_ISR_IT,"ax",%progbits
+ 9333 .align 1
+ 9334 .syntax unified
+ 9335 .code 16
+ 9336 .thumb_func
+ 9337 .fpu softvfp
+ 9339 I2C_Slave_ISR_IT:
+ 9340 .LFB90:
+4733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 9341 .loc 1 4733 0
+ 9342 .cfi_startproc
+ 9343 @ args = 0, pretend = 0, frame = 0
+ 9344 @ frame_needed = 0, uses_anonymous_args = 0
+ 9345 .LVL808:
+ 9346 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 9347 .LCFI74:
+ 9348 .cfi_def_cfa_offset 24
+ 9349 .cfi_offset 3, -24
+ 9350 .cfi_offset 4, -20
+ 9351 .cfi_offset 5, -16
+ 9352 .cfi_offset 6, -12
+ 9353 .cfi_offset 7, -8
+ 9354 .cfi_offset 14, -4
+ 9355 0002 0400 movs r4, r0
+ 9356 0004 0D00 movs r5, r1
+ 9357 0006 1600 movs r6, r2
+4734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpITFlags = ITFlags;
+ 9358 .loc 1 4734 0
+ 9359 0008 C76A ldr r7, [r0, #44]
+ ARM GAS /tmp/ccskJbbb.s page 304
+
+
+ 9360 .LVL809:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9361 .loc 1 4738 0
+ 9362 000a 4023 movs r3, #64
+ 9363 000c C35C ldrb r3, [r0, r3]
+ 9364 000e 012B cmp r3, #1
+ 9365 0010 00D1 bne .LCB9263
+ 9366 0012 96E0 b .L628 @long jump
+ 9367 .LCB9263:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9368 .loc 1 4738 0 is_stmt 0 discriminator 2
+ 9369 0014 0123 movs r3, #1
+ 9370 0016 4022 movs r2, #64
+ 9371 .LVL810:
+ 9372 0018 8354 strb r3, [r0, r2]
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9373 .loc 1 4741 0 is_stmt 1 discriminator 2
+ 9374 001a 4A09 lsrs r2, r1, #5
+ 9375 001c 1342 tst r3, r2
+ 9376 001e 01D0 beq .L616
+4741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9377 .loc 1 4741 0 is_stmt 0 discriminator 1
+ 9378 0020 B306 lsls r3, r6, #26
+ 9379 0022 17D4 bmi .L629
+ 9380 .LVL811:
+ 9381 .L616:
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9382 .loc 1 4747 0 is_stmt 1
+ 9383 0024 EB06 lsls r3, r5, #27
+ 9384 0026 40D5 bpl .L617
+4747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9385 .loc 1 4747 0 is_stmt 0 discriminator 1
+ 9386 0028 F306 lsls r3, r6, #27
+ 9387 002a 3ED5 bpl .L617
+4753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9388 .loc 1 4753 0 is_stmt 1
+ 9389 002c 638D ldrh r3, [r4, #42]
+ 9390 002e 9BB2 uxth r3, r3
+ 9391 0030 002B cmp r3, #0
+ 9392 0032 28D1 bne .L618
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9393 .loc 1 4755 0
+ 9394 0034 4133 adds r3, r3, #65
+ 9395 0036 E35C ldrb r3, [r4, r3]
+ 9396 0038 282B cmp r3, #40
+ 9397 003a 0ED0 beq .L630
+ 9398 .L619:
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9399 .loc 1 4760 0
+ 9400 003c 4123 movs r3, #65
+ 9401 003e E35C ldrb r3, [r4, r3]
+ 9402 0040 292B cmp r3, #41
+ 9403 0042 13D0 beq .L631
+ 9404 .L621:
+4775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9405 .loc 1 4775 0
+ 9406 0044 2368 ldr r3, [r4]
+ ARM GAS /tmp/ccskJbbb.s page 305
+
+
+ 9407 0046 1022 movs r2, #16
+ 9408 0048 DA61 str r2, [r3, #28]
+ 9409 .L620:
+4852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9410 .loc 1 4852 0
+ 9411 004a 4023 movs r3, #64
+ 9412 004c 0022 movs r2, #0
+ 9413 004e E254 strb r2, [r4, r3]
+4854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9414 .loc 1 4854 0
+ 9415 0050 0020 movs r0, #0
+ 9416 .L615:
+4855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9417 .loc 1 4855 0
+ 9418 @ sp needed
+ 9419 .LVL812:
+ 9420 .LVL813:
+ 9421 .LVL814:
+ 9422 .LVL815:
+ 9423 0052 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 9424 .LVL816:
+ 9425 .L629:
+4744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9426 .loc 1 4744 0
+ 9427 0054 FFF7FEFF bl I2C_ITSlaveCplt
+ 9428 .LVL817:
+ 9429 0058 E4E7 b .L616
+ 9430 .L630:
+4755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9431 .loc 1 4755 0 discriminator 1
+ 9432 005a 8023 movs r3, #128
+ 9433 005c 9B04 lsls r3, r3, #18
+ 9434 005e 9F42 cmp r7, r3
+ 9435 0060 ECD1 bne .L619
+4758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9436 .loc 1 4758 0
+ 9437 0062 2900 movs r1, r5
+ 9438 0064 2000 movs r0, r4
+ 9439 0066 FFF7FEFF bl I2C_ITListenCplt
+ 9440 .LVL818:
+ 9441 006a EEE7 b .L620
+ 9442 .L631:
+4760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9443 .loc 1 4760 0 discriminator 1
+ 9444 006c 364B ldr r3, .L633
+ 9445 006e 9F42 cmp r7, r3
+ 9446 0070 E8D0 beq .L621
+4763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9447 .loc 1 4763 0
+ 9448 0072 2368 ldr r3, [r4]
+ 9449 0074 1022 movs r2, #16
+ 9450 0076 DA61 str r2, [r3, #28]
+4766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9451 .loc 1 4766 0
+ 9452 0078 2000 movs r0, r4
+ 9453 007a FFF7FEFF bl I2C_Flush_TXDR
+ 9454 .LVL819:
+ ARM GAS /tmp/ccskJbbb.s page 306
+
+
+4770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9455 .loc 1 4770 0
+ 9456 007e 2000 movs r0, r4
+ 9457 0080 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9458 .LVL820:
+ 9459 0084 E1E7 b .L620
+ 9460 .L618:
+4782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9461 .loc 1 4782 0
+ 9462 0086 2368 ldr r3, [r4]
+ 9463 0088 1022 movs r2, #16
+ 9464 008a DA61 str r2, [r3, #28]
+4785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9465 .loc 1 4785 0
+ 9466 008c 636C ldr r3, [r4, #68]
+ 9467 008e 0C3A subs r2, r2, #12
+ 9468 0090 1343 orrs r3, r2
+ 9469 0092 6364 str r3, [r4, #68]
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9470 .loc 1 4787 0
+ 9471 0094 002F cmp r7, #0
+ 9472 0096 03D0 beq .L622
+4787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9473 .loc 1 4787 0 is_stmt 0 discriminator 1
+ 9474 0098 8023 movs r3, #128
+ 9475 009a 5B04 lsls r3, r3, #17
+ 9476 009c 9F42 cmp r7, r3
+ 9477 009e D4D1 bne .L620
+ 9478 .L622:
+4790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9479 .loc 1 4790 0 is_stmt 1
+ 9480 00a0 616C ldr r1, [r4, #68]
+ 9481 00a2 2000 movs r0, r4
+ 9482 00a4 FFF7FEFF bl I2C_ITError
+ 9483 .LVL821:
+ 9484 00a8 CFE7 b .L620
+ 9485 .L617:
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9486 .loc 1 4794 0
+ 9487 00aa 6B07 lsls r3, r5, #29
+ 9488 00ac 1ED5 bpl .L623
+4794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9489 .loc 1 4794 0 is_stmt 0 discriminator 1
+ 9490 00ae 7307 lsls r3, r6, #29
+ 9491 00b0 1CD5 bpl .L623
+4796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9492 .loc 1 4796 0 is_stmt 1
+ 9493 00b2 638D ldrh r3, [r4, #42]
+ 9494 00b4 9BB2 uxth r3, r3
+ 9495 00b6 002B cmp r3, #0
+ 9496 00b8 0DD0 beq .L624
+4799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9497 .loc 1 4799 0
+ 9498 00ba 2368 ldr r3, [r4]
+ 9499 00bc 5B6A ldr r3, [r3, #36]
+ 9500 00be 626A ldr r2, [r4, #36]
+ 9501 00c0 1370 strb r3, [r2]
+ ARM GAS /tmp/ccskJbbb.s page 307
+
+
+4802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9502 .loc 1 4802 0
+ 9503 00c2 636A ldr r3, [r4, #36]
+ 9504 00c4 0133 adds r3, r3, #1
+ 9505 00c6 6362 str r3, [r4, #36]
+4804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9506 .loc 1 4804 0
+ 9507 00c8 238D ldrh r3, [r4, #40]
+ 9508 00ca 013B subs r3, r3, #1
+ 9509 00cc 2385 strh r3, [r4, #40]
+4805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9510 .loc 1 4805 0
+ 9511 00ce 638D ldrh r3, [r4, #42]
+ 9512 00d0 013B subs r3, r3, #1
+ 9513 00d2 9BB2 uxth r3, r3
+ 9514 00d4 6385 strh r3, [r4, #42]
+ 9515 .L624:
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 9516 .loc 1 4808 0
+ 9517 00d6 638D ldrh r3, [r4, #42]
+ 9518 00d8 9BB2 uxth r3, r3
+ 9519 00da 002B cmp r3, #0
+ 9520 00dc B5D1 bne .L620
+4808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (tmpoptions != I2C_NO_OPTION_FRAME))
+ 9521 .loc 1 4808 0 is_stmt 0 discriminator 1
+ 9522 00de 1A4B ldr r3, .L633
+ 9523 00e0 9F42 cmp r7, r3
+ 9524 00e2 B2D0 beq .L620
+4812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9525 .loc 1 4812 0 is_stmt 1
+ 9526 00e4 2000 movs r0, r4
+ 9527 00e6 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9528 .LVL822:
+ 9529 00ea AEE7 b .L620
+ 9530 .L623:
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9531 .loc 1 4815 0
+ 9532 00ec 2B07 lsls r3, r5, #28
+ 9533 00ee 01D5 bpl .L625
+4815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9534 .loc 1 4815 0 is_stmt 0 discriminator 1
+ 9535 00f0 3307 lsls r3, r6, #28
+ 9536 00f2 16D4 bmi .L632
+ 9537 .L625:
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9538 .loc 1 4819 0 is_stmt 1
+ 9539 00f4 AB07 lsls r3, r5, #30
+ 9540 00f6 A8D5 bpl .L620
+4819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9541 .loc 1 4819 0 is_stmt 0 discriminator 1
+ 9542 00f8 B307 lsls r3, r6, #30
+ 9543 00fa A6D5 bpl .L620
+4825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9544 .loc 1 4825 0 is_stmt 1
+ 9545 00fc 638D ldrh r3, [r4, #42]
+ 9546 00fe 9BB2 uxth r3, r3
+ 9547 0100 002B cmp r3, #0
+ ARM GAS /tmp/ccskJbbb.s page 308
+
+
+ 9548 0102 13D0 beq .L626
+4828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9549 .loc 1 4828 0
+ 9550 0104 2368 ldr r3, [r4]
+ 9551 0106 626A ldr r2, [r4, #36]
+ 9552 0108 1278 ldrb r2, [r2]
+ 9553 010a 9A62 str r2, [r3, #40]
+4831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9554 .loc 1 4831 0
+ 9555 010c 636A ldr r3, [r4, #36]
+ 9556 010e 0133 adds r3, r3, #1
+ 9557 0110 6362 str r3, [r4, #36]
+4833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferSize--;
+ 9558 .loc 1 4833 0
+ 9559 0112 638D ldrh r3, [r4, #42]
+ 9560 0114 013B subs r3, r3, #1
+ 9561 0116 9BB2 uxth r3, r3
+ 9562 0118 6385 strh r3, [r4, #42]
+4834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9563 .loc 1 4834 0
+ 9564 011a 238D ldrh r3, [r4, #40]
+ 9565 011c 013B subs r3, r3, #1
+ 9566 011e 2385 strh r3, [r4, #40]
+ 9567 0120 93E7 b .L620
+ 9568 .L632:
+4817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9569 .loc 1 4817 0
+ 9570 0122 2900 movs r1, r5
+ 9571 0124 2000 movs r0, r4
+ 9572 0126 FFF7FEFF bl I2C_ITAddrCplt
+ 9573 .LVL823:
+ 9574 012a 8EE7 b .L620
+ 9575 .L626:
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9576 .loc 1 4838 0
+ 9577 012c 8023 movs r3, #128
+ 9578 012e 5B04 lsls r3, r3, #17
+ 9579 0130 9F42 cmp r7, r3
+ 9580 0132 02D0 beq .L627
+4838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9581 .loc 1 4838 0 is_stmt 0 discriminator 1
+ 9582 0134 002F cmp r7, #0
+ 9583 0136 00D0 beq .LCB9518
+ 9584 0138 87E7 b .L620 @long jump
+ 9585 .LCB9518:
+ 9586 .L627:
+4842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9587 .loc 1 4842 0 is_stmt 1
+ 9588 013a 2000 movs r0, r4
+ 9589 013c FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 9590 .LVL824:
+ 9591 0140 83E7 b .L620
+ 9592 .LVL825:
+ 9593 .L628:
+4738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9594 .loc 1 4738 0
+ 9595 0142 0220 movs r0, #2
+ ARM GAS /tmp/ccskJbbb.s page 309
+
+
+ 9596 .LVL826:
+ 9597 0144 85E7 b .L615
+ 9598 .L634:
+ 9599 0146 C046 .align 2
+ 9600 .L633:
+ 9601 0148 0000FFFF .word -65536
+ 9602 .cfi_endproc
+ 9603 .LFE90:
+ 9605 .section .text.I2C_ITMasterCplt,"ax",%progbits
+ 9606 .align 1
+ 9607 .syntax unified
+ 9608 .code 16
+ 9609 .thumb_func
+ 9610 .fpu softvfp
+ 9612 I2C_ITMasterCplt:
+ 9613 .LFB98:
+5427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+ 9614 .loc 1 5427 0
+ 9615 .cfi_startproc
+ 9616 @ args = 0, pretend = 0, frame = 0
+ 9617 @ frame_needed = 0, uses_anonymous_args = 0
+ 9618 .LVL827:
+ 9619 0000 10B5 push {r4, lr}
+ 9620 .LCFI75:
+ 9621 .cfi_def_cfa_offset 8
+ 9622 .cfi_offset 4, -8
+ 9623 .cfi_offset 14, -4
+ 9624 0002 0400 movs r4, r0
+5431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9625 .loc 1 5431 0
+ 9626 0004 0368 ldr r3, [r0]
+ 9627 0006 2022 movs r2, #32
+ 9628 0008 DA61 str r2, [r3, #28]
+5434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9629 .loc 1 5434 0
+ 9630 000a 0268 ldr r2, [r0]
+ 9631 000c 5368 ldr r3, [r2, #4]
+ 9632 000e 2F48 ldr r0, .L646
+ 9633 .LVL828:
+ 9634 0010 0340 ands r3, r0
+ 9635 0012 5360 str r3, [r2, #4]
+5437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferISR = NULL;
+ 9636 .loc 1 5437 0
+ 9637 0014 0023 movs r3, #0
+ 9638 0016 2363 str r3, [r4, #48]
+5438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferOptions = I2C_NO_OPTION_FRAME;
+ 9639 .loc 1 5438 0
+ 9640 0018 6363 str r3, [r4, #52]
+5439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9641 .loc 1 5439 0
+ 9642 001a 2D4B ldr r3, .L646+4
+ 9643 001c E362 str r3, [r4, #44]
+5441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9644 .loc 1 5441 0
+ 9645 001e CB06 lsls r3, r1, #27
+ 9646 0020 06D5 bpl .L636
+5444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 310
+
+
+ 9647 .loc 1 5444 0
+ 9648 0022 2368 ldr r3, [r4]
+ 9649 0024 1022 movs r2, #16
+ 9650 0026 DA61 str r2, [r3, #28]
+5447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9651 .loc 1 5447 0
+ 9652 0028 636C ldr r3, [r4, #68]
+ 9653 002a 0C3A subs r2, r2, #12
+ 9654 002c 1343 orrs r3, r2
+ 9655 002e 6364 str r3, [r4, #68]
+ 9656 .L636:
+5451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9657 .loc 1 5451 0
+ 9658 0030 2000 movs r0, r4
+ 9659 0032 FFF7FEFF bl I2C_Flush_TXDR
+ 9660 .LVL829:
+5454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9661 .loc 1 5454 0
+ 9662 0036 0321 movs r1, #3
+ 9663 0038 2000 movs r0, r4
+ 9664 003a FFF7FEFF bl I2C_Disable_IRQ
+ 9665 .LVL830:
+5457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9666 .loc 1 5457 0
+ 9667 003e 626C ldr r2, [r4, #68]
+ 9668 .LVL831:
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9669 .loc 1 5460 0
+ 9670 0040 4123 movs r3, #65
+ 9671 0042 E35C ldrb r3, [r4, r3]
+ 9672 0044 602B cmp r3, #96
+ 9673 0046 19D0 beq .L637
+5460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9674 .loc 1 5460 0 is_stmt 0 discriminator 1
+ 9675 0048 002A cmp r2, #0
+ 9676 004a 17D1 bne .L637
+5466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9677 .loc 1 5466 0 is_stmt 1
+ 9678 004c 4123 movs r3, #65
+ 9679 004e E35C ldrb r3, [r4, r3]
+ 9680 0050 212B cmp r3, #33
+ 9681 0052 18D0 beq .L643
+5500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9682 .loc 1 5500 0
+ 9683 0054 4123 movs r3, #65
+ 9684 0056 E35C ldrb r3, [r4, r3]
+ 9685 0058 222B cmp r3, #34
+ 9686 005a 13D1 bne .L635
+5502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9687 .loc 1 5502 0
+ 9688 005c 1F33 adds r3, r3, #31
+ 9689 005e 2022 movs r2, #32
+ 9690 .LVL832:
+ 9691 0060 E254 strb r2, [r4, r3]
+5504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9692 .loc 1 5504 0
+ 9693 0062 0133 adds r3, r3, #1
+ ARM GAS /tmp/ccskJbbb.s page 311
+
+
+ 9694 0064 E35C ldrb r3, [r4, r3]
+ 9695 0066 402B cmp r3, #64
+ 9696 0068 26D0 beq .L644
+5520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9697 .loc 1 5520 0
+ 9698 006a 0023 movs r3, #0
+ 9699 006c 4222 movs r2, #66
+ 9700 006e A354 strb r3, [r4, r2]
+5523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9701 .loc 1 5523 0
+ 9702 0070 023A subs r2, r2, #2
+ 9703 0072 A354 strb r3, [r4, r2]
+5529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9704 .loc 1 5529 0
+ 9705 0074 2000 movs r0, r4
+ 9706 0076 FFF7FEFF bl HAL_I2C_MasterRxCpltCallback
+ 9707 .LVL833:
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9708 .loc 1 5537 0
+ 9709 007a 03E0 b .L635
+ 9710 .LVL834:
+ 9711 .L637:
+5463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9712 .loc 1 5463 0
+ 9713 007c 616C ldr r1, [r4, #68]
+ 9714 007e 2000 movs r0, r4
+ 9715 0080 FFF7FEFF bl I2C_ITError
+ 9716 .LVL835:
+ 9717 .L635:
+5537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9718 .loc 1 5537 0
+ 9719 @ sp needed
+ 9720 .LVL836:
+ 9721 0084 10BD pop {r4, pc}
+ 9722 .LVL837:
+ 9723 .L643:
+5468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9724 .loc 1 5468 0
+ 9725 0086 2033 adds r3, r3, #32
+ 9726 0088 2022 movs r2, #32
+ 9727 .LVL838:
+ 9728 008a E254 strb r2, [r4, r3]
+5470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9729 .loc 1 5470 0
+ 9730 008c 0133 adds r3, r3, #1
+ 9731 008e E35C ldrb r3, [r4, r3]
+ 9732 0090 402B cmp r3, #64
+ 9733 0092 08D0 beq .L645
+5486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9734 .loc 1 5486 0
+ 9735 0094 0023 movs r3, #0
+ 9736 0096 4222 movs r2, #66
+ 9737 0098 A354 strb r3, [r4, r2]
+5489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9738 .loc 1 5489 0
+ 9739 009a 023A subs r2, r2, #2
+ 9740 009c A354 strb r3, [r4, r2]
+ ARM GAS /tmp/ccskJbbb.s page 312
+
+
+5495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9741 .loc 1 5495 0
+ 9742 009e 2000 movs r0, r4
+ 9743 00a0 FFF7FEFF bl HAL_I2C_MasterTxCpltCallback
+ 9744 .LVL839:
+ 9745 00a4 EEE7 b .L635
+ 9746 .L645:
+5472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9747 .loc 1 5472 0
+ 9748 00a6 0023 movs r3, #0
+ 9749 00a8 2232 adds r2, r2, #34
+ 9750 00aa A354 strb r3, [r4, r2]
+5475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9751 .loc 1 5475 0
+ 9752 00ac 023A subs r2, r2, #2
+ 9753 00ae A354 strb r3, [r4, r2]
+5481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9754 .loc 1 5481 0
+ 9755 00b0 2000 movs r0, r4
+ 9756 00b2 FFF7FEFF bl HAL_I2C_MemTxCpltCallback
+ 9757 .LVL840:
+ 9758 00b6 E5E7 b .L635
+ 9759 .L644:
+5506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9760 .loc 1 5506 0
+ 9761 00b8 0023 movs r3, #0
+ 9762 00ba 2232 adds r2, r2, #34
+ 9763 00bc A354 strb r3, [r4, r2]
+5509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9764 .loc 1 5509 0
+ 9765 00be 023A subs r2, r2, #2
+ 9766 00c0 A354 strb r3, [r4, r2]
+5515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 9767 .loc 1 5515 0
+ 9768 00c2 2000 movs r0, r4
+ 9769 00c4 FFF7FEFF bl HAL_I2C_MemRxCpltCallback
+ 9770 .LVL841:
+ 9771 00c8 DCE7 b .L635
+ 9772 .L647:
+ 9773 00ca C046 .align 2
+ 9774 .L646:
+ 9775 00cc 00E800FE .word -33495040
+ 9776 00d0 0000FFFF .word -65536
+ 9777 .cfi_endproc
+ 9778 .LFE98:
+ 9780 .section .text.I2C_Master_ISR_IT,"ax",%progbits
+ 9781 .align 1
+ 9782 .syntax unified
+ 9783 .code 16
+ 9784 .thumb_func
+ 9785 .fpu softvfp
+ 9787 I2C_Master_ISR_IT:
+ 9788 .LFB89:
+4596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+ 9789 .loc 1 4596 0
+ 9790 .cfi_startproc
+ 9791 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccskJbbb.s page 313
+
+
+ 9792 @ frame_needed = 0, uses_anonymous_args = 0
+ 9793 .LVL842:
+ 9794 0000 70B5 push {r4, r5, r6, lr}
+ 9795 .LCFI76:
+ 9796 .cfi_def_cfa_offset 16
+ 9797 .cfi_offset 4, -16
+ 9798 .cfi_offset 5, -12
+ 9799 .cfi_offset 6, -8
+ 9800 .cfi_offset 14, -4
+ 9801 0002 82B0 sub sp, sp, #8
+ 9802 .LCFI77:
+ 9803 .cfi_def_cfa_offset 24
+ 9804 0004 0400 movs r4, r0
+ 9805 0006 0D00 movs r5, r1
+ 9806 0008 1600 movs r6, r2
+ 9807 .LVL843:
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9808 .loc 1 4601 0
+ 9809 000a 4023 movs r3, #64
+ 9810 000c C35C ldrb r3, [r0, r3]
+ 9811 000e 012B cmp r3, #1
+ 9812 0010 00D1 bne .LCB9725
+ 9813 0012 ADE0 b .L662 @long jump
+ 9814 .LCB9725:
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9815 .loc 1 4601 0 is_stmt 0 discriminator 2
+ 9816 0014 0123 movs r3, #1
+ 9817 0016 4022 movs r2, #64
+ 9818 .LVL844:
+ 9819 0018 8354 strb r3, [r0, r2]
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9820 .loc 1 4603 0 is_stmt 1 discriminator 2
+ 9821 001a 0A09 lsrs r2, r1, #4
+ 9822 001c 1342 tst r3, r2
+ 9823 001e 01D0 beq .L650
+4603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9824 .loc 1 4603 0 is_stmt 0 discriminator 1
+ 9825 0020 F306 lsls r3, r6, #27
+ 9826 0022 1ED4 bmi .L663
+ 9827 .L650:
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9828 .loc 1 4616 0 is_stmt 1
+ 9829 0024 6B07 lsls r3, r5, #29
+ 9830 0026 26D5 bpl .L652
+4616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9831 .loc 1 4616 0 is_stmt 0 discriminator 1
+ 9832 0028 7307 lsls r3, r6, #29
+ 9833 002a 24D5 bpl .L652
+4619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9834 .loc 1 4619 0 is_stmt 1
+ 9835 002c 0423 movs r3, #4
+ 9836 002e 9D43 bics r5, r3
+ 9837 .LVL845:
+4622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9838 .loc 1 4622 0
+ 9839 0030 2368 ldr r3, [r4]
+ 9840 0032 5B6A ldr r3, [r3, #36]
+ ARM GAS /tmp/ccskJbbb.s page 314
+
+
+ 9841 0034 626A ldr r2, [r4, #36]
+ 9842 0036 1370 strb r3, [r2]
+4625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9843 .loc 1 4625 0
+ 9844 0038 636A ldr r3, [r4, #36]
+ 9845 003a 0133 adds r3, r3, #1
+ 9846 003c 6362 str r3, [r4, #36]
+4627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9847 .loc 1 4627 0
+ 9848 003e 238D ldrh r3, [r4, #40]
+ 9849 0040 013B subs r3, r3, #1
+ 9850 0042 2385 strh r3, [r4, #40]
+4628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9851 .loc 1 4628 0
+ 9852 0044 638D ldrh r3, [r4, #42]
+ 9853 0046 013B subs r3, r3, #1
+ 9854 0048 9BB2 uxth r3, r3
+ 9855 004a 6385 strh r3, [r4, #42]
+ 9856 .LVL846:
+ 9857 .L651:
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9858 .loc 1 4712 0
+ 9859 004c AB06 lsls r3, r5, #26
+ 9860 004e 02D5 bpl .L661
+4712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9861 .loc 1 4712 0 is_stmt 0 discriminator 1
+ 9862 0050 B306 lsls r3, r6, #26
+ 9863 0052 00D5 bpl .LCB9787
+ 9864 0054 87E0 b .L664 @long jump
+ 9865 .LCB9787:
+ 9866 .L661:
+4719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9867 .loc 1 4719 0 is_stmt 1
+ 9868 0056 4023 movs r3, #64
+ 9869 0058 0022 movs r2, #0
+ 9870 005a E254 strb r2, [r4, r3]
+4721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9871 .loc 1 4721 0
+ 9872 005c 0020 movs r0, #0
+ 9873 .L649:
+4722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9874 .loc 1 4722 0
+ 9875 005e 02B0 add sp, sp, #8
+ 9876 @ sp needed
+ 9877 .LVL847:
+ 9878 .LVL848:
+ 9879 .LVL849:
+ 9880 0060 70BD pop {r4, r5, r6, pc}
+ 9881 .LVL850:
+ 9882 .L663:
+4606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9883 .loc 1 4606 0
+ 9884 0062 0368 ldr r3, [r0]
+ 9885 0064 1022 movs r2, #16
+ 9886 0066 DA61 str r2, [r3, #28]
+4611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9887 .loc 1 4611 0
+ ARM GAS /tmp/ccskJbbb.s page 315
+
+
+ 9888 0068 436C ldr r3, [r0, #68]
+ 9889 006a 0C3A subs r2, r2, #12
+ 9890 006c 1343 orrs r3, r2
+ 9891 006e 4364 str r3, [r0, #68]
+4614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9892 .loc 1 4614 0
+ 9893 0070 FFF7FEFF bl I2C_Flush_TXDR
+ 9894 .LVL851:
+ 9895 0074 EAE7 b .L651
+ 9896 .LVL852:
+ 9897 .L652:
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9898 .loc 1 4630 0
+ 9899 0076 AB07 lsls r3, r5, #30
+ 9900 0078 10D5 bpl .L653
+4630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9901 .loc 1 4630 0 is_stmt 0 discriminator 1
+ 9902 007a B307 lsls r3, r6, #30
+ 9903 007c 0ED5 bpl .L653
+4633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9904 .loc 1 4633 0 is_stmt 1
+ 9905 007e 2368 ldr r3, [r4]
+ 9906 0080 626A ldr r2, [r4, #36]
+ 9907 0082 1278 ldrb r2, [r2]
+ 9908 0084 9A62 str r2, [r3, #40]
+4636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9909 .loc 1 4636 0
+ 9910 0086 636A ldr r3, [r4, #36]
+ 9911 0088 0133 adds r3, r3, #1
+ 9912 008a 6362 str r3, [r4, #36]
+4638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->XferCount--;
+ 9913 .loc 1 4638 0
+ 9914 008c 238D ldrh r3, [r4, #40]
+ 9915 008e 013B subs r3, r3, #1
+ 9916 0090 2385 strh r3, [r4, #40]
+4639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9917 .loc 1 4639 0
+ 9918 0092 638D ldrh r3, [r4, #42]
+ 9919 0094 013B subs r3, r3, #1
+ 9920 0096 9BB2 uxth r3, r3
+ 9921 0098 6385 strh r3, [r4, #42]
+ 9922 009a D7E7 b .L651
+ 9923 .L653:
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9924 .loc 1 4641 0
+ 9925 009c 2B06 lsls r3, r5, #24
+ 9926 009e 40D5 bpl .L654
+4641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9927 .loc 1 4641 0 is_stmt 0 discriminator 1
+ 9928 00a0 7306 lsls r3, r6, #25
+ 9929 00a2 3ED5 bpl .L654
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9930 .loc 1 4643 0 is_stmt 1
+ 9931 00a4 638D ldrh r3, [r4, #42]
+ 9932 00a6 9BB2 uxth r3, r3
+ 9933 00a8 002B cmp r3, #0
+ 9934 00aa 2DD0 beq .L655
+ ARM GAS /tmp/ccskJbbb.s page 316
+
+
+4643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9935 .loc 1 4643 0 is_stmt 0 discriminator 1
+ 9936 00ac 238D ldrh r3, [r4, #40]
+ 9937 00ae 002B cmp r3, #0
+ 9938 00b0 2AD1 bne .L655
+4645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 9939 .loc 1 4645 0 is_stmt 1
+ 9940 00b2 2368 ldr r3, [r4]
+ 9941 00b4 5968 ldr r1, [r3, #4]
+ 9942 .LVL853:
+ 9943 00b6 8905 lsls r1, r1, #22
+ 9944 00b8 890D lsrs r1, r1, #22
+ 9945 .LVL854:
+4647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9946 .loc 1 4647 0
+ 9947 00ba 638D ldrh r3, [r4, #42]
+ 9948 00bc 9BB2 uxth r3, r3
+ 9949 00be FF2B cmp r3, #255
+ 9950 00c0 0ED8 bhi .L665
+4654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+ 9951 .loc 1 4654 0
+ 9952 00c2 628D ldrh r2, [r4, #42]
+ 9953 00c4 92B2 uxth r2, r2
+ 9954 00c6 2285 strh r2, [r4, #40]
+4655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 9955 .loc 1 4655 0
+ 9956 00c8 E06A ldr r0, [r4, #44]
+ 9957 .LVL855:
+ 9958 00ca 2A4B ldr r3, .L666
+ 9959 00cc 9842 cmp r0, r3
+ 9960 00ce 12D0 beq .L657
+4657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9961 .loc 1 4657 0
+ 9962 00d0 E36A ldr r3, [r4, #44]
+ 9963 00d2 D2B2 uxtb r2, r2
+ 9964 00d4 0020 movs r0, #0
+ 9965 00d6 0090 str r0, [sp]
+ 9966 00d8 2000 movs r0, r4
+ 9967 00da FFF7FEFF bl I2C_TransferConfig
+ 9968 .LVL856:
+ 9969 00de B5E7 b .L651
+ 9970 .LVL857:
+ 9971 .L665:
+4649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_TransferConfig(hi2c, devaddress, (uint8_t)hi2c->XferSize, I2C_RELOAD_MODE, I2C_NO_START
+ 9972 .loc 1 4649 0
+ 9973 00e0 FF23 movs r3, #255
+ 9974 00e2 2385 strh r3, [r4, #40]
+4650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9975 .loc 1 4650 0
+ 9976 00e4 7F3B subs r3, r3, #127
+ 9977 00e6 0022 movs r2, #0
+ 9978 00e8 0092 str r2, [sp]
+ 9979 00ea 5B04 lsls r3, r3, #17
+ 9980 00ec FF32 adds r2, r2, #255
+ 9981 00ee 2000 movs r0, r4
+ 9982 .LVL858:
+ 9983 00f0 FFF7FEFF bl I2C_TransferConfig
+ ARM GAS /tmp/ccskJbbb.s page 317
+
+
+ 9984 .LVL859:
+ 9985 00f4 AAE7 b .L651
+ 9986 .LVL860:
+ 9987 .L657:
+4661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 9988 .loc 1 4661 0
+ 9989 00f6 8023 movs r3, #128
+ 9990 00f8 D2B2 uxtb r2, r2
+ 9991 00fa 0020 movs r0, #0
+ 9992 00fc 0090 str r0, [sp]
+ 9993 00fe 9B04 lsls r3, r3, #18
+ 9994 0100 2000 movs r0, r4
+ 9995 0102 FFF7FEFF bl I2C_TransferConfig
+ 9996 .LVL861:
+ 9997 0106 A1E7 b .L651
+ 9998 .LVL862:
+ 9999 .L655:
+4668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10000 .loc 1 4668 0
+ 10001 0108 2368 ldr r3, [r4]
+ 10002 010a 5B68 ldr r3, [r3, #4]
+ 10003 010c 9B01 lsls r3, r3, #6
+ 10004 010e 03D4 bmi .L658
+4671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10005 .loc 1 4671 0
+ 10006 0110 2000 movs r0, r4
+ 10007 .LVL863:
+ 10008 0112 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10009 .LVL864:
+ 10010 0116 99E7 b .L651
+ 10011 .LVL865:
+ 10012 .L658:
+4677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10013 .loc 1 4677 0
+ 10014 0118 4021 movs r1, #64
+ 10015 .LVL866:
+ 10016 011a 2000 movs r0, r4
+ 10017 .LVL867:
+ 10018 011c FFF7FEFF bl I2C_ITError
+ 10019 .LVL868:
+ 10020 0120 94E7 b .L651
+ 10021 .LVL869:
+ 10022 .L654:
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10023 .loc 1 4681 0
+ 10024 0122 6B06 lsls r3, r5, #25
+ 10025 0124 00D4 bmi .LCB9991
+ 10026 0126 91E7 b .L651 @long jump
+ 10027 .LCB9991:
+4681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10028 .loc 1 4681 0 is_stmt 0 discriminator 1
+ 10029 0128 7306 lsls r3, r6, #25
+ 10030 012a 00D4 bmi .LCB9996
+ 10031 012c 8EE7 b .L651 @long jump
+ 10032 .LCB9996:
+4683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10033 .loc 1 4683 0 is_stmt 1
+ ARM GAS /tmp/ccskJbbb.s page 318
+
+
+ 10034 012e 638D ldrh r3, [r4, #42]
+ 10035 0130 9BB2 uxth r3, r3
+ 10036 0132 002B cmp r3, #0
+ 10037 0134 12D1 bne .L659
+4685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10038 .loc 1 4685 0
+ 10039 0136 2368 ldr r3, [r4]
+ 10040 0138 5A68 ldr r2, [r3, #4]
+ 10041 013a 9201 lsls r2, r2, #6
+ 10042 013c 00D5 bpl .LCB10006
+ 10043 013e 85E7 b .L651 @long jump
+ 10044 .LCB10006:
+4688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10045 .loc 1 4688 0
+ 10046 0140 E16A ldr r1, [r4, #44]
+ 10047 .LVL870:
+ 10048 0142 0C4A ldr r2, .L666
+ 10049 0144 9142 cmp r1, r2
+ 10050 0146 05D1 bne .L660
+4691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10051 .loc 1 4691 0
+ 10052 0148 5968 ldr r1, [r3, #4]
+ 10053 014a 8022 movs r2, #128
+ 10054 014c D201 lsls r2, r2, #7
+ 10055 014e 0A43 orrs r2, r1
+ 10056 0150 5A60 str r2, [r3, #4]
+ 10057 0152 7BE7 b .L651
+ 10058 .L660:
+4696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10059 .loc 1 4696 0
+ 10060 0154 2000 movs r0, r4
+ 10061 .LVL871:
+ 10062 0156 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10063 .LVL872:
+ 10064 015a 77E7 b .L651
+ 10065 .LVL873:
+ 10066 .L659:
+4704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10067 .loc 1 4704 0
+ 10068 015c 4021 movs r1, #64
+ 10069 .LVL874:
+ 10070 015e 2000 movs r0, r4
+ 10071 .LVL875:
+ 10072 0160 FFF7FEFF bl I2C_ITError
+ 10073 .LVL876:
+ 10074 0164 72E7 b .L651
+ 10075 .LVL877:
+ 10076 .L664:
+4715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10077 .loc 1 4715 0
+ 10078 0166 2900 movs r1, r5
+ 10079 0168 2000 movs r0, r4
+ 10080 016a FFF7FEFF bl I2C_ITMasterCplt
+ 10081 .LVL878:
+ 10082 016e 72E7 b .L661
+ 10083 .LVL879:
+ 10084 .L662:
+ ARM GAS /tmp/ccskJbbb.s page 319
+
+
+4601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10085 .loc 1 4601 0
+ 10086 0170 0220 movs r0, #2
+ 10087 .LVL880:
+ 10088 0172 74E7 b .L649
+ 10089 .L667:
+ 10090 .align 2
+ 10091 .L666:
+ 10092 0174 0000FFFF .word -65536
+ 10093 .cfi_endproc
+ 10094 .LFE89:
+ 10096 .section .text.I2C_Slave_ISR_DMA,"ax",%progbits
+ 10097 .align 1
+ 10098 .syntax unified
+ 10099 .code 16
+ 10100 .thumb_func
+ 10101 .fpu softvfp
+ 10103 I2C_Slave_ISR_DMA:
+ 10104 .LFB92:
+5001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmpoptions = hi2c->XferOptions;
+ 10105 .loc 1 5001 0
+ 10106 .cfi_startproc
+ 10107 @ args = 0, pretend = 0, frame = 0
+ 10108 @ frame_needed = 0, uses_anonymous_args = 0
+ 10109 .LVL881:
+ 10110 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
+ 10111 .LCFI78:
+ 10112 .cfi_def_cfa_offset 24
+ 10113 .cfi_offset 3, -24
+ 10114 .cfi_offset 4, -20
+ 10115 .cfi_offset 5, -16
+ 10116 .cfi_offset 6, -12
+ 10117 .cfi_offset 7, -8
+ 10118 .cfi_offset 14, -4
+ 10119 0002 0400 movs r4, r0
+ 10120 0004 0D00 movs r5, r1
+ 10121 0006 1600 movs r6, r2
+5002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t treatdmanack = 0U;
+ 10122 .loc 1 5002 0
+ 10123 0008 C76A ldr r7, [r0, #44]
+ 10124 .LVL882:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10125 .loc 1 5006 0
+ 10126 000a 4023 movs r3, #64
+ 10127 000c C35C ldrb r3, [r0, r3]
+ 10128 000e 012B cmp r3, #1
+ 10129 0010 00D1 bne .LCB10095
+ 10130 0012 75E0 b .L682 @long jump
+ 10131 .LCB10095:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10132 .loc 1 5006 0 is_stmt 0 discriminator 2
+ 10133 0014 0123 movs r3, #1
+ 10134 0016 4022 movs r2, #64
+ 10135 .LVL883:
+ 10136 0018 8354 strb r3, [r0, r2]
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10137 .loc 1 5009 0 is_stmt 1 discriminator 2
+ ARM GAS /tmp/ccskJbbb.s page 320
+
+
+ 10138 001a 4A09 lsrs r2, r1, #5
+ 10139 001c 1342 tst r3, r2
+ 10140 001e 01D0 beq .L670
+5009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10141 .loc 1 5009 0 is_stmt 0 discriminator 1
+ 10142 0020 B306 lsls r3, r6, #26
+ 10143 0022 14D4 bmi .L686
+ 10144 .LVL884:
+ 10145 .L670:
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10146 .loc 1 5015 0 is_stmt 1
+ 10147 0024 EB06 lsls r3, r5, #27
+ 10148 0026 5DD5 bpl .L671
+5015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10149 .loc 1 5015 0 is_stmt 0 discriminator 1
+ 10150 0028 F306 lsls r3, r6, #27
+ 10151 002a 5BD5 bpl .L671
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+ 10152 .loc 1 5021 0 is_stmt 1
+ 10153 002c B20B lsrs r2, r6, #14
+ 10154 002e 0123 movs r3, #1
+ 10155 0030 1340 ands r3, r2
+ 10156 0032 01D1 bne .L672
+5021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** (I2C_CHECK_IT_SOURCE(ITSources, I2C_CR1_RXDMAEN) != RESET))
+ 10157 .loc 1 5021 0 is_stmt 0 discriminator 1
+ 10158 0034 3204 lsls r2, r6, #16
+ 10159 0036 51D5 bpl .L673
+ 10160 .L672:
+5025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10161 .loc 1 5025 0 is_stmt 1
+ 10162 0038 E26B ldr r2, [r4, #60]
+ 10163 003a 002A cmp r2, #0
+ 10164 003c 0AD0 beq .L683
+5027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10165 .loc 1 5027 0
+ 10166 003e 3104 lsls r1, r6, #16
+ 10167 0040 0AD5 bpl .L684
+5029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10168 .loc 1 5029 0
+ 10169 0042 1268 ldr r2, [r2]
+ 10170 0044 5268 ldr r2, [r2, #4]
+ 10171 0046 002A cmp r2, #0
+ 10172 0048 24D0 beq .L685
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10173 .loc 1 5003 0
+ 10174 004a 0021 movs r1, #0
+ 10175 004c 05E0 b .L674
+ 10176 .LVL885:
+ 10177 .L686:
+5012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10178 .loc 1 5012 0
+ 10179 004e FFF7FEFF bl I2C_ITSlaveCplt
+ 10180 .LVL886:
+ 10181 0052 E7E7 b .L670
+ 10182 .L683:
+5003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10183 .loc 1 5003 0
+ ARM GAS /tmp/ccskJbbb.s page 321
+
+
+ 10184 0054 0021 movs r1, #0
+ 10185 0056 00E0 b .L674
+ 10186 .L684:
+ 10187 0058 0021 movs r1, #0
+ 10188 .L674:
+ 10189 .LVL887:
+5037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10190 .loc 1 5037 0
+ 10191 005a A26B ldr r2, [r4, #56]
+ 10192 005c 002A cmp r2, #0
+ 10193 005e 05D0 beq .L675
+5039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10194 .loc 1 5039 0
+ 10195 0060 002B cmp r3, #0
+ 10196 0062 03D0 beq .L675
+5041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10197 .loc 1 5041 0
+ 10198 0064 1368 ldr r3, [r2]
+ 10199 0066 5B68 ldr r3, [r3, #4]
+ 10200 0068 002B cmp r3, #0
+ 10201 006a 15D0 beq .L676
+ 10202 .L675:
+5048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10203 .loc 1 5048 0
+ 10204 006c 0129 cmp r1, #1
+ 10205 006e 13D0 beq .L676
+5077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10206 .loc 1 5077 0
+ 10207 0070 2368 ldr r3, [r4]
+ 10208 0072 1022 movs r2, #16
+ 10209 0074 DA61 str r2, [r3, #28]
+5080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10210 .loc 1 5080 0
+ 10211 0076 636C ldr r3, [r4, #68]
+ 10212 0078 0C3A subs r2, r2, #12
+ 10213 007a 1343 orrs r3, r2
+ 10214 007c 6364 str r3, [r4, #68]
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10215 .loc 1 5082 0
+ 10216 007e 002F cmp r7, #0
+ 10217 0080 03D0 beq .L681
+5082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10218 .loc 1 5082 0 is_stmt 0 discriminator 1
+ 10219 0082 8023 movs r3, #128
+ 10220 0084 5B04 lsls r3, r3, #17
+ 10221 0086 9F42 cmp r7, r3
+ 10222 0088 30D1 bne .L679
+ 10223 .L681:
+5085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10224 .loc 1 5085 0 is_stmt 1
+ 10225 008a 616C ldr r1, [r4, #68]
+ 10226 .LVL888:
+ 10227 008c 2000 movs r0, r4
+ 10228 008e FFF7FEFF bl I2C_ITError
+ 10229 .LVL889:
+ 10230 0092 2BE0 b .L679
+ 10231 .LVL890:
+ ARM GAS /tmp/ccskJbbb.s page 322
+
+
+ 10232 .L685:
+5031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10233 .loc 1 5031 0
+ 10234 0094 0121 movs r1, #1
+ 10235 0096 E0E7 b .L674
+ 10236 .LVL891:
+ 10237 .L676:
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10238 .loc 1 5050 0
+ 10239 0098 4123 movs r3, #65
+ 10240 009a E35C ldrb r3, [r4, r3]
+ 10241 009c 282B cmp r3, #40
+ 10242 009e 07D0 beq .L687
+ 10243 .L678:
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10244 .loc 1 5055 0
+ 10245 00a0 4123 movs r3, #65
+ 10246 00a2 E35C ldrb r3, [r4, r3]
+ 10247 00a4 292B cmp r3, #41
+ 10248 00a6 0CD0 beq .L688
+ 10249 .L680:
+5070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10250 .loc 1 5070 0
+ 10251 00a8 2368 ldr r3, [r4]
+ 10252 00aa 1022 movs r2, #16
+ 10253 00ac DA61 str r2, [r3, #28]
+ 10254 00ae 1DE0 b .L679
+ 10255 .L687:
+5050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10256 .loc 1 5050 0 discriminator 1
+ 10257 00b0 8023 movs r3, #128
+ 10258 00b2 9B04 lsls r3, r3, #18
+ 10259 00b4 9F42 cmp r7, r3
+ 10260 00b6 F3D1 bne .L678
+5053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10261 .loc 1 5053 0
+ 10262 00b8 2900 movs r1, r5
+ 10263 .LVL892:
+ 10264 00ba 2000 movs r0, r4
+ 10265 00bc FFF7FEFF bl I2C_ITListenCplt
+ 10266 .LVL893:
+ 10267 00c0 14E0 b .L679
+ 10268 .LVL894:
+ 10269 .L688:
+5055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10270 .loc 1 5055 0 discriminator 1
+ 10271 00c2 104B ldr r3, .L690
+ 10272 00c4 9F42 cmp r7, r3
+ 10273 00c6 EFD0 beq .L680
+5058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10274 .loc 1 5058 0
+ 10275 00c8 2368 ldr r3, [r4]
+ 10276 00ca 1022 movs r2, #16
+ 10277 00cc DA61 str r2, [r3, #28]
+5061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10278 .loc 1 5061 0
+ 10279 00ce 2000 movs r0, r4
+ ARM GAS /tmp/ccskJbbb.s page 323
+
+
+ 10280 00d0 FFF7FEFF bl I2C_Flush_TXDR
+ 10281 .LVL895:
+5065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10282 .loc 1 5065 0
+ 10283 00d4 2000 movs r0, r4
+ 10284 00d6 FFF7FEFF bl I2C_ITSlaveSeqCplt
+ 10285 .LVL896:
+ 10286 00da 07E0 b .L679
+ 10287 .LVL897:
+ 10288 .L673:
+5092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10289 .loc 1 5092 0
+ 10290 00dc 2368 ldr r3, [r4]
+ 10291 00de 1022 movs r2, #16
+ 10292 00e0 DA61 str r2, [r3, #28]
+ 10293 00e2 03E0 b .L679
+ 10294 .L671:
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10295 .loc 1 5095 0
+ 10296 00e4 2B07 lsls r3, r5, #28
+ 10297 00e6 01D5 bpl .L679
+5095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10298 .loc 1 5095 0 is_stmt 0 discriminator 1
+ 10299 00e8 3307 lsls r3, r6, #28
+ 10300 00ea 04D4 bmi .L689
+ 10301 .LVL898:
+ 10302 .L679:
+5105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10303 .loc 1 5105 0 is_stmt 1
+ 10304 00ec 4023 movs r3, #64
+ 10305 00ee 0022 movs r2, #0
+ 10306 00f0 E254 strb r2, [r4, r3]
+5107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10307 .loc 1 5107 0
+ 10308 00f2 0020 movs r0, #0
+ 10309 .L669:
+5108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10310 .loc 1 5108 0
+ 10311 @ sp needed
+ 10312 .LVL899:
+ 10313 .LVL900:
+ 10314 .LVL901:
+ 10315 .LVL902:
+ 10316 00f4 F8BD pop {r3, r4, r5, r6, r7, pc}
+ 10317 .LVL903:
+ 10318 .L689:
+5097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10319 .loc 1 5097 0
+ 10320 00f6 2900 movs r1, r5
+ 10321 00f8 2000 movs r0, r4
+ 10322 00fa FFF7FEFF bl I2C_ITAddrCplt
+ 10323 .LVL904:
+ 10324 00fe F5E7 b .L679
+ 10325 .LVL905:
+ 10326 .L682:
+5006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10327 .loc 1 5006 0
+ ARM GAS /tmp/ccskJbbb.s page 324
+
+
+ 10328 0100 0220 movs r0, #2
+ 10329 .LVL906:
+ 10330 0102 F7E7 b .L669
+ 10331 .L691:
+ 10332 .align 2
+ 10333 .L690:
+ 10334 0104 0000FFFF .word -65536
+ 10335 .cfi_endproc
+ 10336 .LFE92:
+ 10338 .section .text.I2C_Master_ISR_DMA,"ax",%progbits
+ 10339 .align 1
+ 10340 .syntax unified
+ 10341 .code 16
+ 10342 .thumb_func
+ 10343 .fpu softvfp
+ 10345 I2C_Master_ISR_DMA:
+ 10346 .LFB91:
+4866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint16_t devaddress;
+ 10347 .loc 1 4866 0
+ 10348 .cfi_startproc
+ 10349 @ args = 0, pretend = 0, frame = 0
+ 10350 @ frame_needed = 0, uses_anonymous_args = 0
+ 10351 .LVL907:
+ 10352 0000 10B5 push {r4, lr}
+ 10353 .LCFI79:
+ 10354 .cfi_def_cfa_offset 8
+ 10355 .cfi_offset 4, -8
+ 10356 .cfi_offset 14, -4
+ 10357 0002 82B0 sub sp, sp, #8
+ 10358 .LCFI80:
+ 10359 .cfi_def_cfa_offset 16
+ 10360 0004 0400 movs r4, r0
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10361 .loc 1 4871 0
+ 10362 0006 4023 movs r3, #64
+ 10363 0008 C35C ldrb r3, [r0, r3]
+ 10364 000a 012B cmp r3, #1
+ 10365 000c 00D1 bne .LCB10362
+ 10366 000e 91E0 b .L705 @long jump
+ 10367 .LCB10362:
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10368 .loc 1 4871 0 is_stmt 0 discriminator 2
+ 10369 0010 0123 movs r3, #1
+ 10370 0012 4020 movs r0, #64
+ 10371 .LVL908:
+ 10372 0014 2354 strb r3, [r4, r0]
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10373 .loc 1 4873 0 is_stmt 1 discriminator 2
+ 10374 0016 0809 lsrs r0, r1, #4
+ 10375 0018 0342 tst r3, r0
+ 10376 001a 01D0 beq .L694
+4873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10377 .loc 1 4873 0 is_stmt 0 discriminator 1
+ 10378 001c D306 lsls r3, r2, #27
+ 10379 001e 2FD4 bmi .L707
+ 10380 .L694:
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ ARM GAS /tmp/ccskJbbb.s page 325
+
+
+ 10381 .loc 1 4889 0 is_stmt 1
+ 10382 0020 0B06 lsls r3, r1, #24
+ 10383 0022 60D5 bpl .L696
+4889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10384 .loc 1 4889 0 is_stmt 0 discriminator 1
+ 10385 0024 5306 lsls r3, r2, #25
+ 10386 0026 5ED5 bpl .L696
+4892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10387 .loc 1 4892 0 is_stmt 1
+ 10388 0028 2268 ldr r2, [r4]
+ 10389 .LVL909:
+ 10390 002a 1368 ldr r3, [r2]
+ 10391 002c 4021 movs r1, #64
+ 10392 .LVL910:
+ 10393 002e 8B43 bics r3, r1
+ 10394 0030 1360 str r3, [r2]
+4894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10395 .loc 1 4894 0
+ 10396 0032 638D ldrh r3, [r4, #42]
+ 10397 0034 9BB2 uxth r3, r3
+ 10398 0036 002B cmp r3, #0
+ 10399 0038 48D0 beq .L697
+4897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10400 .loc 1 4897 0
+ 10401 003a 2368 ldr r3, [r4]
+ 10402 003c 5968 ldr r1, [r3, #4]
+ 10403 003e 8905 lsls r1, r1, #22
+ 10404 0040 890D lsrs r1, r1, #22
+ 10405 .LVL911:
+4900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10406 .loc 1 4900 0
+ 10407 0042 638D ldrh r3, [r4, #42]
+ 10408 0044 9BB2 uxth r3, r3
+ 10409 0046 FF2B cmp r3, #255
+ 10410 0048 2ED9 bls .L698
+4902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** xfermode = I2C_RELOAD_MODE;
+ 10411 .loc 1 4902 0
+ 10412 004a FF23 movs r3, #255
+ 10413 004c 2385 strh r3, [r4, #40]
+ 10414 .LVL912:
+4903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10415 .loc 1 4903 0
+ 10416 004e 8023 movs r3, #128
+ 10417 0050 5B04 lsls r3, r3, #17
+ 10418 .LVL913:
+ 10419 .L699:
+4919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10420 .loc 1 4919 0
+ 10421 0052 228D ldrh r2, [r4, #40]
+ 10422 0054 D2B2 uxtb r2, r2
+ 10423 0056 0020 movs r0, #0
+ 10424 0058 0090 str r0, [sp]
+ 10425 005a 2000 movs r0, r4
+ 10426 005c FFF7FEFF bl I2C_TransferConfig
+ 10427 .LVL914:
+4922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10428 .loc 1 4922 0
+ ARM GAS /tmp/ccskJbbb.s page 326
+
+
+ 10429 0060 638D ldrh r3, [r4, #42]
+ 10430 0062 228D ldrh r2, [r4, #40]
+ 10431 0064 9B1A subs r3, r3, r2
+ 10432 0066 9BB2 uxth r3, r3
+ 10433 0068 6385 strh r3, [r4, #42]
+4925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10434 .loc 1 4925 0
+ 10435 006a 4123 movs r3, #65
+ 10436 006c E35C ldrb r3, [r4, r3]
+ 10437 006e 222B cmp r3, #34
+ 10438 0070 25D0 beq .L708
+4931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10439 .loc 1 4931 0
+ 10440 0072 2268 ldr r2, [r4]
+ 10441 0074 1168 ldr r1, [r2]
+ 10442 0076 8023 movs r3, #128
+ 10443 0078 DB01 lsls r3, r3, #7
+ 10444 007a 0B43 orrs r3, r1
+ 10445 007c 1360 str r3, [r2]
+ 10446 007e 0DE0 b .L695
+ 10447 .LVL915:
+ 10448 .L707:
+4876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10449 .loc 1 4876 0
+ 10450 0080 2368 ldr r3, [r4]
+ 10451 0082 1022 movs r2, #16
+ 10452 .LVL916:
+ 10453 0084 DA61 str r2, [r3, #28]
+4879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10454 .loc 1 4879 0
+ 10455 0086 636C ldr r3, [r4, #68]
+ 10456 0088 0C3A subs r2, r2, #12
+ 10457 008a 1343 orrs r3, r2
+ 10458 008c 6364 str r3, [r4, #68]
+4884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10459 .loc 1 4884 0
+ 10460 008e 1221 movs r1, #18
+ 10461 .LVL917:
+ 10462 0090 2000 movs r0, r4
+ 10463 0092 FFF7FEFF bl I2C_Enable_IRQ
+ 10464 .LVL918:
+4887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10465 .loc 1 4887 0
+ 10466 0096 2000 movs r0, r4
+ 10467 0098 FFF7FEFF bl I2C_Flush_TXDR
+ 10468 .LVL919:
+ 10469 .L695:
+4987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10470 .loc 1 4987 0
+ 10471 009c 4023 movs r3, #64
+ 10472 009e 0022 movs r2, #0
+ 10473 00a0 E254 strb r2, [r4, r3]
+4989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10474 .loc 1 4989 0
+ 10475 00a2 0020 movs r0, #0
+ 10476 .L693:
+4990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ ARM GAS /tmp/ccskJbbb.s page 327
+
+
+ 10477 .loc 1 4990 0
+ 10478 00a4 02B0 add sp, sp, #8
+ 10479 @ sp needed
+ 10480 .LVL920:
+ 10481 00a6 10BD pop {r4, pc}
+ 10482 .LVL921:
+ 10483 .L698:
+4907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** if (hi2c->XferOptions != I2C_NO_OPTION_FRAME)
+ 10484 .loc 1 4907 0
+ 10485 00a8 638D ldrh r3, [r4, #42]
+ 10486 00aa 2385 strh r3, [r4, #40]
+4908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10487 .loc 1 4908 0
+ 10488 00ac E26A ldr r2, [r4, #44]
+ 10489 00ae 224B ldr r3, .L709
+ 10490 00b0 9A42 cmp r2, r3
+ 10491 00b2 01D0 beq .L706
+4910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10492 .loc 1 4910 0
+ 10493 00b4 E36A ldr r3, [r4, #44]
+ 10494 .LVL922:
+ 10495 00b6 CCE7 b .L699
+ 10496 .LVL923:
+ 10497 .L706:
+4914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10498 .loc 1 4914 0
+ 10499 00b8 8023 movs r3, #128
+ 10500 00ba 9B04 lsls r3, r3, #18
+ 10501 00bc C9E7 b .L699
+ 10502 .LVL924:
+ 10503 .L708:
+4927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10504 .loc 1 4927 0
+ 10505 00be 2268 ldr r2, [r4]
+ 10506 00c0 1168 ldr r1, [r2]
+ 10507 00c2 8023 movs r3, #128
+ 10508 00c4 1B02 lsls r3, r3, #8
+ 10509 00c6 0B43 orrs r3, r1
+ 10510 00c8 1360 str r3, [r2]
+ 10511 00ca E7E7 b .L695
+ 10512 .L697:
+4937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10513 .loc 1 4937 0
+ 10514 00cc 2368 ldr r3, [r4]
+ 10515 00ce 5B68 ldr r3, [r3, #4]
+ 10516 00d0 9B01 lsls r3, r3, #6
+ 10517 00d2 03D4 bmi .L701
+4940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10518 .loc 1 4940 0
+ 10519 00d4 2000 movs r0, r4
+ 10520 00d6 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10521 .LVL925:
+ 10522 00da DFE7 b .L695
+ 10523 .L701:
+4946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10524 .loc 1 4946 0
+ 10525 00dc 4021 movs r1, #64
+ ARM GAS /tmp/ccskJbbb.s page 328
+
+
+ 10526 00de 2000 movs r0, r4
+ 10527 00e0 FFF7FEFF bl I2C_ITError
+ 10528 .LVL926:
+ 10529 00e4 DAE7 b .L695
+ 10530 .LVL927:
+ 10531 .L696:
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10532 .loc 1 4950 0
+ 10533 00e6 4B06 lsls r3, r1, #25
+ 10534 00e8 1CD5 bpl .L702
+4950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10535 .loc 1 4950 0 is_stmt 0 discriminator 1
+ 10536 00ea 5306 lsls r3, r2, #25
+ 10537 00ec 1AD5 bpl .L702
+4952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10538 .loc 1 4952 0 is_stmt 1
+ 10539 00ee 638D ldrh r3, [r4, #42]
+ 10540 00f0 9BB2 uxth r3, r3
+ 10541 00f2 002B cmp r3, #0
+ 10542 00f4 11D1 bne .L703
+4954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10543 .loc 1 4954 0
+ 10544 00f6 2368 ldr r3, [r4]
+ 10545 00f8 5A68 ldr r2, [r3, #4]
+ 10546 .LVL928:
+ 10547 00fa 9201 lsls r2, r2, #6
+ 10548 00fc CED4 bmi .L695
+4957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10549 .loc 1 4957 0
+ 10550 00fe E16A ldr r1, [r4, #44]
+ 10551 .LVL929:
+ 10552 0100 0D4A ldr r2, .L709
+ 10553 0102 9142 cmp r1, r2
+ 10554 0104 05D1 bne .L704
+4960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10555 .loc 1 4960 0
+ 10556 0106 5968 ldr r1, [r3, #4]
+ 10557 0108 8022 movs r2, #128
+ 10558 010a D201 lsls r2, r2, #7
+ 10559 010c 0A43 orrs r2, r1
+ 10560 010e 5A60 str r2, [r3, #4]
+ 10561 0110 C4E7 b .L695
+ 10562 .L704:
+4965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10563 .loc 1 4965 0
+ 10564 0112 2000 movs r0, r4
+ 10565 0114 FFF7FEFF bl I2C_ITMasterSeqCplt
+ 10566 .LVL930:
+ 10567 0118 C0E7 b .L695
+ 10568 .LVL931:
+ 10569 .L703:
+4973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10570 .loc 1 4973 0
+ 10571 011a 4021 movs r1, #64
+ 10572 .LVL932:
+ 10573 011c 2000 movs r0, r4
+ 10574 011e FFF7FEFF bl I2C_ITError
+ ARM GAS /tmp/ccskJbbb.s page 329
+
+
+ 10575 .LVL933:
+ 10576 0122 BBE7 b .L695
+ 10577 .LVL934:
+ 10578 .L702:
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10579 .loc 1 4976 0
+ 10580 0124 8B06 lsls r3, r1, #26
+ 10581 0126 B9D5 bpl .L695
+4976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10582 .loc 1 4976 0 is_stmt 0 discriminator 1
+ 10583 0128 9306 lsls r3, r2, #26
+ 10584 012a B7D5 bpl .L695
+4979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10585 .loc 1 4979 0 is_stmt 1
+ 10586 012c 2000 movs r0, r4
+ 10587 012e FFF7FEFF bl I2C_ITMasterCplt
+ 10588 .LVL935:
+ 10589 0132 B3E7 b .L695
+ 10590 .LVL936:
+ 10591 .L705:
+4871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10592 .loc 1 4871 0
+ 10593 0134 0220 movs r0, #2
+ 10594 .LVL937:
+ 10595 0136 B5E7 b .L693
+ 10596 .L710:
+ 10597 .align 2
+ 10598 .L709:
+ 10599 0138 0000FFFF .word -65536
+ 10600 .cfi_endproc
+ 10601 .LFE91:
+ 10603 .section .text.I2C_DMAError,"ax",%progbits
+ 10604 .align 1
+ 10605 .syntax unified
+ 10606 .code 16
+ 10607 .thumb_func
+ 10608 .fpu softvfp
+ 10610 I2C_DMAError:
+ 10611 .LFB107:
+6023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10612 .loc 1 6023 0
+ 10613 .cfi_startproc
+ 10614 @ args = 0, pretend = 0, frame = 0
+ 10615 @ frame_needed = 0, uses_anonymous_args = 0
+ 10616 .LVL938:
+ 10617 0000 10B5 push {r4, lr}
+ 10618 .LCFI81:
+ 10619 .cfi_def_cfa_offset 8
+ 10620 .cfi_offset 4, -8
+ 10621 .cfi_offset 14, -4
+6024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10622 .loc 1 6024 0
+ 10623 0002 406A ldr r0, [r0, #36]
+ 10624 .LVL939:
+6027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10625 .loc 1 6027 0
+ 10626 0004 0268 ldr r2, [r0]
+ ARM GAS /tmp/ccskJbbb.s page 330
+
+
+ 10627 0006 5168 ldr r1, [r2, #4]
+ 10628 0008 8023 movs r3, #128
+ 10629 000a 1B02 lsls r3, r3, #8
+ 10630 000c 0B43 orrs r3, r1
+ 10631 000e 5360 str r3, [r2, #4]
+6030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10632 .loc 1 6030 0
+ 10633 0010 1021 movs r1, #16
+ 10634 0012 FFF7FEFF bl I2C_ITError
+ 10635 .LVL940:
+6031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10636 .loc 1 6031 0
+ 10637 @ sp needed
+ 10638 0016 10BD pop {r4, pc}
+ 10639 .cfi_endproc
+ 10640 .LFE107:
+ 10642 .section .text.I2C_DMAMasterTransmitCplt,"ax",%progbits
+ 10643 .align 1
+ 10644 .syntax unified
+ 10645 .code 16
+ 10646 .thumb_func
+ 10647 .fpu softvfp
+ 10649 I2C_DMAMasterTransmitCplt:
+ 10650 .LFB103:
+5873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10651 .loc 1 5873 0
+ 10652 .cfi_startproc
+ 10653 @ args = 0, pretend = 0, frame = 0
+ 10654 @ frame_needed = 0, uses_anonymous_args = 0
+ 10655 .LVL941:
+ 10656 0000 10B5 push {r4, lr}
+ 10657 .LCFI82:
+ 10658 .cfi_def_cfa_offset 8
+ 10659 .cfi_offset 4, -8
+ 10660 .cfi_offset 14, -4
+5874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10661 .loc 1 5874 0
+ 10662 0002 446A ldr r4, [r0, #36]
+ 10663 .LVL942:
+5877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10664 .loc 1 5877 0
+ 10665 0004 2268 ldr r2, [r4]
+ 10666 0006 1368 ldr r3, [r2]
+ 10667 0008 1549 ldr r1, .L720
+ 10668 000a 0B40 ands r3, r1
+ 10669 000c 1360 str r3, [r2]
+5880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10670 .loc 1 5880 0
+ 10671 000e 638D ldrh r3, [r4, #42]
+ 10672 0010 9BB2 uxth r3, r3
+ 10673 0012 002B cmp r3, #0
+ 10674 0014 17D0 beq .L718
+5889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10675 .loc 1 5889 0
+ 10676 0016 218D ldrh r1, [r4, #40]
+ 10677 0018 636A ldr r3, [r4, #36]
+ 10678 001a 9C46 mov ip, r3
+ ARM GAS /tmp/ccskJbbb.s page 331
+
+
+ 10679 001c 6144 add r1, r1, ip
+ 10680 001e 6162 str r1, [r4, #36]
+5892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10681 .loc 1 5892 0
+ 10682 0020 638D ldrh r3, [r4, #42]
+ 10683 0022 9BB2 uxth r3, r3
+ 10684 0024 FF2B cmp r3, #255
+ 10685 0026 13D9 bls .L715
+5894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10686 .loc 1 5894 0
+ 10687 0028 FF23 movs r3, #255
+ 10688 002a 2385 strh r3, [r4, #40]
+ 10689 .L716:
+5902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10690 .loc 1 5902 0
+ 10691 002c 2268 ldr r2, [r4]
+ 10692 002e 2832 adds r2, r2, #40
+ 10693 0030 238D ldrh r3, [r4, #40]
+ 10694 0032 A06B ldr r0, [r4, #56]
+ 10695 .LVL943:
+ 10696 0034 FFF7FEFF bl HAL_DMA_Start_IT
+ 10697 .LVL944:
+ 10698 0038 0028 cmp r0, #0
+ 10699 003a 0CD1 bne .L719
+5910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10700 .loc 1 5910 0
+ 10701 003c 1221 movs r1, #18
+ 10702 003e 2000 movs r0, r4
+ 10703 0040 FFF7FEFF bl I2C_Enable_IRQ
+ 10704 .LVL945:
+ 10705 .L712:
+5913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10706 .loc 1 5913 0
+ 10707 @ sp needed
+ 10708 .LVL946:
+ 10709 0044 10BD pop {r4, pc}
+ 10710 .LVL947:
+ 10711 .L718:
+5883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10712 .loc 1 5883 0
+ 10713 0046 1221 movs r1, #18
+ 10714 0048 2000 movs r0, r4
+ 10715 .LVL948:
+ 10716 004a FFF7FEFF bl I2C_Enable_IRQ
+ 10717 .LVL949:
+ 10718 004e F9E7 b .L712
+ 10719 .LVL950:
+ 10720 .L715:
+5898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10721 .loc 1 5898 0
+ 10722 0050 638D ldrh r3, [r4, #42]
+ 10723 0052 2385 strh r3, [r4, #40]
+ 10724 0054 EAE7 b .L716
+ 10725 .LVL951:
+ 10726 .L719:
+5905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10727 .loc 1 5905 0
+ ARM GAS /tmp/ccskJbbb.s page 332
+
+
+ 10728 0056 1021 movs r1, #16
+ 10729 0058 2000 movs r0, r4
+ 10730 005a FFF7FEFF bl I2C_ITError
+ 10731 .LVL952:
+ 10732 005e F1E7 b .L712
+ 10733 .L721:
+ 10734 .align 2
+ 10735 .L720:
+ 10736 0060 FFBFFFFF .word -16385
+ 10737 .cfi_endproc
+ 10738 .LFE103:
+ 10740 .section .text.I2C_DMAMasterReceiveCplt,"ax",%progbits
+ 10741 .align 1
+ 10742 .syntax unified
+ 10743 .code 16
+ 10744 .thumb_func
+ 10745 .fpu softvfp
+ 10747 I2C_DMAMasterReceiveCplt:
+ 10748 .LFB105:
+5948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10749 .loc 1 5948 0
+ 10750 .cfi_startproc
+ 10751 @ args = 0, pretend = 0, frame = 0
+ 10752 @ frame_needed = 0, uses_anonymous_args = 0
+ 10753 .LVL953:
+ 10754 0000 10B5 push {r4, lr}
+ 10755 .LCFI83:
+ 10756 .cfi_def_cfa_offset 8
+ 10757 .cfi_offset 4, -8
+ 10758 .cfi_offset 14, -4
+5949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10759 .loc 1 5949 0
+ 10760 0002 446A ldr r4, [r0, #36]
+ 10761 .LVL954:
+5952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10762 .loc 1 5952 0
+ 10763 0004 2268 ldr r2, [r4]
+ 10764 0006 1368 ldr r3, [r2]
+ 10765 0008 1549 ldr r1, .L730
+ 10766 000a 0B40 ands r3, r1
+ 10767 000c 1360 str r3, [r2]
+5955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10768 .loc 1 5955 0
+ 10769 000e 638D ldrh r3, [r4, #42]
+ 10770 0010 9BB2 uxth r3, r3
+ 10771 0012 002B cmp r3, #0
+ 10772 0014 17D0 beq .L728
+5964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10773 .loc 1 5964 0
+ 10774 0016 228D ldrh r2, [r4, #40]
+ 10775 0018 636A ldr r3, [r4, #36]
+ 10776 001a 9C46 mov ip, r3
+ 10777 001c 6244 add r2, r2, ip
+ 10778 001e 6262 str r2, [r4, #36]
+5967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10779 .loc 1 5967 0
+ 10780 0020 638D ldrh r3, [r4, #42]
+ ARM GAS /tmp/ccskJbbb.s page 333
+
+
+ 10781 0022 9BB2 uxth r3, r3
+ 10782 0024 FF2B cmp r3, #255
+ 10783 0026 13D9 bls .L725
+5969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10784 .loc 1 5969 0
+ 10785 0028 FF23 movs r3, #255
+ 10786 002a 2385 strh r3, [r4, #40]
+ 10787 .L726:
+5977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10788 .loc 1 5977 0
+ 10789 002c 2168 ldr r1, [r4]
+ 10790 002e 2431 adds r1, r1, #36
+ 10791 0030 238D ldrh r3, [r4, #40]
+ 10792 0032 E06B ldr r0, [r4, #60]
+ 10793 .LVL955:
+ 10794 0034 FFF7FEFF bl HAL_DMA_Start_IT
+ 10795 .LVL956:
+ 10796 0038 0028 cmp r0, #0
+ 10797 003a 0CD1 bne .L729
+5985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10798 .loc 1 5985 0
+ 10799 003c 1221 movs r1, #18
+ 10800 003e 2000 movs r0, r4
+ 10801 0040 FFF7FEFF bl I2C_Enable_IRQ
+ 10802 .LVL957:
+ 10803 .L722:
+5988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10804 .loc 1 5988 0
+ 10805 @ sp needed
+ 10806 .LVL958:
+ 10807 0044 10BD pop {r4, pc}
+ 10808 .LVL959:
+ 10809 .L728:
+5958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10810 .loc 1 5958 0
+ 10811 0046 1221 movs r1, #18
+ 10812 0048 2000 movs r0, r4
+ 10813 .LVL960:
+ 10814 004a FFF7FEFF bl I2C_Enable_IRQ
+ 10815 .LVL961:
+ 10816 004e F9E7 b .L722
+ 10817 .LVL962:
+ 10818 .L725:
+5973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10819 .loc 1 5973 0
+ 10820 0050 638D ldrh r3, [r4, #42]
+ 10821 0052 2385 strh r3, [r4, #40]
+ 10822 0054 EAE7 b .L726
+ 10823 .LVL963:
+ 10824 .L729:
+5980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10825 .loc 1 5980 0
+ 10826 0056 1021 movs r1, #16
+ 10827 0058 2000 movs r0, r4
+ 10828 005a FFF7FEFF bl I2C_ITError
+ 10829 .LVL964:
+ 10830 005e F1E7 b .L722
+ ARM GAS /tmp/ccskJbbb.s page 334
+
+
+ 10831 .L731:
+ 10832 .align 2
+ 10833 .L730:
+ 10834 0060 FF7FFFFF .word -32769
+ 10835 .cfi_endproc
+ 10836 .LFE105:
+ 10838 .section .text.HAL_I2C_ER_IRQHandler,"ax",%progbits
+ 10839 .align 1
+ 10840 .global HAL_I2C_ER_IRQHandler
+ 10841 .syntax unified
+ 10842 .code 16
+ 10843 .thumb_func
+ 10844 .fpu softvfp
+ 10846 HAL_I2C_ER_IRQHandler:
+ 10847 .LFB75:
+4317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itflags = READ_REG(hi2c->Instance->ISR);
+ 10848 .loc 1 4317 0
+ 10849 .cfi_startproc
+ 10850 @ args = 0, pretend = 0, frame = 0
+ 10851 @ frame_needed = 0, uses_anonymous_args = 0
+ 10852 .LVL965:
+ 10853 0000 70B5 push {r4, r5, r6, lr}
+ 10854 .LCFI84:
+ 10855 .cfi_def_cfa_offset 16
+ 10856 .cfi_offset 4, -16
+ 10857 .cfi_offset 5, -12
+ 10858 .cfi_offset 6, -8
+ 10859 .cfi_offset 14, -4
+4318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t itsources = READ_REG(hi2c->Instance->CR1);
+ 10860 .loc 1 4318 0
+ 10861 0002 0268 ldr r2, [r0]
+ 10862 0004 9369 ldr r3, [r2, #24]
+ 10863 .LVL966:
+4319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** uint32_t tmperror;
+ 10864 .loc 1 4319 0
+ 10865 0006 1168 ldr r1, [r2]
+ 10866 .LVL967:
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10867 .loc 1 4323 0
+ 10868 0008 DC05 lsls r4, r3, #23
+ 10869 000a 08D5 bpl .L733
+4323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10870 .loc 1 4323 0 is_stmt 0 discriminator 1
+ 10871 000c 0C06 lsls r4, r1, #24
+ 10872 000e 06D5 bpl .L733
+4325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10873 .loc 1 4325 0 is_stmt 1
+ 10874 0010 446C ldr r4, [r0, #68]
+ 10875 0012 0125 movs r5, #1
+ 10876 0014 2C43 orrs r4, r5
+ 10877 0016 4464 str r4, [r0, #68]
+4328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10878 .loc 1 4328 0
+ 10879 0018 8024 movs r4, #128
+ 10880 001a 6400 lsls r4, r4, #1
+ 10881 001c D461 str r4, [r2, #28]
+ 10882 .L733:
+ ARM GAS /tmp/ccskJbbb.s page 335
+
+
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10883 .loc 1 4332 0
+ 10884 001e 5A05 lsls r2, r3, #21
+ 10885 0020 09D5 bpl .L734
+4332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10886 .loc 1 4332 0 is_stmt 0 discriminator 1
+ 10887 0022 0A06 lsls r2, r1, #24
+ 10888 0024 07D5 bpl .L734
+4334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10889 .loc 1 4334 0 is_stmt 1
+ 10890 0026 426C ldr r2, [r0, #68]
+ 10891 0028 0824 movs r4, #8
+ 10892 002a 2243 orrs r2, r4
+ 10893 002c 4264 str r2, [r0, #68]
+4337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10894 .loc 1 4337 0
+ 10895 002e 0268 ldr r2, [r0]
+ 10896 0030 8024 movs r4, #128
+ 10897 0032 E400 lsls r4, r4, #3
+ 10898 0034 D461 str r4, [r2, #28]
+ 10899 .L734:
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10900 .loc 1 4341 0
+ 10901 0036 9B05 lsls r3, r3, #22
+ 10902 0038 09D5 bpl .L735
+ 10903 .LVL968:
+4341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10904 .loc 1 4341 0 is_stmt 0 discriminator 1
+ 10905 003a 0B06 lsls r3, r1, #24
+ 10906 003c 07D5 bpl .L735
+4343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10907 .loc 1 4343 0 is_stmt 1
+ 10908 003e 436C ldr r3, [r0, #68]
+ 10909 0040 0222 movs r2, #2
+ 10910 0042 1343 orrs r3, r2
+ 10911 0044 4364 str r3, [r0, #68]
+4346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10912 .loc 1 4346 0
+ 10913 0046 0368 ldr r3, [r0]
+ 10914 0048 FF32 adds r2, r2, #255
+ 10915 004a FF32 adds r2, r2, #255
+ 10916 004c DA61 str r2, [r3, #28]
+ 10917 .L735:
+4350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10918 .loc 1 4350 0
+ 10919 004e 416C ldr r1, [r0, #68]
+ 10920 .LVL969:
+4353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10921 .loc 1 4353 0
+ 10922 0050 0B23 movs r3, #11
+ 10923 0052 0B42 tst r3, r1
+ 10924 0054 00D1 bne .L737
+ 10925 .LVL970:
+ 10926 .L732:
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10927 .loc 1 4357 0
+ 10928 @ sp needed
+ ARM GAS /tmp/ccskJbbb.s page 336
+
+
+ 10929 0056 70BD pop {r4, r5, r6, pc}
+ 10930 .LVL971:
+ 10931 .L737:
+4355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 10932 .loc 1 4355 0
+ 10933 0058 FFF7FEFF bl I2C_ITError
+ 10934 .LVL972:
+4357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10935 .loc 1 4357 0
+ 10936 005c FBE7 b .L732
+ 10937 .cfi_endproc
+ 10938 .LFE75:
+ 10940 .section .text.I2C_DMAAbort,"ax",%progbits
+ 10941 .align 1
+ 10942 .syntax unified
+ 10943 .code 16
+ 10944 .thumb_func
+ 10945 .fpu softvfp
+ 10947 I2C_DMAAbort:
+ 10948 .LFB108:
+6040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** I2C_HandleTypeDef *hi2c = (I2C_HandleTypeDef *)(((DMA_HandleTypeDef *)hdma)->Parent); /* Derogati
+ 10949 .loc 1 6040 0
+ 10950 .cfi_startproc
+ 10951 @ args = 0, pretend = 0, frame = 0
+ 10952 @ frame_needed = 0, uses_anonymous_args = 0
+ 10953 .LVL973:
+ 10954 0000 10B5 push {r4, lr}
+ 10955 .LCFI85:
+ 10956 .cfi_def_cfa_offset 8
+ 10957 .cfi_offset 4, -8
+ 10958 .cfi_offset 14, -4
+6041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10959 .loc 1 6041 0
+ 10960 0002 406A ldr r0, [r0, #36]
+ 10961 .LVL974:
+6044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** hi2c->hdmarx->XferAbortCallback = NULL;
+ 10962 .loc 1 6044 0
+ 10963 0004 826B ldr r2, [r0, #56]
+ 10964 0006 0023 movs r3, #0
+ 10965 0008 5363 str r3, [r2, #52]
+6045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10966 .loc 1 6045 0
+ 10967 000a C26B ldr r2, [r0, #60]
+ 10968 000c 5363 str r3, [r2, #52]
+6048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** {
+ 10969 .loc 1 6048 0
+ 10970 000e 4133 adds r3, r3, #65
+ 10971 0010 C35C ldrb r3, [r0, r3]
+ 10972 0012 602B cmp r3, #96
+ 10973 0014 02D0 beq .L741
+6065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 10974 .loc 1 6065 0
+ 10975 0016 FFF7FEFF bl HAL_I2C_ErrorCallback
+ 10976 .LVL975:
+ 10977 .L738:
+6068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10978 .loc 1 6068 0
+ ARM GAS /tmp/ccskJbbb.s page 337
+
+
+ 10979 @ sp needed
+ 10980 001a 10BD pop {r4, pc}
+ 10981 .LVL976:
+ 10982 .L741:
+6050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 10983 .loc 1 6050 0
+ 10984 001c 1F3B subs r3, r3, #31
+ 10985 001e 2022 movs r2, #32
+ 10986 0020 C254 strb r2, [r0, r3]
+6056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** #endif /* USE_HAL_I2C_REGISTER_CALLBACKS */
+ 10987 .loc 1 6056 0
+ 10988 0022 FFF7FEFF bl HAL_I2C_AbortCpltCallback
+ 10989 .LVL977:
+ 10990 0026 F8E7 b .L738
+ 10991 .cfi_endproc
+ 10992 .LFE108:
+ 10994 .section .text.HAL_I2C_GetState,"ax",%progbits
+ 10995 .align 1
+ 10996 .global HAL_I2C_GetState
+ 10997 .syntax unified
+ 10998 .code 16
+ 10999 .thumb_func
+ 11000 .fpu softvfp
+ 11002 HAL_I2C_GetState:
+ 11003 .LFB86:
+4548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** /* Return I2C handle state */
+ 11004 .loc 1 4548 0
+ 11005 .cfi_startproc
+ 11006 @ args = 0, pretend = 0, frame = 0
+ 11007 @ frame_needed = 0, uses_anonymous_args = 0
+ 11008 @ link register save eliminated.
+ 11009 .LVL978:
+4550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11010 .loc 1 4550 0
+ 11011 0000 4123 movs r3, #65
+ 11012 0002 C05C ldrb r0, [r0, r3]
+ 11013 .LVL979:
+ 11014 0004 C0B2 uxtb r0, r0
+4551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11015 .loc 1 4551 0
+ 11016 @ sp needed
+ 11017 0006 7047 bx lr
+ 11018 .cfi_endproc
+ 11019 .LFE86:
+ 11021 .section .text.HAL_I2C_GetMode,"ax",%progbits
+ 11022 .align 1
+ 11023 .global HAL_I2C_GetMode
+ 11024 .syntax unified
+ 11025 .code 16
+ 11026 .thumb_func
+ 11027 .fpu softvfp
+ 11029 HAL_I2C_GetMode:
+ 11030 .LFB87:
+4560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->Mode;
+ 11031 .loc 1 4560 0
+ 11032 .cfi_startproc
+ 11033 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccskJbbb.s page 338
+
+
+ 11034 @ frame_needed = 0, uses_anonymous_args = 0
+ 11035 @ link register save eliminated.
+ 11036 .LVL980:
+4561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11037 .loc 1 4561 0
+ 11038 0000 4223 movs r3, #66
+ 11039 0002 C05C ldrb r0, [r0, r3]
+ 11040 .LVL981:
+ 11041 0004 C0B2 uxtb r0, r0
+4562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11042 .loc 1 4562 0
+ 11043 @ sp needed
+ 11044 0006 7047 bx lr
+ 11045 .cfi_endproc
+ 11046 .LFE87:
+ 11048 .section .text.HAL_I2C_GetError,"ax",%progbits
+ 11049 .align 1
+ 11050 .global HAL_I2C_GetError
+ 11051 .syntax unified
+ 11052 .code 16
+ 11053 .thumb_func
+ 11054 .fpu softvfp
+ 11056 HAL_I2C_GetError:
+ 11057 .LFB88:
+4571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** return hi2c->ErrorCode;
+ 11058 .loc 1 4571 0
+ 11059 .cfi_startproc
+ 11060 @ args = 0, pretend = 0, frame = 0
+ 11061 @ frame_needed = 0, uses_anonymous_args = 0
+ 11062 @ link register save eliminated.
+ 11063 .LVL982:
+4572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c **** }
+ 11064 .loc 1 4572 0
+ 11065 0000 406C ldr r0, [r0, #68]
+ 11066 .LVL983:
+4573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c.c ****
+ 11067 .loc 1 4573 0
+ 11068 @ sp needed
+ 11069 0002 7047 bx lr
+ 11070 .cfi_endproc
+ 11071 .LFE88:
+ 11073 .text
+ 11074 .Letext0:
+ 11075 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 11076 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 11077 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 11078 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 11079 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 11080 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 11081 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 11082 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h"
+ 11083 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccskJbbb.s page 339
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_i2c.c
+ /tmp/ccskJbbb.s:16 .text.I2C_Flush_TXDR:0000000000000000 $t
+ /tmp/ccskJbbb.s:22 .text.I2C_Flush_TXDR:0000000000000000 I2C_Flush_TXDR
+ /tmp/ccskJbbb.s:58 .text.I2C_TransferConfig:0000000000000000 $t
+ /tmp/ccskJbbb.s:64 .text.I2C_TransferConfig:0000000000000000 I2C_TransferConfig
+ /tmp/ccskJbbb.s:108 .text.I2C_TransferConfig:0000000000000028 $d
+ /tmp/ccskJbbb.s:113 .text.I2C_Enable_IRQ:0000000000000000 $t
+ /tmp/ccskJbbb.s:119 .text.I2C_Enable_IRQ:0000000000000000 I2C_Enable_IRQ
+ /tmp/ccskJbbb.s:240 .text.I2C_Enable_IRQ:0000000000000074 $d
+ /tmp/ccskJbbb.s:10345 .text.I2C_Master_ISR_DMA:0000000000000000 I2C_Master_ISR_DMA
+ /tmp/ccskJbbb.s:10103 .text.I2C_Slave_ISR_DMA:0000000000000000 I2C_Slave_ISR_DMA
+ /tmp/ccskJbbb.s:246 .text.I2C_Disable_IRQ:0000000000000000 $t
+ /tmp/ccskJbbb.s:252 .text.I2C_Disable_IRQ:0000000000000000 I2C_Disable_IRQ
+ /tmp/ccskJbbb.s:371 .text.I2C_ConvertOtherXferOptions:0000000000000000 $t
+ /tmp/ccskJbbb.s:377 .text.I2C_ConvertOtherXferOptions:0000000000000000 I2C_ConvertOtherXferOptions
+ /tmp/ccskJbbb.s:415 .text.I2C_IsAcknowledgeFailed:0000000000000000 $t
+ /tmp/ccskJbbb.s:421 .text.I2C_IsAcknowledgeFailed:0000000000000000 I2C_IsAcknowledgeFailed
+ /tmp/ccskJbbb.s:533 .text.I2C_IsAcknowledgeFailed:000000000000007c $d
+ /tmp/ccskJbbb.s:538 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:544 .text.I2C_WaitOnTXISFlagUntilTimeout:0000000000000000 I2C_WaitOnTXISFlagUntilTimeout
+ /tmp/ccskJbbb.s:626 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:632 .text.I2C_WaitOnFlagUntilTimeout:0000000000000000 I2C_WaitOnFlagUntilTimeout
+ /tmp/ccskJbbb.s:709 .text.I2C_RequestMemoryWrite:0000000000000000 $t
+ /tmp/ccskJbbb.s:715 .text.I2C_RequestMemoryWrite:0000000000000000 I2C_RequestMemoryWrite
+ /tmp/ccskJbbb.s:812 .text.I2C_RequestMemoryWrite:0000000000000070 $d
+ /tmp/ccskJbbb.s:817 .text.I2C_RequestMemoryRead:0000000000000000 $t
+ /tmp/ccskJbbb.s:823 .text.I2C_RequestMemoryRead:0000000000000000 I2C_RequestMemoryRead
+ /tmp/ccskJbbb.s:917 .text.I2C_RequestMemoryRead:000000000000006c $d
+ /tmp/ccskJbbb.s:922 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:928 .text.I2C_WaitOnSTOPFlagUntilTimeout:0000000000000000 I2C_WaitOnSTOPFlagUntilTimeout
+ /tmp/ccskJbbb.s:1007 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 $t
+ /tmp/ccskJbbb.s:1013 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000000 I2C_WaitOnRXNEFlagUntilTimeout
+ /tmp/ccskJbbb.s:1127 .text.I2C_WaitOnRXNEFlagUntilTimeout:0000000000000080 $d
+ /tmp/ccskJbbb.s:1132 .text.HAL_I2C_MspInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1139 .text.HAL_I2C_MspInit:0000000000000000 HAL_I2C_MspInit
+ /tmp/ccskJbbb.s:1154 .text.HAL_I2C_Init:0000000000000000 $t
+ /tmp/ccskJbbb.s:1161 .text.HAL_I2C_Init:0000000000000000 HAL_I2C_Init
+ /tmp/ccskJbbb.s:1309 .text.HAL_I2C_Init:00000000000000c0 $d
+ /tmp/ccskJbbb.s:1316 .text.HAL_I2C_MspDeInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1323 .text.HAL_I2C_MspDeInit:0000000000000000 HAL_I2C_MspDeInit
+ /tmp/ccskJbbb.s:1338 .text.HAL_I2C_DeInit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1345 .text.HAL_I2C_DeInit:0000000000000000 HAL_I2C_DeInit
+ /tmp/ccskJbbb.s:1405 .text.HAL_I2C_Master_Transmit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1412 .text.HAL_I2C_Master_Transmit:0000000000000000 HAL_I2C_Master_Transmit
+ /tmp/ccskJbbb.s:1680 .text.HAL_I2C_Master_Transmit:0000000000000164 $d
+ /tmp/ccskJbbb.s:1686 .text.HAL_I2C_Master_Receive:0000000000000000 $t
+ /tmp/ccskJbbb.s:1693 .text.HAL_I2C_Master_Receive:0000000000000000 HAL_I2C_Master_Receive
+ /tmp/ccskJbbb.s:1961 .text.HAL_I2C_Master_Receive:0000000000000164 $d
+ /tmp/ccskJbbb.s:1967 .text.HAL_I2C_Slave_Transmit:0000000000000000 $t
+ /tmp/ccskJbbb.s:1974 .text.HAL_I2C_Slave_Transmit:0000000000000000 HAL_I2C_Slave_Transmit
+ /tmp/ccskJbbb.s:2276 .text.HAL_I2C_Slave_Transmit:0000000000000194 $d
+ /tmp/ccskJbbb.s:2281 .text.HAL_I2C_Slave_Receive:0000000000000000 $t
+ /tmp/ccskJbbb.s:2288 .text.HAL_I2C_Slave_Receive:0000000000000000 HAL_I2C_Slave_Receive
+ /tmp/ccskJbbb.s:2571 .text.HAL_I2C_Slave_Receive:0000000000000178 $d
+ /tmp/ccskJbbb.s:2576 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2583 .text.HAL_I2C_Master_Transmit_IT:0000000000000000 HAL_I2C_Master_Transmit_IT
+ ARM GAS /tmp/ccskJbbb.s page 340
+
+
+ /tmp/ccskJbbb.s:2712 .text.HAL_I2C_Master_Transmit_IT:0000000000000088 $d
+ /tmp/ccskJbbb.s:9787 .text.I2C_Master_ISR_IT:0000000000000000 I2C_Master_ISR_IT
+ /tmp/ccskJbbb.s:2719 .text.HAL_I2C_Master_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2726 .text.HAL_I2C_Master_Receive_IT:0000000000000000 HAL_I2C_Master_Receive_IT
+ /tmp/ccskJbbb.s:2855 .text.HAL_I2C_Master_Receive_IT:0000000000000088 $d
+ /tmp/ccskJbbb.s:2862 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2869 .text.HAL_I2C_Slave_Transmit_IT:0000000000000000 HAL_I2C_Slave_Transmit_IT
+ /tmp/ccskJbbb.s:2957 .text.HAL_I2C_Slave_Transmit_IT:0000000000000058 $d
+ /tmp/ccskJbbb.s:9339 .text.I2C_Slave_ISR_IT:0000000000000000 I2C_Slave_ISR_IT
+ /tmp/ccskJbbb.s:2964 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:2971 .text.HAL_I2C_Slave_Receive_IT:0000000000000000 HAL_I2C_Slave_Receive_IT
+ /tmp/ccskJbbb.s:3059 .text.HAL_I2C_Slave_Receive_IT:0000000000000058 $d
+ /tmp/ccskJbbb.s:3066 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3073 .text.HAL_I2C_Master_Transmit_DMA:0000000000000000 HAL_I2C_Master_Transmit_DMA
+ /tmp/ccskJbbb.s:3332 .text.HAL_I2C_Master_Transmit_DMA:000000000000013c $d
+ /tmp/ccskJbbb.s:10649 .text.I2C_DMAMasterTransmitCplt:0000000000000000 I2C_DMAMasterTransmitCplt
+ /tmp/ccskJbbb.s:10610 .text.I2C_DMAError:0000000000000000 I2C_DMAError
+ /tmp/ccskJbbb.s:3342 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3349 .text.HAL_I2C_Master_Receive_DMA:0000000000000000 HAL_I2C_Master_Receive_DMA
+ /tmp/ccskJbbb.s:3607 .text.HAL_I2C_Master_Receive_DMA:000000000000013c $d
+ /tmp/ccskJbbb.s:10747 .text.I2C_DMAMasterReceiveCplt:0000000000000000 I2C_DMAMasterReceiveCplt
+ /tmp/ccskJbbb.s:3617 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3624 .text.HAL_I2C_Slave_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Transmit_DMA
+ /tmp/ccskJbbb.s:3811 .text.HAL_I2C_Slave_Transmit_DMA:00000000000000e0 $d
+ /tmp/ccskJbbb.s:8434 .text.I2C_DMASlaveTransmitCplt:0000000000000000 I2C_DMASlaveTransmitCplt
+ /tmp/ccskJbbb.s:3820 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:3827 .text.HAL_I2C_Slave_Receive_DMA:0000000000000000 HAL_I2C_Slave_Receive_DMA
+ /tmp/ccskJbbb.s:4017 .text.HAL_I2C_Slave_Receive_DMA:00000000000000e4 $d
+ /tmp/ccskJbbb.s:8489 .text.I2C_DMASlaveReceiveCplt:0000000000000000 I2C_DMASlaveReceiveCplt
+ /tmp/ccskJbbb.s:4026 .text.HAL_I2C_Mem_Write:0000000000000000 $t
+ /tmp/ccskJbbb.s:4033 .text.HAL_I2C_Mem_Write:0000000000000000 HAL_I2C_Mem_Write
+ /tmp/ccskJbbb.s:4340 .text.HAL_I2C_Mem_Write:000000000000019c $d
+ /tmp/ccskJbbb.s:4345 .text.HAL_I2C_Mem_Read:0000000000000000 $t
+ /tmp/ccskJbbb.s:4352 .text.HAL_I2C_Mem_Read:0000000000000000 HAL_I2C_Mem_Read
+ /tmp/ccskJbbb.s:4661 .text.HAL_I2C_Mem_Read:00000000000001a0 $d
+ /tmp/ccskJbbb.s:4667 .text.HAL_I2C_Mem_Write_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:4674 .text.HAL_I2C_Mem_Write_IT:0000000000000000 HAL_I2C_Mem_Write_IT
+ /tmp/ccskJbbb.s:4849 .text.HAL_I2C_Mem_Write_IT:00000000000000cc $d
+ /tmp/ccskJbbb.s:4855 .text.HAL_I2C_Mem_Read_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:4862 .text.HAL_I2C_Mem_Read_IT:0000000000000000 HAL_I2C_Mem_Read_IT
+ /tmp/ccskJbbb.s:5038 .text.HAL_I2C_Mem_Read_IT:00000000000000cc $d
+ /tmp/ccskJbbb.s:5045 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:5052 .text.HAL_I2C_Mem_Write_DMA:0000000000000000 HAL_I2C_Mem_Write_DMA
+ /tmp/ccskJbbb.s:5327 .text.HAL_I2C_Mem_Write_DMA:0000000000000158 $d
+ /tmp/ccskJbbb.s:5335 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:5342 .text.HAL_I2C_Mem_Read_DMA:0000000000000000 HAL_I2C_Mem_Read_DMA
+ /tmp/ccskJbbb.s:5618 .text.HAL_I2C_Mem_Read_DMA:0000000000000158 $d
+ /tmp/ccskJbbb.s:5627 .text.HAL_I2C_IsDeviceReady:0000000000000000 $t
+ /tmp/ccskJbbb.s:5634 .text.HAL_I2C_IsDeviceReady:0000000000000000 HAL_I2C_IsDeviceReady
+ /tmp/ccskJbbb.s:5939 .text.HAL_I2C_IsDeviceReady:000000000000017c $d
+ /tmp/ccskJbbb.s:5944 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:5951 .text.HAL_I2C_Master_Seq_Transmit_IT:0000000000000000 HAL_I2C_Master_Seq_Transmit_IT
+ /tmp/ccskJbbb.s:6116 .text.HAL_I2C_Master_Seq_Transmit_IT:00000000000000b0 $d
+ /tmp/ccskJbbb.s:6122 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:6129 .text.HAL_I2C_Master_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Master_Seq_Transmit_DMA
+ /tmp/ccskJbbb.s:6416 .text.HAL_I2C_Master_Seq_Transmit_DMA:000000000000015c $d
+ /tmp/ccskJbbb.s:6425 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 $t
+ ARM GAS /tmp/ccskJbbb.s page 341
+
+
+ /tmp/ccskJbbb.s:6432 .text.HAL_I2C_Master_Seq_Receive_IT:0000000000000000 HAL_I2C_Master_Seq_Receive_IT
+ /tmp/ccskJbbb.s:6597 .text.HAL_I2C_Master_Seq_Receive_IT:00000000000000b0 $d
+ /tmp/ccskJbbb.s:6603 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:6610 .text.HAL_I2C_Master_Seq_Receive_DMA:0000000000000000 HAL_I2C_Master_Seq_Receive_DMA
+ /tmp/ccskJbbb.s:6897 .text.HAL_I2C_Master_Seq_Receive_DMA:000000000000015c $d
+ /tmp/ccskJbbb.s:6906 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:6913 .text.HAL_I2C_Slave_Seq_Transmit_IT:0000000000000000 HAL_I2C_Slave_Seq_Transmit_IT
+ /tmp/ccskJbbb.s:7083 .text.HAL_I2C_Slave_Seq_Transmit_IT:00000000000000c8 $d
+ /tmp/ccskJbbb.s:10947 .text.I2C_DMAAbort:0000000000000000 I2C_DMAAbort
+ /tmp/ccskJbbb.s:7090 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:7097 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000000 HAL_I2C_Slave_Seq_Transmit_DMA
+ /tmp/ccskJbbb.s:7395 .text.HAL_I2C_Slave_Seq_Transmit_DMA:0000000000000180 $d
+ /tmp/ccskJbbb.s:7405 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7412 .text.HAL_I2C_Slave_Seq_Receive_IT:0000000000000000 HAL_I2C_Slave_Seq_Receive_IT
+ /tmp/ccskJbbb.s:7582 .text.HAL_I2C_Slave_Seq_Receive_IT:00000000000000c8 $d
+ /tmp/ccskJbbb.s:7590 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:7597 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000000 HAL_I2C_Slave_Seq_Receive_DMA
+ /tmp/ccskJbbb.s:7896 .text.HAL_I2C_Slave_Seq_Receive_DMA:0000000000000180 $d
+ /tmp/ccskJbbb.s:7906 .text.HAL_I2C_EnableListen_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7913 .text.HAL_I2C_EnableListen_IT:0000000000000000 HAL_I2C_EnableListen_IT
+ /tmp/ccskJbbb.s:7956 .text.HAL_I2C_EnableListen_IT:0000000000000024 $d
+ /tmp/ccskJbbb.s:7961 .text.HAL_I2C_DisableListen_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:7968 .text.HAL_I2C_DisableListen_IT:0000000000000000 HAL_I2C_DisableListen_IT
+ /tmp/ccskJbbb.s:8027 .text.HAL_I2C_Master_Abort_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:8034 .text.HAL_I2C_Master_Abort_IT:0000000000000000 HAL_I2C_Master_Abort_IT
+ /tmp/ccskJbbb.s:8122 .text.HAL_I2C_Master_Abort_IT:0000000000000060 $d
+ /tmp/ccskJbbb.s:8127 .text.HAL_I2C_EV_IRQHandler:0000000000000000 $t
+ /tmp/ccskJbbb.s:8134 .text.HAL_I2C_EV_IRQHandler:0000000000000000 HAL_I2C_EV_IRQHandler
+ /tmp/ccskJbbb.s:8168 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8175 .text.HAL_I2C_MasterTxCpltCallback:0000000000000000 HAL_I2C_MasterTxCpltCallback
+ /tmp/ccskJbbb.s:8190 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8197 .text.HAL_I2C_MasterRxCpltCallback:0000000000000000 HAL_I2C_MasterRxCpltCallback
+ /tmp/ccskJbbb.s:8212 .text.I2C_ITMasterSeqCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8218 .text.I2C_ITMasterSeqCplt:0000000000000000 I2C_ITMasterSeqCplt
+ /tmp/ccskJbbb.s:8296 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8303 .text.HAL_I2C_SlaveTxCpltCallback:0000000000000000 HAL_I2C_SlaveTxCpltCallback
+ /tmp/ccskJbbb.s:8318 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8325 .text.HAL_I2C_SlaveRxCpltCallback:0000000000000000 HAL_I2C_SlaveRxCpltCallback
+ /tmp/ccskJbbb.s:8340 .text.I2C_ITSlaveSeqCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8346 .text.I2C_ITSlaveSeqCplt:0000000000000000 I2C_ITSlaveSeqCplt
+ /tmp/ccskJbbb.s:8428 .text.I2C_DMASlaveTransmitCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8478 .text.I2C_DMASlaveTransmitCplt:0000000000000024 $d
+ /tmp/ccskJbbb.s:8483 .text.I2C_DMASlaveReceiveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8534 .text.I2C_DMASlaveReceiveCplt:0000000000000028 $d
+ /tmp/ccskJbbb.s:8540 .text.HAL_I2C_AddrCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8547 .text.HAL_I2C_AddrCallback:0000000000000000 HAL_I2C_AddrCallback
+ /tmp/ccskJbbb.s:8562 .text.I2C_ITAddrCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8568 .text.I2C_ITAddrCplt:0000000000000000 I2C_ITAddrCplt
+ /tmp/ccskJbbb.s:8708 .text.HAL_I2C_ListenCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8715 .text.HAL_I2C_ListenCpltCallback:0000000000000000 HAL_I2C_ListenCpltCallback
+ /tmp/ccskJbbb.s:8730 .text.I2C_ITListenCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:8736 .text.I2C_ITListenCplt:0000000000000000 I2C_ITListenCplt
+ /tmp/ccskJbbb.s:8820 .text.I2C_ITListenCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:8825 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8832 .text.HAL_I2C_MemTxCpltCallback:0000000000000000 HAL_I2C_MemTxCpltCallback
+ /tmp/ccskJbbb.s:8847 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8854 .text.HAL_I2C_MemRxCpltCallback:0000000000000000 HAL_I2C_MemRxCpltCallback
+ ARM GAS /tmp/ccskJbbb.s page 342
+
+
+ /tmp/ccskJbbb.s:8869 .text.HAL_I2C_ErrorCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8876 .text.HAL_I2C_ErrorCallback:0000000000000000 HAL_I2C_ErrorCallback
+ /tmp/ccskJbbb.s:8891 .text.HAL_I2C_AbortCpltCallback:0000000000000000 $t
+ /tmp/ccskJbbb.s:8898 .text.HAL_I2C_AbortCpltCallback:0000000000000000 HAL_I2C_AbortCpltCallback
+ /tmp/ccskJbbb.s:8913 .text.I2C_ITError:0000000000000000 $t
+ /tmp/ccskJbbb.s:8919 .text.I2C_ITError:0000000000000000 I2C_ITError
+ /tmp/ccskJbbb.s:9100 .text.I2C_ITError:00000000000000e4 $d
+ /tmp/ccskJbbb.s:9109 .text.I2C_ITSlaveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:9115 .text.I2C_ITSlaveCplt:0000000000000000 I2C_ITSlaveCplt
+ /tmp/ccskJbbb.s:9327 .text.I2C_ITSlaveCplt:0000000000000110 $d
+ /tmp/ccskJbbb.s:9333 .text.I2C_Slave_ISR_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:9601 .text.I2C_Slave_ISR_IT:0000000000000148 $d
+ /tmp/ccskJbbb.s:9606 .text.I2C_ITMasterCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:9612 .text.I2C_ITMasterCplt:0000000000000000 I2C_ITMasterCplt
+ /tmp/ccskJbbb.s:9775 .text.I2C_ITMasterCplt:00000000000000cc $d
+ /tmp/ccskJbbb.s:9781 .text.I2C_Master_ISR_IT:0000000000000000 $t
+ /tmp/ccskJbbb.s:10092 .text.I2C_Master_ISR_IT:0000000000000174 $d
+ /tmp/ccskJbbb.s:10097 .text.I2C_Slave_ISR_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:10334 .text.I2C_Slave_ISR_DMA:0000000000000104 $d
+ /tmp/ccskJbbb.s:10339 .text.I2C_Master_ISR_DMA:0000000000000000 $t
+ /tmp/ccskJbbb.s:10599 .text.I2C_Master_ISR_DMA:0000000000000138 $d
+ /tmp/ccskJbbb.s:10604 .text.I2C_DMAError:0000000000000000 $t
+ /tmp/ccskJbbb.s:10643 .text.I2C_DMAMasterTransmitCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:10736 .text.I2C_DMAMasterTransmitCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:10741 .text.I2C_DMAMasterReceiveCplt:0000000000000000 $t
+ /tmp/ccskJbbb.s:10834 .text.I2C_DMAMasterReceiveCplt:0000000000000060 $d
+ /tmp/ccskJbbb.s:10839 .text.HAL_I2C_ER_IRQHandler:0000000000000000 $t
+ /tmp/ccskJbbb.s:10846 .text.HAL_I2C_ER_IRQHandler:0000000000000000 HAL_I2C_ER_IRQHandler
+ /tmp/ccskJbbb.s:10941 .text.I2C_DMAAbort:0000000000000000 $t
+ /tmp/ccskJbbb.s:10995 .text.HAL_I2C_GetState:0000000000000000 $t
+ /tmp/ccskJbbb.s:11002 .text.HAL_I2C_GetState:0000000000000000 HAL_I2C_GetState
+ /tmp/ccskJbbb.s:11022 .text.HAL_I2C_GetMode:0000000000000000 $t
+ /tmp/ccskJbbb.s:11029 .text.HAL_I2C_GetMode:0000000000000000 HAL_I2C_GetMode
+ /tmp/ccskJbbb.s:11049 .text.HAL_I2C_GetError:0000000000000000 $t
+ /tmp/ccskJbbb.s:11056 .text.HAL_I2C_GetError:0000000000000000 HAL_I2C_GetError
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+HAL_DMA_Start_IT
+HAL_DMA_Abort_IT
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c.o b/fw/midi-dials/build/stm32f0xx_hal_i2c.o
new file mode 100644
index 0000000..2ad70b6
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.d b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.d
new file mode 100644
index 0000000..610dffb
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_i2c_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.lst
new file mode 100644
index 0000000..7128cbb
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.lst
@@ -0,0 +1,862 @@
+ARM GAS /tmp/cc8epE9P.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 "stm32f0xx_hal_i2c_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_I2CEx_ConfigAnalogFilter,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_I2CEx_ConfigAnalogFilter
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_I2CEx_ConfigAnalogFilter:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @file stm32f0xx_hal_i2c_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * functionalities of I2C Extended peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * + Extended features functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ==============================================================================
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### I2C peripheral Extended features #####
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ==============================================================================
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] Comparing to other previous devices, the I2C interface for STM32F0xx
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** devices contains the following additional features
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Possibility to disable or enable Analog Noise Filter
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Use of a configured Digital Noise Filter
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Disable or enable wakeup from Stop mode(s)
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Disable or enable Fast Mode Plus
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### How to use this driver #####
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ==============================================================================
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This driver provides functions to configure Noise Filter and Wake Up Feature
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure I2C Analog noise filter using the function HAL_I2CEx_ConfigAnalogFilter()
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure I2C Digital noise filter using the function HAL_I2CEx_ConfigDigitalFilter()
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of I2C Wake Up Mode using the functions :
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableWakeUp()
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableWakeUp()
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (#) Configure the enable or disable of fast mode plus driving capability using the functions :
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_EnableFastModePlus()
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (++) HAL_I2CEx_DisableFastModePlus()
+ ARM GAS /tmp/cc8epE9P.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ******************************************************************************
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @attention
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * All rights reserved.</center></h2>
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * License. You may obtain a copy of the License at:
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ******************************************************************************
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Includes ------------------------------------------------------------------*/
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #include "stm32f0xx_hal.h"
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx I2CEx
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief I2C Extended HAL module driver
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #ifdef HAL_I2C_MODULE_ENABLED
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private typedef -----------------------------------------------------------*/
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private define ------------------------------------------------------------*/
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private macro -------------------------------------------------------------*/
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private variables ---------------------------------------------------------*/
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private function prototypes -----------------------------------------------*/
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Private functions ---------------------------------------------------------*/
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions I2C Extended Exported Functions
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /** @defgroup I2CEx_Exported_Functions_Group1 Extended features functions
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Extended features functions
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** *
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @verbatim
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ===============================================================================
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ##### Extended features functions #####
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** ===============================================================================
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** [..] This section provides functions allowing to:
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Noise Filters
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Wake Up Feature
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** (+) Configure Fast Mode Plus
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** @endverbatim
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @{
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ ARM GAS /tmp/cc8epE9P.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Analog noise filter.
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral.
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param AnalogFilter New state of the Analog filter.
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigAnalogFilter(I2C_HandleTypeDef *hi2c, uint32_t AnalogFilter)
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 26 .loc 1 98 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 20
+ 34 .cfi_offset 4, -20
+ 35 .cfi_offset 5, -16
+ 36 .cfi_offset 6, -12
+ 37 .cfi_offset 7, -8
+ 38 .cfi_offset 14, -4
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ANALOG_FILTER(AnalogFilter));
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 39 .loc 1 103 0
+ 40 0002 4123 movs r3, #65
+ 41 0004 C35C ldrb r3, [r0, r3]
+ 42 0006 202B cmp r3, #32
+ 43 0008 20D1 bne .L3
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c);
+ 44 .loc 1 106 0
+ 45 000a 2033 adds r3, r3, #32
+ 46 000c C35C ldrb r3, [r0, r3]
+ 47 000e 012B cmp r3, #1
+ 48 0010 1ED0 beq .L4
+ 49 .loc 1 106 0 is_stmt 0 discriminator 2
+ 50 0012 4024 movs r4, #64
+ 51 0014 0122 movs r2, #1
+ 52 0016 0255 strb r2, [r0, r4]
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 53 .loc 1 108 0 is_stmt 1 discriminator 2
+ 54 0018 4125 movs r5, #65
+ 55 001a 2423 movs r3, #36
+ 56 001c 4355 strb r3, [r0, r5]
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c);
+ 57 .loc 1 111 0 discriminator 2
+ 58 001e 0668 ldr r6, [r0]
+ 59 0020 3368 ldr r3, [r6]
+ 60 0022 9343 bics r3, r2
+ 61 0024 3360 str r3, [r6]
+ ARM GAS /tmp/cc8epE9P.s page 4
+
+
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx ANOFF bit */
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_ANFOFF);
+ 62 .loc 1 114 0 discriminator 2
+ 63 0026 0668 ldr r6, [r0]
+ 64 0028 3368 ldr r3, [r6]
+ 65 002a 0A4F ldr r7, .L5
+ 66 002c 3B40 ands r3, r7
+ 67 002e 3360 str r3, [r6]
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set analog filter bit*/
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= AnalogFilter;
+ 68 .loc 1 117 0 discriminator 2
+ 69 0030 0668 ldr r6, [r0]
+ 70 0032 3368 ldr r3, [r6]
+ 71 0034 1943 orrs r1, r3
+ 72 .LVL1:
+ 73 0036 3160 str r1, [r6]
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c);
+ 74 .loc 1 119 0 discriminator 2
+ 75 0038 0168 ldr r1, [r0]
+ 76 003a 0B68 ldr r3, [r1]
+ 77 003c 1343 orrs r3, r2
+ 78 003e 0B60 str r3, [r1]
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 79 .loc 1 121 0 discriminator 2
+ 80 0040 2023 movs r3, #32
+ 81 0042 4355 strb r3, [r0, r5]
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c);
+ 82 .loc 1 124 0 discriminator 2
+ 83 0044 0023 movs r3, #0
+ 84 0046 0355 strb r3, [r0, r4]
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK;
+ 85 .loc 1 126 0 discriminator 2
+ 86 0048 0020 movs r0, #0
+ 87 .LVL2:
+ 88 004a 00E0 b .L2
+ 89 .LVL3:
+ 90 .L3:
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY;
+ 91 .loc 1 130 0
+ 92 004c 0220 movs r0, #2
+ 93 .LVL4:
+ 94 .L2:
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 95 .loc 1 132 0
+ 96 @ sp needed
+ 97 004e F0BD pop {r4, r5, r6, r7, pc}
+ ARM GAS /tmp/cc8epE9P.s page 5
+
+
+ 98 .LVL5:
+ 99 .L4:
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 100 .loc 1 106 0
+ 101 0050 0220 movs r0, #2
+ 102 .LVL6:
+ 103 0052 FCE7 b .L2
+ 104 .L6:
+ 105 .align 2
+ 106 .L5:
+ 107 0054 FFEFFFFF .word -4097
+ 108 .cfi_endproc
+ 109 .LFE40:
+ 111 .section .text.HAL_I2CEx_ConfigDigitalFilter,"ax",%progbits
+ 112 .align 1
+ 113 .global HAL_I2CEx_ConfigDigitalFilter
+ 114 .syntax unified
+ 115 .code 16
+ 116 .thumb_func
+ 117 .fpu softvfp
+ 119 HAL_I2CEx_ConfigDigitalFilter:
+ 120 .LFB41:
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Configure I2C Digital noise filter.
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral.
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param DigitalFilter Coefficient of digital noise filter between Min_Data=0x00 and Max_Data=0x
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_ConfigDigitalFilter(I2C_HandleTypeDef *hi2c, uint32_t DigitalFilter)
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 121 .loc 1 142 0
+ 122 .cfi_startproc
+ 123 @ args = 0, pretend = 0, frame = 0
+ 124 @ frame_needed = 0, uses_anonymous_args = 0
+ 125 .LVL7:
+ 126 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 127 .LCFI1:
+ 128 .cfi_def_cfa_offset 20
+ 129 .cfi_offset 4, -20
+ 130 .cfi_offset 5, -16
+ 131 .cfi_offset 6, -12
+ 132 .cfi_offset 7, -8
+ 133 .cfi_offset 14, -4
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** uint32_t tmpreg;
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_ALL_INSTANCE(hi2c->Instance));
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_DIGITAL_FILTER(DigitalFilter));
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 134 .loc 1 149 0
+ 135 0002 4123 movs r3, #65
+ 136 0004 C35C ldrb r3, [r0, r3]
+ 137 0006 202B cmp r3, #32
+ 138 0008 1ED1 bne .L9
+ ARM GAS /tmp/cc8epE9P.s page 6
+
+
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c);
+ 139 .loc 1 152 0
+ 140 000a 2033 adds r3, r3, #32
+ 141 000c C35C ldrb r3, [r0, r3]
+ 142 000e 012B cmp r3, #1
+ 143 0010 1CD0 beq .L10
+ 144 .loc 1 152 0 is_stmt 0 discriminator 2
+ 145 0012 4024 movs r4, #64
+ 146 0014 0122 movs r2, #1
+ 147 0016 0255 strb r2, [r0, r4]
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 148 .loc 1 154 0 is_stmt 1 discriminator 2
+ 149 0018 4125 movs r5, #65
+ 150 001a 2423 movs r3, #36
+ 151 001c 4355 strb r3, [r0, r5]
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c);
+ 152 .loc 1 157 0 discriminator 2
+ 153 001e 0668 ldr r6, [r0]
+ 154 0020 3368 ldr r3, [r6]
+ 155 0022 9343 bics r3, r2
+ 156 0024 3360 str r3, [r6]
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Get the old register value */
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg = hi2c->Instance->CR1;
+ 157 .loc 1 160 0 discriminator 2
+ 158 0026 0668 ldr r6, [r0]
+ 159 0028 3368 ldr r3, [r6]
+ 160 .LVL8:
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Reset I2Cx DNF bits [11:8] */
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg &= ~(I2C_CR1_DNF);
+ 161 .loc 1 163 0 discriminator 2
+ 162 002a 094F ldr r7, .L11
+ 163 002c 3B40 ands r3, r7
+ 164 .LVL9:
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Set I2Cx DNF coefficient */
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** tmpreg |= DigitalFilter << 8U;
+ 165 .loc 1 166 0 discriminator 2
+ 166 002e 0902 lsls r1, r1, #8
+ 167 .LVL10:
+ 168 0030 1943 orrs r1, r3
+ 169 .LVL11:
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Store the new register value */
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 = tmpreg;
+ 170 .loc 1 169 0 discriminator 2
+ 171 0032 3160 str r1, [r6]
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c);
+ 172 .loc 1 171 0 discriminator 2
+ 173 0034 0168 ldr r1, [r0]
+ ARM GAS /tmp/cc8epE9P.s page 7
+
+
+ 174 .LVL12:
+ 175 0036 0B68 ldr r3, [r1]
+ 176 0038 1343 orrs r3, r2
+ 177 003a 0B60 str r3, [r1]
+ 178 .LVL13:
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 179 .loc 1 173 0 discriminator 2
+ 180 003c 2023 movs r3, #32
+ 181 003e 4355 strb r3, [r0, r5]
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c);
+ 182 .loc 1 176 0 discriminator 2
+ 183 0040 0023 movs r3, #0
+ 184 0042 0355 strb r3, [r0, r4]
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK;
+ 185 .loc 1 178 0 discriminator 2
+ 186 0044 0020 movs r0, #0
+ 187 .LVL14:
+ 188 0046 00E0 b .L8
+ 189 .LVL15:
+ 190 .L9:
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY;
+ 191 .loc 1 182 0
+ 192 0048 0220 movs r0, #2
+ 193 .LVL16:
+ 194 .L8:
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 195 .loc 1 184 0
+ 196 @ sp needed
+ 197 004a F0BD pop {r4, r5, r6, r7, pc}
+ 198 .LVL17:
+ 199 .L10:
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 200 .loc 1 152 0
+ 201 004c 0220 movs r0, #2
+ 202 .LVL18:
+ 203 004e FCE7 b .L8
+ 204 .L12:
+ 205 .align 2
+ 206 .L11:
+ 207 0050 FFF0FFFF .word -3841
+ 208 .cfi_endproc
+ 209 .LFE41:
+ 211 .section .text.HAL_I2CEx_EnableWakeUp,"ax",%progbits
+ 212 .align 1
+ 213 .global HAL_I2CEx_EnableWakeUp
+ 214 .syntax unified
+ 215 .code 16
+ 216 .thumb_func
+ 217 .fpu softvfp
+ ARM GAS /tmp/cc8epE9P.s page 8
+
+
+ 219 HAL_I2CEx_EnableWakeUp:
+ 220 .LFB42:
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #if defined(I2C_CR1_WUPEN)
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable I2C wakeup from Stop mode(s).
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral.
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_EnableWakeUp(I2C_HandleTypeDef *hi2c)
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 221 .loc 1 194 0
+ 222 .cfi_startproc
+ 223 @ args = 0, pretend = 0, frame = 0
+ 224 @ frame_needed = 0, uses_anonymous_args = 0
+ 225 .LVL19:
+ 226 0000 70B5 push {r4, r5, r6, lr}
+ 227 .LCFI2:
+ 228 .cfi_def_cfa_offset 16
+ 229 .cfi_offset 4, -16
+ 230 .cfi_offset 5, -12
+ 231 .cfi_offset 6, -8
+ 232 .cfi_offset 14, -4
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance));
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 233 .loc 1 198 0
+ 234 0002 4123 movs r3, #65
+ 235 0004 C35C ldrb r3, [r0, r3]
+ 236 0006 202B cmp r3, #32
+ 237 0008 1DD1 bne .L15
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c);
+ 238 .loc 1 201 0
+ 239 000a 2033 adds r3, r3, #32
+ 240 000c C35C ldrb r3, [r0, r3]
+ 241 000e 012B cmp r3, #1
+ 242 0010 1BD0 beq .L16
+ 243 .loc 1 201 0 is_stmt 0 discriminator 2
+ 244 0012 4021 movs r1, #64
+ 245 0014 0122 movs r2, #1
+ 246 0016 4254 strb r2, [r0, r1]
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 247 .loc 1 203 0 is_stmt 1 discriminator 2
+ 248 0018 4124 movs r4, #65
+ 249 001a 2423 movs r3, #36
+ 250 001c 0355 strb r3, [r0, r4]
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c);
+ 251 .loc 1 206 0 discriminator 2
+ 252 001e 0568 ldr r5, [r0]
+ 253 0020 2B68 ldr r3, [r5]
+ ARM GAS /tmp/cc8epE9P.s page 9
+
+
+ 254 0022 9343 bics r3, r2
+ 255 0024 2B60 str r3, [r5]
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 |= I2C_CR1_WUPEN;
+ 256 .loc 1 209 0 discriminator 2
+ 257 0026 0568 ldr r5, [r0]
+ 258 0028 2E68 ldr r6, [r5]
+ 259 002a 8023 movs r3, #128
+ 260 002c DB02 lsls r3, r3, #11
+ 261 002e 3343 orrs r3, r6
+ 262 0030 2B60 str r3, [r5]
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c);
+ 263 .loc 1 211 0 discriminator 2
+ 264 0032 0568 ldr r5, [r0]
+ 265 0034 2B68 ldr r3, [r5]
+ 266 0036 1343 orrs r3, r2
+ 267 0038 2B60 str r3, [r5]
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 268 .loc 1 213 0 discriminator 2
+ 269 003a 2023 movs r3, #32
+ 270 003c 0355 strb r3, [r0, r4]
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c);
+ 271 .loc 1 216 0 discriminator 2
+ 272 003e 0023 movs r3, #0
+ 273 0040 4354 strb r3, [r0, r1]
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK;
+ 274 .loc 1 218 0 discriminator 2
+ 275 0042 0020 movs r0, #0
+ 276 .LVL20:
+ 277 0044 00E0 b .L14
+ 278 .LVL21:
+ 279 .L15:
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY;
+ 280 .loc 1 222 0
+ 281 0046 0220 movs r0, #2
+ 282 .LVL22:
+ 283 .L14:
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 284 .loc 1 224 0
+ 285 @ sp needed
+ 286 0048 70BD pop {r4, r5, r6, pc}
+ 287 .LVL23:
+ 288 .L16:
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 289 .loc 1 201 0
+ 290 004a 0220 movs r0, #2
+ 291 .LVL24:
+ ARM GAS /tmp/cc8epE9P.s page 10
+
+
+ 292 004c FCE7 b .L14
+ 293 .cfi_endproc
+ 294 .LFE42:
+ 296 .section .text.HAL_I2CEx_DisableWakeUp,"ax",%progbits
+ 297 .align 1
+ 298 .global HAL_I2CEx_DisableWakeUp
+ 299 .syntax unified
+ 300 .code 16
+ 301 .thumb_func
+ 302 .fpu softvfp
+ 304 HAL_I2CEx_DisableWakeUp:
+ 305 .LFB43:
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable I2C wakeup from Stop mode(s).
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * the configuration information for the specified I2Cx peripheral.
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval HAL status
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** HAL_StatusTypeDef HAL_I2CEx_DisableWakeUp(I2C_HandleTypeDef *hi2c)
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 306 .loc 1 233 0
+ 307 .cfi_startproc
+ 308 @ args = 0, pretend = 0, frame = 0
+ 309 @ frame_needed = 0, uses_anonymous_args = 0
+ 310 .LVL25:
+ 311 0000 70B5 push {r4, r5, r6, lr}
+ 312 .LCFI3:
+ 313 .cfi_def_cfa_offset 16
+ 314 .cfi_offset 4, -16
+ 315 .cfi_offset 5, -12
+ 316 .cfi_offset 6, -8
+ 317 .cfi_offset 14, -4
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameters */
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_WAKEUP_FROMSTOP_INSTANCE(hi2c->Instance));
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** if (hi2c->State == HAL_I2C_STATE_READY)
+ 318 .loc 1 237 0
+ 319 0002 4123 movs r3, #65
+ 320 0004 C35C ldrb r3, [r0, r3]
+ 321 0006 202B cmp r3, #32
+ 322 0008 1CD1 bne .L19
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Locked */
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_LOCK(hi2c);
+ 323 .loc 1 240 0
+ 324 000a 2033 adds r3, r3, #32
+ 325 000c C35C ldrb r3, [r0, r3]
+ 326 000e 012B cmp r3, #1
+ 327 0010 1AD0 beq .L20
+ 328 .loc 1 240 0 is_stmt 0 discriminator 2
+ 329 0012 4021 movs r1, #64
+ 330 0014 0122 movs r2, #1
+ 331 0016 4254 strb r2, [r0, r1]
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_BUSY;
+ 332 .loc 1 242 0 is_stmt 1 discriminator 2
+ ARM GAS /tmp/cc8epE9P.s page 11
+
+
+ 333 0018 4124 movs r4, #65
+ 334 001a 2423 movs r3, #36
+ 335 001c 0355 strb r3, [r0, r4]
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable the selected I2C peripheral */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_DISABLE(hi2c);
+ 336 .loc 1 245 0 discriminator 2
+ 337 001e 0568 ldr r5, [r0]
+ 338 0020 2B68 ldr r3, [r5]
+ 339 0022 9343 bics r3, r2
+ 340 0024 2B60 str r3, [r5]
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable wakeup from stop mode */
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->Instance->CR1 &= ~(I2C_CR1_WUPEN);
+ 341 .loc 1 248 0 discriminator 2
+ 342 0026 0568 ldr r5, [r0]
+ 343 0028 2B68 ldr r3, [r5]
+ 344 002a 084E ldr r6, .L21
+ 345 002c 3340 ands r3, r6
+ 346 002e 2B60 str r3, [r5]
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_I2C_ENABLE(hi2c);
+ 347 .loc 1 250 0 discriminator 2
+ 348 0030 0568 ldr r5, [r0]
+ 349 0032 2B68 ldr r3, [r5]
+ 350 0034 1343 orrs r3, r2
+ 351 0036 2B60 str r3, [r5]
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** hi2c->State = HAL_I2C_STATE_READY;
+ 352 .loc 1 252 0 discriminator 2
+ 353 0038 2023 movs r3, #32
+ 354 003a 0355 strb r3, [r0, r4]
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Process Unlocked */
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_UNLOCK(hi2c);
+ 355 .loc 1 255 0 discriminator 2
+ 356 003c 0023 movs r3, #0
+ 357 003e 4354 strb r3, [r0, r1]
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_OK;
+ 358 .loc 1 257 0 discriminator 2
+ 359 0040 0020 movs r0, #0
+ 360 .LVL26:
+ 361 0042 00E0 b .L18
+ 362 .LVL27:
+ 363 .L19:
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** else
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** return HAL_BUSY;
+ 364 .loc 1 261 0
+ 365 0044 0220 movs r0, #2
+ 366 .LVL28:
+ 367 .L18:
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 368 .loc 1 263 0
+ ARM GAS /tmp/cc8epE9P.s page 12
+
+
+ 369 @ sp needed
+ 370 0046 70BD pop {r4, r5, r6, pc}
+ 371 .LVL29:
+ 372 .L20:
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 373 .loc 1 240 0
+ 374 0048 0220 movs r0, #2
+ 375 .LVL30:
+ 376 004a FCE7 b .L18
+ 377 .L22:
+ 378 .align 2
+ 379 .L21:
+ 380 004c FFFFFBFF .word -262145
+ 381 .cfi_endproc
+ 382 .LFE43:
+ 384 .section .text.HAL_I2CEx_EnableFastModePlus,"ax",%progbits
+ 385 .align 1
+ 386 .global HAL_I2CEx_EnableFastModePlus
+ 387 .syntax unified
+ 388 .code 16
+ 389 .thumb_func
+ 390 .fpu softvfp
+ 392 HAL_I2CEx_EnableFastModePlus:
+ 393 .LFB44:
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** #endif
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Enable the I2C fast mode plus driving capability.
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin.
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be enabled on all selected
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9.
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be enabled only by using I2C_FASTMODEPLUS_I2C1 parameter.
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be enabled
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter.
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_EnableFastModePlus(uint32_t ConfigFastModePlus)
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 394 .loc 1 280 0
+ 395 .cfi_startproc
+ 396 @ args = 0, pretend = 0, frame = 8
+ 397 @ frame_needed = 0, uses_anonymous_args = 0
+ 398 @ link register save eliminated.
+ 399 .LVL31:
+ 400 0000 82B0 sub sp, sp, #8
+ 401 .LCFI4:
+ 402 .cfi_def_cfa_offset 8
+ 403 .LBB2:
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus));
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 404 .loc 1 285 0
+ ARM GAS /tmp/cc8epE9P.s page 13
+
+
+ 405 0002 074A ldr r2, .L24
+ 406 0004 9169 ldr r1, [r2, #24]
+ 407 0006 0123 movs r3, #1
+ 408 0008 1943 orrs r1, r3
+ 409 000a 9161 str r1, [r2, #24]
+ 410 000c 9269 ldr r2, [r2, #24]
+ 411 000e 1340 ands r3, r2
+ 412 0010 0193 str r3, [sp, #4]
+ 413 0012 019B ldr r3, [sp, #4]
+ 414 .LBE2:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable fast mode plus driving capability for selected pin */
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** SET_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus);
+ 415 .loc 1 288 0
+ 416 0014 034A ldr r2, .L24+4
+ 417 0016 1368 ldr r3, [r2]
+ 418 0018 1843 orrs r0, r3
+ 419 .LVL32:
+ 420 001a 1060 str r0, [r2]
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 421 .loc 1 289 0
+ 422 001c 02B0 add sp, sp, #8
+ 423 @ sp needed
+ 424 001e 7047 bx lr
+ 425 .L25:
+ 426 .align 2
+ 427 .L24:
+ 428 0020 00100240 .word 1073876992
+ 429 0024 00000140 .word 1073807360
+ 430 .cfi_endproc
+ 431 .LFE44:
+ 433 .section .text.HAL_I2CEx_DisableFastModePlus,"ax",%progbits
+ 434 .align 1
+ 435 .global HAL_I2CEx_DisableFastModePlus
+ 436 .syntax unified
+ 437 .code 16
+ 438 .thumb_func
+ 439 .fpu softvfp
+ 441 HAL_I2CEx_DisableFastModePlus:
+ 442 .LFB45:
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /**
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @brief Disable the I2C fast mode plus driving capability.
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @param ConfigFastModePlus Selects the pin.
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * This parameter can be one of the @ref I2CEx_FastModePlus values
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For I2C1, fast mode plus driving capability can be disabled on all selected
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * I2C1 pins using I2C_FASTMODEPLUS_I2C1 parameter or independently
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * on each one of the following pins PB6, PB7, PB8 and PB9.
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For remaining I2C1 pins (PA14, PA15...) fast mode plus driving capability
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * can be disabled only by using I2C_FASTMODEPLUS_I2C1 parameter.
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @note For all I2C2 pins fast mode plus driving capability can be disabled
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * only by using I2C_FASTMODEPLUS_I2C2 parameter.
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** * @retval None
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** */
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** void HAL_I2CEx_DisableFastModePlus(uint32_t ConfigFastModePlus)
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** {
+ 443 .loc 1 305 0
+ ARM GAS /tmp/cc8epE9P.s page 14
+
+
+ 444 .cfi_startproc
+ 445 @ args = 0, pretend = 0, frame = 8
+ 446 @ frame_needed = 0, uses_anonymous_args = 0
+ 447 @ link register save eliminated.
+ 448 .LVL33:
+ 449 0000 82B0 sub sp, sp, #8
+ 450 .LCFI5:
+ 451 .cfi_def_cfa_offset 8
+ 452 .LBB3:
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Check the parameter */
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** assert_param(IS_I2C_FASTMODEPLUS(ConfigFastModePlus));
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Enable SYSCFG clock */
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 453 .loc 1 310 0
+ 454 0002 074A ldr r2, .L27
+ 455 0004 9169 ldr r1, [r2, #24]
+ 456 0006 0123 movs r3, #1
+ 457 0008 1943 orrs r1, r3
+ 458 000a 9161 str r1, [r2, #24]
+ 459 000c 9269 ldr r2, [r2, #24]
+ 460 000e 1340 ands r3, r2
+ 461 0010 0193 str r3, [sp, #4]
+ 462 0012 019B ldr r3, [sp, #4]
+ 463 .LBE3:
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c ****
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** /* Disable fast mode plus driving capability for selected pin */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** CLEAR_BIT(SYSCFG->CFGR1, (uint32_t)ConfigFastModePlus);
+ 464 .loc 1 313 0
+ 465 0014 034A ldr r2, .L27+4
+ 466 0016 1368 ldr r3, [r2]
+ 467 0018 8343 bics r3, r0
+ 468 001a 1360 str r3, [r2]
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_i2c_ex.c **** }
+ 469 .loc 1 314 0
+ 470 001c 02B0 add sp, sp, #8
+ 471 @ sp needed
+ 472 001e 7047 bx lr
+ 473 .L28:
+ 474 .align 2
+ 475 .L27:
+ 476 0020 00100240 .word 1073876992
+ 477 0024 00000140 .word 1073807360
+ 478 .cfi_endproc
+ 479 .LFE45:
+ 481 .text
+ 482 .Letext0:
+ 483 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 484 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 485 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 486 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 487 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 488 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 489 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h"
+ 490 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/cc8epE9P.s page 15
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_i2c_ex.c
+ /tmp/cc8epE9P.s:16 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 $t
+ /tmp/cc8epE9P.s:23 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000000 HAL_I2CEx_ConfigAnalogFilter
+ /tmp/cc8epE9P.s:107 .text.HAL_I2CEx_ConfigAnalogFilter:0000000000000054 $d
+ /tmp/cc8epE9P.s:112 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 $t
+ /tmp/cc8epE9P.s:119 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000000 HAL_I2CEx_ConfigDigitalFilter
+ /tmp/cc8epE9P.s:207 .text.HAL_I2CEx_ConfigDigitalFilter:0000000000000050 $d
+ /tmp/cc8epE9P.s:212 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 $t
+ /tmp/cc8epE9P.s:219 .text.HAL_I2CEx_EnableWakeUp:0000000000000000 HAL_I2CEx_EnableWakeUp
+ /tmp/cc8epE9P.s:297 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 $t
+ /tmp/cc8epE9P.s:304 .text.HAL_I2CEx_DisableWakeUp:0000000000000000 HAL_I2CEx_DisableWakeUp
+ /tmp/cc8epE9P.s:380 .text.HAL_I2CEx_DisableWakeUp:000000000000004c $d
+ /tmp/cc8epE9P.s:385 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 $t
+ /tmp/cc8epE9P.s:392 .text.HAL_I2CEx_EnableFastModePlus:0000000000000000 HAL_I2CEx_EnableFastModePlus
+ /tmp/cc8epE9P.s:428 .text.HAL_I2CEx_EnableFastModePlus:0000000000000020 $d
+ /tmp/cc8epE9P.s:434 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 $t
+ /tmp/cc8epE9P.s:441 .text.HAL_I2CEx_DisableFastModePlus:0000000000000000 HAL_I2CEx_DisableFastModePlus
+ /tmp/cc8epE9P.s:476 .text.HAL_I2CEx_DisableFastModePlus:0000000000000020 $d
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.o b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.o
new file mode 100644
index 0000000..90aa6b7
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_i2c_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_msp.d b/fw/midi-dials/build/stm32f0xx_hal_msp.d
new file mode 100644
index 0000000..364f2ef
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_msp.d
@@ -0,0 +1,88 @@
+build/stm32f0xx_hal_msp.o: Src/stm32f0xx_hal_msp.c Inc/main.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Inc/main.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_msp.lst b/fw/midi-dials/build/stm32f0xx_hal_msp.lst
new file mode 100644
index 0000000..9c12763
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_msp.lst
@@ -0,0 +1,567 @@
+ARM GAS /tmp/ccqkHb8J.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 "stm32f0xx_hal_msp.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_MspInit,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_MspInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_MspInit:
+ 24 .LFB40:
+ 25 .file 1 "Src/stm32f0xx_hal_msp.c"
+ 1:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Header */
+ 2:Src/stm32f0xx_hal_msp.c **** /**
+ 3:Src/stm32f0xx_hal_msp.c **** ******************************************************************************
+ 4:Src/stm32f0xx_hal_msp.c **** * File Name : stm32f0xx_hal_msp.c
+ 5:Src/stm32f0xx_hal_msp.c **** * Description : This file provides code for the MSP Initialization
+ 6:Src/stm32f0xx_hal_msp.c **** * and de-Initialization codes.
+ 7:Src/stm32f0xx_hal_msp.c **** ******************************************************************************
+ 8:Src/stm32f0xx_hal_msp.c **** * @attention
+ 9:Src/stm32f0xx_hal_msp.c **** *
+ 10:Src/stm32f0xx_hal_msp.c **** * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
+ 11:Src/stm32f0xx_hal_msp.c **** * All rights reserved.</center></h2>
+ 12:Src/stm32f0xx_hal_msp.c **** *
+ 13:Src/stm32f0xx_hal_msp.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 14:Src/stm32f0xx_hal_msp.c **** * the "License"; You may not use this file except in compliance with the
+ 15:Src/stm32f0xx_hal_msp.c **** * License. You may obtain a copy of the License at:
+ 16:Src/stm32f0xx_hal_msp.c **** * opensource.org/licenses/BSD-3-Clause
+ 17:Src/stm32f0xx_hal_msp.c **** *
+ 18:Src/stm32f0xx_hal_msp.c **** ******************************************************************************
+ 19:Src/stm32f0xx_hal_msp.c **** */
+ 20:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Header */
+ 21:Src/stm32f0xx_hal_msp.c ****
+ 22:Src/stm32f0xx_hal_msp.c **** /* Includes ------------------------------------------------------------------*/
+ 23:Src/stm32f0xx_hal_msp.c **** #include "main.h"
+ 24:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Includes */
+ 25:Src/stm32f0xx_hal_msp.c ****
+ 26:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Includes */
+ 27:Src/stm32f0xx_hal_msp.c **** extern DMA_HandleTypeDef hdma_adc;
+ 28:Src/stm32f0xx_hal_msp.c ****
+ 29:Src/stm32f0xx_hal_msp.c **** /* Private typedef -----------------------------------------------------------*/
+ 30:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN TD */
+ 31:Src/stm32f0xx_hal_msp.c ****
+ 32:Src/stm32f0xx_hal_msp.c **** /* USER CODE END TD */
+ 33:Src/stm32f0xx_hal_msp.c ****
+ ARM GAS /tmp/ccqkHb8J.s page 2
+
+
+ 34:Src/stm32f0xx_hal_msp.c **** /* Private define ------------------------------------------------------------*/
+ 35:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Define */
+ 36:Src/stm32f0xx_hal_msp.c ****
+ 37:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Define */
+ 38:Src/stm32f0xx_hal_msp.c ****
+ 39:Src/stm32f0xx_hal_msp.c **** /* Private macro -------------------------------------------------------------*/
+ 40:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN Macro */
+ 41:Src/stm32f0xx_hal_msp.c ****
+ 42:Src/stm32f0xx_hal_msp.c **** /* USER CODE END Macro */
+ 43:Src/stm32f0xx_hal_msp.c ****
+ 44:Src/stm32f0xx_hal_msp.c **** /* Private variables ---------------------------------------------------------*/
+ 45:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN PV */
+ 46:Src/stm32f0xx_hal_msp.c ****
+ 47:Src/stm32f0xx_hal_msp.c **** /* USER CODE END PV */
+ 48:Src/stm32f0xx_hal_msp.c ****
+ 49:Src/stm32f0xx_hal_msp.c **** /* Private function prototypes -----------------------------------------------*/
+ 50:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN PFP */
+ 51:Src/stm32f0xx_hal_msp.c ****
+ 52:Src/stm32f0xx_hal_msp.c **** /* USER CODE END PFP */
+ 53:Src/stm32f0xx_hal_msp.c ****
+ 54:Src/stm32f0xx_hal_msp.c **** /* External functions --------------------------------------------------------*/
+ 55:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ExternalFunctions */
+ 56:Src/stm32f0xx_hal_msp.c ****
+ 57:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ExternalFunctions */
+ 58:Src/stm32f0xx_hal_msp.c ****
+ 59:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN 0 */
+ 60:Src/stm32f0xx_hal_msp.c ****
+ 61:Src/stm32f0xx_hal_msp.c **** /* USER CODE END 0 */
+ 62:Src/stm32f0xx_hal_msp.c **** /**
+ 63:Src/stm32f0xx_hal_msp.c **** * Initializes the Global MSP.
+ 64:Src/stm32f0xx_hal_msp.c **** */
+ 65:Src/stm32f0xx_hal_msp.c **** void HAL_MspInit(void)
+ 66:Src/stm32f0xx_hal_msp.c **** {
+ 26 .loc 1 66 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 8
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 0000 82B0 sub sp, sp, #8
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 8
+ 34 .LBB2:
+ 67:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN MspInit 0 */
+ 68:Src/stm32f0xx_hal_msp.c ****
+ 69:Src/stm32f0xx_hal_msp.c **** /* USER CODE END MspInit 0 */
+ 70:Src/stm32f0xx_hal_msp.c ****
+ 71:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 35 .loc 1 71 0
+ 36 0002 0A4B ldr r3, .L2
+ 37 0004 9969 ldr r1, [r3, #24]
+ 38 0006 0122 movs r2, #1
+ 39 0008 1143 orrs r1, r2
+ 40 000a 9961 str r1, [r3, #24]
+ 41 000c 9969 ldr r1, [r3, #24]
+ 42 000e 0A40 ands r2, r1
+ 43 0010 0092 str r2, [sp]
+ 44 0012 009A ldr r2, [sp]
+ ARM GAS /tmp/ccqkHb8J.s page 3
+
+
+ 45 .LBE2:
+ 46 .LBB3:
+ 72:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_PWR_CLK_ENABLE();
+ 47 .loc 1 72 0
+ 48 0014 DA69 ldr r2, [r3, #28]
+ 49 0016 8021 movs r1, #128
+ 50 0018 4905 lsls r1, r1, #21
+ 51 001a 0A43 orrs r2, r1
+ 52 001c DA61 str r2, [r3, #28]
+ 53 001e DB69 ldr r3, [r3, #28]
+ 54 0020 0B40 ands r3, r1
+ 55 0022 0193 str r3, [sp, #4]
+ 56 0024 019B ldr r3, [sp, #4]
+ 57 .LBE3:
+ 73:Src/stm32f0xx_hal_msp.c ****
+ 74:Src/stm32f0xx_hal_msp.c **** /* System interrupt init*/
+ 75:Src/stm32f0xx_hal_msp.c ****
+ 76:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN MspInit 1 */
+ 77:Src/stm32f0xx_hal_msp.c ****
+ 78:Src/stm32f0xx_hal_msp.c **** /* USER CODE END MspInit 1 */
+ 79:Src/stm32f0xx_hal_msp.c **** }
+ 58 .loc 1 79 0
+ 59 0026 02B0 add sp, sp, #8
+ 60 @ sp needed
+ 61 0028 7047 bx lr
+ 62 .L3:
+ 63 002a C046 .align 2
+ 64 .L2:
+ 65 002c 00100240 .word 1073876992
+ 66 .cfi_endproc
+ 67 .LFE40:
+ 69 .section .text.HAL_ADC_MspInit,"ax",%progbits
+ 70 .align 1
+ 71 .global HAL_ADC_MspInit
+ 72 .syntax unified
+ 73 .code 16
+ 74 .thumb_func
+ 75 .fpu softvfp
+ 77 HAL_ADC_MspInit:
+ 78 .LFB41:
+ 80:Src/stm32f0xx_hal_msp.c ****
+ 81:Src/stm32f0xx_hal_msp.c **** /**
+ 82:Src/stm32f0xx_hal_msp.c **** * @brief ADC MSP Initialization
+ 83:Src/stm32f0xx_hal_msp.c **** * This function configures the hardware resources used in this example
+ 84:Src/stm32f0xx_hal_msp.c **** * @param hadc: ADC handle pointer
+ 85:Src/stm32f0xx_hal_msp.c **** * @retval None
+ 86:Src/stm32f0xx_hal_msp.c **** */
+ 87:Src/stm32f0xx_hal_msp.c **** void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
+ 88:Src/stm32f0xx_hal_msp.c **** {
+ 79 .loc 1 88 0
+ 80 .cfi_startproc
+ 81 @ args = 0, pretend = 0, frame = 32
+ 82 @ frame_needed = 0, uses_anonymous_args = 0
+ 83 .LVL0:
+ 84 0000 30B5 push {r4, r5, lr}
+ 85 .LCFI1:
+ 86 .cfi_def_cfa_offset 12
+ ARM GAS /tmp/ccqkHb8J.s page 4
+
+
+ 87 .cfi_offset 4, -12
+ 88 .cfi_offset 5, -8
+ 89 .cfi_offset 14, -4
+ 90 0002 89B0 sub sp, sp, #36
+ 91 .LCFI2:
+ 92 .cfi_def_cfa_offset 48
+ 93 0004 0400 movs r4, r0
+ 89:Src/stm32f0xx_hal_msp.c **** GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 94 .loc 1 89 0
+ 95 0006 1422 movs r2, #20
+ 96 0008 0021 movs r1, #0
+ 97 000a 03A8 add r0, sp, #12
+ 98 .LVL1:
+ 99 000c FFF7FEFF bl memset
+ 100 .LVL2:
+ 90:Src/stm32f0xx_hal_msp.c **** if(hadc->Instance==ADC1)
+ 101 .loc 1 90 0
+ 102 0010 274B ldr r3, .L9
+ 103 0012 2268 ldr r2, [r4]
+ 104 0014 9A42 cmp r2, r3
+ 105 0016 01D0 beq .L7
+ 106 .L4:
+ 91:Src/stm32f0xx_hal_msp.c **** {
+ 92:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ADC1_MspInit 0 */
+ 93:Src/stm32f0xx_hal_msp.c ****
+ 94:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ADC1_MspInit 0 */
+ 95:Src/stm32f0xx_hal_msp.c **** /* Peripheral clock enable */
+ 96:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_ADC1_CLK_ENABLE();
+ 97:Src/stm32f0xx_hal_msp.c ****
+ 98:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_GPIOA_CLK_ENABLE();
+ 99:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
+ 100:Src/stm32f0xx_hal_msp.c **** /**ADC GPIO Configuration
+ 101:Src/stm32f0xx_hal_msp.c **** PA0 ------> ADC_IN0
+ 102:Src/stm32f0xx_hal_msp.c **** PA1 ------> ADC_IN1
+ 103:Src/stm32f0xx_hal_msp.c **** PA2 ------> ADC_IN2
+ 104:Src/stm32f0xx_hal_msp.c **** PA3 ------> ADC_IN3
+ 105:Src/stm32f0xx_hal_msp.c **** PA4 ------> ADC_IN4
+ 106:Src/stm32f0xx_hal_msp.c **** PA5 ------> ADC_IN5
+ 107:Src/stm32f0xx_hal_msp.c **** PA6 ------> ADC_IN6
+ 108:Src/stm32f0xx_hal_msp.c **** PA7 ------> ADC_IN7
+ 109:Src/stm32f0xx_hal_msp.c **** PB0 ------> ADC_IN8
+ 110:Src/stm32f0xx_hal_msp.c **** */
+ 111:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
+ 112:Src/stm32f0xx_hal_msp.c **** |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
+ 113:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ 114:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 115:Src/stm32f0xx_hal_msp.c **** HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 116:Src/stm32f0xx_hal_msp.c ****
+ 117:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pin = GPIO_PIN_0;
+ 118:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ 119:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 120:Src/stm32f0xx_hal_msp.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 121:Src/stm32f0xx_hal_msp.c ****
+ 122:Src/stm32f0xx_hal_msp.c **** /* ADC1 DMA Init */
+ 123:Src/stm32f0xx_hal_msp.c **** /* ADC Init */
+ 124:Src/stm32f0xx_hal_msp.c **** hdma_adc.Instance = DMA1_Channel1;
+ 125:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ ARM GAS /tmp/ccqkHb8J.s page 5
+
+
+ 126:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE;
+ 127:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.MemInc = DMA_MINC_ENABLE;
+ 128:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
+ 129:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
+ 130:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Mode = DMA_CIRCULAR;
+ 131:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Priority = DMA_PRIORITY_MEDIUM;
+ 132:Src/stm32f0xx_hal_msp.c **** if (HAL_DMA_Init(&hdma_adc) != HAL_OK)
+ 133:Src/stm32f0xx_hal_msp.c **** {
+ 134:Src/stm32f0xx_hal_msp.c **** Error_Handler();
+ 135:Src/stm32f0xx_hal_msp.c **** }
+ 136:Src/stm32f0xx_hal_msp.c ****
+ 137:Src/stm32f0xx_hal_msp.c **** __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc);
+ 138:Src/stm32f0xx_hal_msp.c ****
+ 139:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ADC1_MspInit 1 */
+ 140:Src/stm32f0xx_hal_msp.c ****
+ 141:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ADC1_MspInit 1 */
+ 142:Src/stm32f0xx_hal_msp.c **** }
+ 143:Src/stm32f0xx_hal_msp.c ****
+ 144:Src/stm32f0xx_hal_msp.c **** }
+ 107 .loc 1 144 0
+ 108 0018 09B0 add sp, sp, #36
+ 109 @ sp needed
+ 110 .LVL3:
+ 111 001a 30BD pop {r4, r5, pc}
+ 112 .LVL4:
+ 113 .L7:
+ 114 .LBB4:
+ 96:Src/stm32f0xx_hal_msp.c ****
+ 115 .loc 1 96 0
+ 116 001c 254B ldr r3, .L9+4
+ 117 001e 9969 ldr r1, [r3, #24]
+ 118 0020 8020 movs r0, #128
+ 119 0022 8000 lsls r0, r0, #2
+ 120 0024 0143 orrs r1, r0
+ 121 0026 9961 str r1, [r3, #24]
+ 122 0028 9A69 ldr r2, [r3, #24]
+ 123 002a 0240 ands r2, r0
+ 124 002c 0092 str r2, [sp]
+ 125 002e 009A ldr r2, [sp]
+ 126 .LBE4:
+ 127 .LBB5:
+ 98:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_GPIOB_CLK_ENABLE();
+ 128 .loc 1 98 0
+ 129 0030 5969 ldr r1, [r3, #20]
+ 130 0032 8020 movs r0, #128
+ 131 0034 8002 lsls r0, r0, #10
+ 132 0036 0143 orrs r1, r0
+ 133 0038 5961 str r1, [r3, #20]
+ 134 003a 5A69 ldr r2, [r3, #20]
+ 135 003c 0240 ands r2, r0
+ 136 003e 0192 str r2, [sp, #4]
+ 137 0040 019A ldr r2, [sp, #4]
+ 138 .LBE5:
+ 139 .LBB6:
+ 99:Src/stm32f0xx_hal_msp.c **** /**ADC GPIO Configuration
+ 140 .loc 1 99 0
+ 141 0042 5A69 ldr r2, [r3, #20]
+ ARM GAS /tmp/ccqkHb8J.s page 6
+
+
+ 142 0044 8021 movs r1, #128
+ 143 0046 C902 lsls r1, r1, #11
+ 144 0048 0A43 orrs r2, r1
+ 145 004a 5A61 str r2, [r3, #20]
+ 146 004c 5B69 ldr r3, [r3, #20]
+ 147 004e 0B40 ands r3, r1
+ 148 0050 0293 str r3, [sp, #8]
+ 149 0052 029B ldr r3, [sp, #8]
+ 150 .LBE6:
+ 111:Src/stm32f0xx_hal_msp.c **** |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
+ 151 .loc 1 111 0
+ 152 0054 FF23 movs r3, #255
+ 153 0056 0393 str r3, [sp, #12]
+ 113:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 154 .loc 1 113 0
+ 155 0058 0325 movs r5, #3
+ 156 005a 0495 str r5, [sp, #16]
+ 115:Src/stm32f0xx_hal_msp.c ****
+ 157 .loc 1 115 0
+ 158 005c 9020 movs r0, #144
+ 159 005e 03A9 add r1, sp, #12
+ 160 0060 C005 lsls r0, r0, #23
+ 161 0062 FFF7FEFF bl HAL_GPIO_Init
+ 162 .LVL5:
+ 117:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ 163 .loc 1 117 0
+ 164 0066 0123 movs r3, #1
+ 165 0068 0393 str r3, [sp, #12]
+ 118:Src/stm32f0xx_hal_msp.c **** GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 166 .loc 1 118 0
+ 167 006a 0495 str r5, [sp, #16]
+ 119:Src/stm32f0xx_hal_msp.c **** HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 168 .loc 1 119 0
+ 169 006c 0025 movs r5, #0
+ 170 006e 0595 str r5, [sp, #20]
+ 120:Src/stm32f0xx_hal_msp.c ****
+ 171 .loc 1 120 0
+ 172 0070 03A9 add r1, sp, #12
+ 173 0072 1148 ldr r0, .L9+8
+ 174 0074 FFF7FEFF bl HAL_GPIO_Init
+ 175 .LVL6:
+ 124:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY;
+ 176 .loc 1 124 0
+ 177 0078 1048 ldr r0, .L9+12
+ 178 007a 114B ldr r3, .L9+16
+ 179 007c 0360 str r3, [r0]
+ 125:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE;
+ 180 .loc 1 125 0
+ 181 007e 4560 str r5, [r0, #4]
+ 126:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.MemInc = DMA_MINC_ENABLE;
+ 182 .loc 1 126 0
+ 183 0080 8560 str r5, [r0, #8]
+ 127:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
+ 184 .loc 1 127 0
+ 185 0082 8023 movs r3, #128
+ 186 0084 C360 str r3, [r0, #12]
+ 128:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
+ ARM GAS /tmp/ccqkHb8J.s page 7
+
+
+ 187 .loc 1 128 0
+ 188 0086 8033 adds r3, r3, #128
+ 189 0088 0361 str r3, [r0, #16]
+ 129:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Mode = DMA_CIRCULAR;
+ 190 .loc 1 129 0
+ 191 008a 8023 movs r3, #128
+ 192 008c DB00 lsls r3, r3, #3
+ 193 008e 4361 str r3, [r0, #20]
+ 130:Src/stm32f0xx_hal_msp.c **** hdma_adc.Init.Priority = DMA_PRIORITY_MEDIUM;
+ 194 .loc 1 130 0
+ 195 0090 2023 movs r3, #32
+ 196 0092 8361 str r3, [r0, #24]
+ 131:Src/stm32f0xx_hal_msp.c **** if (HAL_DMA_Init(&hdma_adc) != HAL_OK)
+ 197 .loc 1 131 0
+ 198 0094 8023 movs r3, #128
+ 199 0096 5B01 lsls r3, r3, #5
+ 200 0098 C361 str r3, [r0, #28]
+ 132:Src/stm32f0xx_hal_msp.c **** {
+ 201 .loc 1 132 0
+ 202 009a FFF7FEFF bl HAL_DMA_Init
+ 203 .LVL7:
+ 204 009e 0028 cmp r0, #0
+ 205 00a0 03D1 bne .L8
+ 206 .L6:
+ 137:Src/stm32f0xx_hal_msp.c ****
+ 207 .loc 1 137 0
+ 208 00a2 064B ldr r3, .L9+12
+ 209 00a4 2363 str r3, [r4, #48]
+ 210 00a6 5C62 str r4, [r3, #36]
+ 211 .loc 1 144 0
+ 212 00a8 B6E7 b .L4
+ 213 .L8:
+ 134:Src/stm32f0xx_hal_msp.c **** }
+ 214 .loc 1 134 0
+ 215 00aa FFF7FEFF bl Error_Handler
+ 216 .LVL8:
+ 217 00ae F8E7 b .L6
+ 218 .L10:
+ 219 .align 2
+ 220 .L9:
+ 221 00b0 00240140 .word 1073816576
+ 222 00b4 00100240 .word 1073876992
+ 223 00b8 00040048 .word 1207960576
+ 224 00bc 00000000 .word hdma_adc
+ 225 00c0 08000240 .word 1073872904
+ 226 .cfi_endproc
+ 227 .LFE41:
+ 229 .section .text.HAL_ADC_MspDeInit,"ax",%progbits
+ 230 .align 1
+ 231 .global HAL_ADC_MspDeInit
+ 232 .syntax unified
+ 233 .code 16
+ 234 .thumb_func
+ 235 .fpu softvfp
+ 237 HAL_ADC_MspDeInit:
+ 238 .LFB42:
+ 145:Src/stm32f0xx_hal_msp.c ****
+ ARM GAS /tmp/ccqkHb8J.s page 8
+
+
+ 146:Src/stm32f0xx_hal_msp.c **** /**
+ 147:Src/stm32f0xx_hal_msp.c **** * @brief ADC MSP De-Initialization
+ 148:Src/stm32f0xx_hal_msp.c **** * This function freeze the hardware resources used in this example
+ 149:Src/stm32f0xx_hal_msp.c **** * @param hadc: ADC handle pointer
+ 150:Src/stm32f0xx_hal_msp.c **** * @retval None
+ 151:Src/stm32f0xx_hal_msp.c **** */
+ 152:Src/stm32f0xx_hal_msp.c **** void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
+ 153:Src/stm32f0xx_hal_msp.c **** {
+ 239 .loc 1 153 0
+ 240 .cfi_startproc
+ 241 @ args = 0, pretend = 0, frame = 0
+ 242 @ frame_needed = 0, uses_anonymous_args = 0
+ 243 .LVL9:
+ 244 0000 10B5 push {r4, lr}
+ 245 .LCFI3:
+ 246 .cfi_def_cfa_offset 8
+ 247 .cfi_offset 4, -8
+ 248 .cfi_offset 14, -4
+ 249 0002 0400 movs r4, r0
+ 154:Src/stm32f0xx_hal_msp.c **** if(hadc->Instance==ADC1)
+ 250 .loc 1 154 0
+ 251 0004 0B4B ldr r3, .L14
+ 252 0006 0268 ldr r2, [r0]
+ 253 0008 9A42 cmp r2, r3
+ 254 000a 00D0 beq .L13
+ 255 .LVL10:
+ 256 .L11:
+ 155:Src/stm32f0xx_hal_msp.c **** {
+ 156:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ADC1_MspDeInit 0 */
+ 157:Src/stm32f0xx_hal_msp.c ****
+ 158:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ADC1_MspDeInit 0 */
+ 159:Src/stm32f0xx_hal_msp.c **** /* Peripheral clock disable */
+ 160:Src/stm32f0xx_hal_msp.c **** __HAL_RCC_ADC1_CLK_DISABLE();
+ 161:Src/stm32f0xx_hal_msp.c ****
+ 162:Src/stm32f0xx_hal_msp.c **** /**ADC GPIO Configuration
+ 163:Src/stm32f0xx_hal_msp.c **** PA0 ------> ADC_IN0
+ 164:Src/stm32f0xx_hal_msp.c **** PA1 ------> ADC_IN1
+ 165:Src/stm32f0xx_hal_msp.c **** PA2 ------> ADC_IN2
+ 166:Src/stm32f0xx_hal_msp.c **** PA3 ------> ADC_IN3
+ 167:Src/stm32f0xx_hal_msp.c **** PA4 ------> ADC_IN4
+ 168:Src/stm32f0xx_hal_msp.c **** PA5 ------> ADC_IN5
+ 169:Src/stm32f0xx_hal_msp.c **** PA6 ------> ADC_IN6
+ 170:Src/stm32f0xx_hal_msp.c **** PA7 ------> ADC_IN7
+ 171:Src/stm32f0xx_hal_msp.c **** PB0 ------> ADC_IN8
+ 172:Src/stm32f0xx_hal_msp.c **** */
+ 173:Src/stm32f0xx_hal_msp.c **** HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
+ 174:Src/stm32f0xx_hal_msp.c **** |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
+ 175:Src/stm32f0xx_hal_msp.c ****
+ 176:Src/stm32f0xx_hal_msp.c **** HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0);
+ 177:Src/stm32f0xx_hal_msp.c ****
+ 178:Src/stm32f0xx_hal_msp.c **** /* ADC1 DMA DeInit */
+ 179:Src/stm32f0xx_hal_msp.c **** HAL_DMA_DeInit(hadc->DMA_Handle);
+ 180:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ADC1_MspDeInit 1 */
+ 181:Src/stm32f0xx_hal_msp.c ****
+ 182:Src/stm32f0xx_hal_msp.c **** /* USER CODE END ADC1_MspDeInit 1 */
+ 183:Src/stm32f0xx_hal_msp.c **** }
+ 184:Src/stm32f0xx_hal_msp.c ****
+ ARM GAS /tmp/ccqkHb8J.s page 9
+
+
+ 185:Src/stm32f0xx_hal_msp.c **** }
+ 257 .loc 1 185 0
+ 258 @ sp needed
+ 259 .LVL11:
+ 260 000c 10BD pop {r4, pc}
+ 261 .LVL12:
+ 262 .L13:
+ 160:Src/stm32f0xx_hal_msp.c ****
+ 263 .loc 1 160 0
+ 264 000e 0A4A ldr r2, .L14+4
+ 265 0010 9369 ldr r3, [r2, #24]
+ 266 0012 0A49 ldr r1, .L14+8
+ 267 0014 0B40 ands r3, r1
+ 268 0016 9361 str r3, [r2, #24]
+ 173:Src/stm32f0xx_hal_msp.c **** |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
+ 269 .loc 1 173 0
+ 270 0018 9020 movs r0, #144
+ 271 .LVL13:
+ 272 001a FF21 movs r1, #255
+ 273 001c C005 lsls r0, r0, #23
+ 274 001e FFF7FEFF bl HAL_GPIO_DeInit
+ 275 .LVL14:
+ 176:Src/stm32f0xx_hal_msp.c ****
+ 276 .loc 1 176 0
+ 277 0022 0121 movs r1, #1
+ 278 0024 0648 ldr r0, .L14+12
+ 279 0026 FFF7FEFF bl HAL_GPIO_DeInit
+ 280 .LVL15:
+ 179:Src/stm32f0xx_hal_msp.c **** /* USER CODE BEGIN ADC1_MspDeInit 1 */
+ 281 .loc 1 179 0
+ 282 002a 206B ldr r0, [r4, #48]
+ 283 002c FFF7FEFF bl HAL_DMA_DeInit
+ 284 .LVL16:
+ 285 .loc 1 185 0
+ 286 0030 ECE7 b .L11
+ 287 .L15:
+ 288 0032 C046 .align 2
+ 289 .L14:
+ 290 0034 00240140 .word 1073816576
+ 291 0038 00100240 .word 1073876992
+ 292 003c FFFDFFFF .word -513
+ 293 0040 00040048 .word 1207960576
+ 294 .cfi_endproc
+ 295 .LFE42:
+ 297 .text
+ 298 .Letext0:
+ 299 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 300 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 301 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 302 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 303 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 304 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 305 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
+ 306 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 307 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h"
+ 308 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 309 .file 12 "Inc/main.h"
+ ARM GAS /tmp/ccqkHb8J.s page 10
+
+
+ 310 .file 13 "<built-in>"
+ ARM GAS /tmp/ccqkHb8J.s page 11
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_msp.c
+ /tmp/ccqkHb8J.s:16 .text.HAL_MspInit:0000000000000000 $t
+ /tmp/ccqkHb8J.s:23 .text.HAL_MspInit:0000000000000000 HAL_MspInit
+ /tmp/ccqkHb8J.s:65 .text.HAL_MspInit:000000000000002c $d
+ /tmp/ccqkHb8J.s:70 .text.HAL_ADC_MspInit:0000000000000000 $t
+ /tmp/ccqkHb8J.s:77 .text.HAL_ADC_MspInit:0000000000000000 HAL_ADC_MspInit
+ /tmp/ccqkHb8J.s:221 .text.HAL_ADC_MspInit:00000000000000b0 $d
+ /tmp/ccqkHb8J.s:230 .text.HAL_ADC_MspDeInit:0000000000000000 $t
+ /tmp/ccqkHb8J.s:237 .text.HAL_ADC_MspDeInit:0000000000000000 HAL_ADC_MspDeInit
+ /tmp/ccqkHb8J.s:290 .text.HAL_ADC_MspDeInit:0000000000000034 $d
+
+UNDEFINED SYMBOLS
+memset
+HAL_GPIO_Init
+HAL_DMA_Init
+Error_Handler
+hdma_adc
+HAL_GPIO_DeInit
+HAL_DMA_DeInit
diff --git a/fw/midi-dials/build/stm32f0xx_hal_msp.o b/fw/midi-dials/build/stm32f0xx_hal_msp.o
new file mode 100644
index 0000000..0ac5f38
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_msp.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd.d b/fw/midi-dials/build/stm32f0xx_hal_pcd.d
new file mode 100644
index 0000000..deb2595
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_pcd.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd.lst b/fw/midi-dials/build/stm32f0xx_hal_pcd.lst
new file mode 100644
index 0000000..d098e1d
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd.lst
@@ -0,0 +1,4908 @@
+ARM GAS /tmp/ccYuHakw.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 "stm32f0xx_hal_pcd.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_PCD_MspInit,"ax",%progbits
+ 16 .align 1
+ 17 .weak HAL_PCD_MspInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_PCD_MspInit:
+ 24 .LFB42:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @file stm32f0xx_hal_pcd.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief PCD HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * functionalities of the USB Peripheral Controller:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + IO operation functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Peripheral Control functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * + Peripheral State functions
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### How to use this driver #####
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ==============================================================================
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..]
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** The PCD HAL driver can be used as follows:
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Declare a PCD_HandleTypeDef handle structure, for example:
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_HandleTypeDef hpcd;
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Fill parameters of Init structure in HCD handle
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Call HAL_PCD_Init() API to initialize the PCD peripheral (Core, Device core, ...)
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#) Initialize the PCD low level resources through the HAL_PCD_MspInit() API:
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Enable the PCD/USB Low Level interface clock using
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (+++) __HAL_RCC_USB_CLK_ENABLE(); For USB Device only FS peripheral
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Initialize the related GPIO clocks
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Configure PCD pin-out
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) Configure PCD NVIC interrupt
+ ARM GAS /tmp/ccYuHakw.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#)Associate the Upper USB device stack to the HAL PCD Driver:
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) hpcd.pData = pdev;
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (#)Enable PCD transmission and reception:
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (##) HAL_PCD_Start();
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ******************************************************************************
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @attention
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * All rights reserved.</center></h2>
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * the "License"; You may not use this file except in compliance with the
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * License. You may obtain a copy of the License at:
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * opensource.org/licenses/BSD-3-Clause
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ******************************************************************************
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Includes ------------------------------------------------------------------*/
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #include "stm32f0xx_hal.h"
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD PCD
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief PCD HAL module driver
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #ifdef HAL_PCD_MODULE_ENABLED
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if defined (USB)
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private types -------------------------------------------------------------*/
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private variables ---------------------------------------------------------*/
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private constants ---------------------------------------------------------*/
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private macros ------------------------------------------------------------*/
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Private_Macros PCD Private Macros
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #define PCD_MIN(a, b) (((a) < (b)) ? (a) : (b))
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #define PCD_MAX(a, b) (((a) > (b)) ? (a) : (b))
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private functions prototypes ----------------------------------------------*/
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Private_Functions PCD Private Functions
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd);
+ ARM GAS /tmp/ccYuHakw.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Exported functions --------------------------------------------------------*/
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions PCD Exported Functions
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group1 Initialization and de-initialization functions
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initialization and Configuration functions
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Initialization and de-initialization functions #####
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..] This section provides functions allowing to:
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initializes the PCD according to the specified
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * parameters in the PCD_InitTypeDef and initialize the associated handle.
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd)
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t i;
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd == NULL)
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the parameters */
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance));
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_RESET)
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Allocate lock resource and initialize it */
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Lock = HAL_UNLOCKED;
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback;
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback;
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback;
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback;
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback;
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback;
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback;
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback;
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback;
+ ARM GAS /tmp/ccYuHakw.s page 4
+
+
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback;
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback;
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback;
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback;
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->MspInitCallback == NULL)
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit;
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init the low level hardware */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback(hpcd);
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init the low level hardware : GPIO, CLOCK, NVIC... */
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_MspInit(hpcd);
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY;
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Disable the Interrupts */
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd);
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init endpoints structures */
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init ep structure */
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].is_in = 1U;
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].num = i;
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i;
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].type = EP_TYPE_CTRL;
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U;
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U;
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U;
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** for (i = 0U; i < hpcd->Init.dev_endpoints; i++)
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].is_in = 0U;
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i;
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].type = EP_TYPE_CTRL;
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U;
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U;
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U;
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Init Device */
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevInit(hpcd->Instance, hpcd->Init);
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U;
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY;
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Activate LPM */
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->Init.lpm_enable == 1U)
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ ARM GAS /tmp/ccYuHakw.s page 5
+
+
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCDEx_ActivateLPM(hpcd);
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief DeInitializes the PCD peripheral.
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeInit(PCD_HandleTypeDef *hpcd)
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd == NULL)
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_BUSY;
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Stop Device */
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_Stop(hpcd);
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->MspDeInitCallback == NULL)
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit; /* Legacy weak MspDeInit */
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DeInit the low level hardware */
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback(hpcd);
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DeInit the low level hardware: CLOCK, NVIC.*/
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_MspDeInit(hpcd);
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_RESET;
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Initializes the PCD MSP.
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd)
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 26 .loc 1 253 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+ ARM GAS /tmp/ccYuHakw.s page 6
+
+
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_MspInit could be implemented in the user file
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 32 .loc 1 260 0
+ 33 @ sp needed
+ 34 0000 7047 bx lr
+ 35 .cfi_endproc
+ 36 .LFE42:
+ 38 .section .text.HAL_PCD_Init,"ax",%progbits
+ 39 .align 1
+ 40 .global HAL_PCD_Init
+ 41 .syntax unified
+ 42 .code 16
+ 43 .thumb_func
+ 44 .fpu softvfp
+ 46 HAL_PCD_Init:
+ 47 .LFB40:
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t i;
+ 48 .loc 1 121 0
+ 49 .cfi_startproc
+ 50 @ args = 0, pretend = 0, frame = 0
+ 51 @ frame_needed = 0, uses_anonymous_args = 0
+ 52 .LVL1:
+ 53 0000 30B5 push {r4, r5, lr}
+ 54 .LCFI0:
+ 55 .cfi_def_cfa_offset 12
+ 56 .cfi_offset 4, -12
+ 57 .cfi_offset 5, -8
+ 58 .cfi_offset 14, -4
+ 59 0002 87B0 sub sp, sp, #28
+ 60 .LCFI1:
+ 61 .cfi_def_cfa_offset 40
+ 62 0004 041E subs r4, r0, #0
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 63 .loc 1 125 0
+ 64 0006 61D0 beq .L9
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 65 .loc 1 133 0
+ 66 0008 314B ldr r3, .L13
+ 67 000a C35C ldrb r3, [r0, r3]
+ 68 000c 002B cmp r3, #0
+ 69 000e 07D0 beq .L11
+ 70 .LVL2:
+ 71 .L4:
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 72 .loc 1 166 0
+ 73 0010 2F4B ldr r3, .L13
+ 74 0012 0322 movs r2, #3
+ 75 0014 E254 strb r2, [r4, r3]
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 76 .loc 1 169 0
+ 77 0016 2068 ldr r0, [r4]
+ 78 0018 FFF7FEFF bl USB_DisableGlobalInt
+ 79 .LVL3:
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ ARM GAS /tmp/ccYuHakw.s page 7
+
+
+ 80 .loc 1 172 0
+ 81 001c 0023 movs r3, #0
+ 82 001e 1AE0 b .L5
+ 83 .LVL4:
+ 84 .L11:
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 85 .loc 1 136 0
+ 86 0020 8A23 movs r3, #138
+ 87 0022 9B00 lsls r3, r3, #2
+ 88 0024 0022 movs r2, #0
+ 89 0026 C254 strb r2, [r0, r3]
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */
+ 90 .loc 1 162 0
+ 91 0028 FFF7FEFF bl HAL_PCD_MspInit
+ 92 .LVL5:
+ 93 002c F0E7 b .L4
+ 94 .LVL6:
+ 95 .L6:
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].num = i;
+ 96 .loc 1 175 0 discriminator 3
+ 97 002e 5A01 lsls r2, r3, #5
+ 98 0030 A218 adds r2, r4, r2
+ 99 0032 1100 movs r1, r2
+ 100 0034 2931 adds r1, r1, #41
+ 101 0036 0120 movs r0, #1
+ 102 0038 0870 strb r0, [r1]
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].tx_fifo_num = i;
+ 103 .loc 1 176 0 discriminator 3
+ 104 003a 0139 subs r1, r1, #1
+ 105 003c 0B70 strb r3, [r1]
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */
+ 106 .loc 1 177 0 discriminator 3
+ 107 003e D386 strh r3, [r2, #54]
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].maxpacket = 0U;
+ 108 .loc 1 179 0 discriminator 3
+ 109 0040 1000 movs r0, r2
+ 110 0042 2B30 adds r0, r0, #43
+ 111 0044 0021 movs r1, #0
+ 112 0046 0170 strb r1, [r0]
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_buff = 0U;
+ 113 .loc 1 180 0 discriminator 3
+ 114 0048 9163 str r1, [r2, #56]
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->IN_ep[i].xfer_len = 0U;
+ 115 .loc 1 181 0 discriminator 3
+ 116 004a D163 str r1, [r2, #60]
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 117 .loc 1 182 0 discriminator 3
+ 118 004c 9A1C adds r2, r3, #2
+ 119 004e 5201 lsls r2, r2, #5
+ 120 0050 1151 str r1, [r2, r4]
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 121 .loc 1 172 0 discriminator 3
+ 122 0052 0133 adds r3, r3, #1
+ 123 .LVL7:
+ 124 0054 DBB2 uxtb r3, r3
+ 125 .LVL8:
+ 126 .L5:
+ ARM GAS /tmp/ccYuHakw.s page 8
+
+
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 127 .loc 1 172 0 is_stmt 0 discriminator 1
+ 128 0056 6068 ldr r0, [r4, #4]
+ 129 0058 8342 cmp r3, r0
+ 130 005a E8D3 bcc .L6
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 131 .loc 1 185 0 is_stmt 1
+ 132 005c 0022 movs r2, #0
+ 133 005e 15E0 b .L7
+ 134 .LVL9:
+ 135 .L8:
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].num = i;
+ 136 .loc 1 187 0 discriminator 3
+ 137 0060 5301 lsls r3, r2, #5
+ 138 0062 E318 adds r3, r4, r3
+ 139 0064 1D00 movs r5, r3
+ 140 0066 2A35 adds r5, r5, #42
+ 141 0068 FF35 adds r5, r5, #255
+ 142 006a 0021 movs r1, #0
+ 143 006c 2970 strb r1, [r5]
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Control until ep is activated */
+ 144 .loc 1 188 0 discriminator 3
+ 145 006e 013D subs r5, r5, #1
+ 146 0070 2A70 strb r2, [r5]
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].maxpacket = 0U;
+ 147 .loc 1 190 0 discriminator 3
+ 148 0072 0335 adds r5, r5, #3
+ 149 0074 2970 strb r1, [r5]
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_buff = 0U;
+ 150 .loc 1 191 0 discriminator 3
+ 151 0076 0D35 adds r5, r5, #13
+ 152 0078 2960 str r1, [r5]
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->OUT_ep[i].xfer_len = 0U;
+ 153 .loc 1 192 0 discriminator 3
+ 154 007a 3D33 adds r3, r3, #61
+ 155 007c FF33 adds r3, r3, #255
+ 156 007e 1960 str r1, [r3]
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 157 .loc 1 193 0 discriminator 3
+ 158 0080 1300 movs r3, r2
+ 159 0082 0A33 adds r3, r3, #10
+ 160 0084 5B01 lsls r3, r3, #5
+ 161 0086 1951 str r1, [r3, r4]
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 162 .loc 1 185 0 discriminator 3
+ 163 0088 0132 adds r2, r2, #1
+ 164 .LVL10:
+ 165 008a D2B2 uxtb r2, r2
+ 166 .LVL11:
+ 167 .L7:
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 168 .loc 1 185 0 is_stmt 0 discriminator 1
+ 169 008c 9042 cmp r0, r2
+ 170 008e E7D8 bhi .L8
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 171 .loc 1 197 0 is_stmt 1
+ 172 0090 6A46 mov r2, sp
+ ARM GAS /tmp/ccYuHakw.s page 9
+
+
+ 173 .LVL12:
+ 174 0092 2300 movs r3, r4
+ 175 0094 1033 adds r3, r3, #16
+ 176 0096 23CB ldmia r3!, {r0, r1, r5}
+ 177 0098 23C2 stmia r2!, {r0, r1, r5}
+ 178 009a 03CB ldmia r3!, {r0, r1}
+ 179 009c 03C2 stmia r2!, {r0, r1}
+ 180 009e 6168 ldr r1, [r4, #4]
+ 181 00a0 A268 ldr r2, [r4, #8]
+ 182 00a2 E368 ldr r3, [r4, #12]
+ 183 00a4 2068 ldr r0, [r4]
+ 184 00a6 FFF7FEFF bl USB_DevInit
+ 185 .LVL13:
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->State = HAL_PCD_STATE_READY;
+ 186 .loc 1 199 0
+ 187 00aa 2423 movs r3, #36
+ 188 00ac 0022 movs r2, #0
+ 189 00ae E254 strb r2, [r4, r3]
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 190 .loc 1 200 0
+ 191 00b0 074B ldr r3, .L13
+ 192 00b2 0132 adds r2, r2, #1
+ 193 00b4 E254 strb r2, [r4, r3]
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 194 .loc 1 203 0
+ 195 00b6 E369 ldr r3, [r4, #28]
+ 196 00b8 012B cmp r3, #1
+ 197 00ba 02D0 beq .L12
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 198 .loc 1 208 0
+ 199 00bc 0020 movs r0, #0
+ 200 .L3:
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 201 .loc 1 209 0
+ 202 00be 07B0 add sp, sp, #28
+ 203 @ sp needed
+ 204 .LVL14:
+ 205 00c0 30BD pop {r4, r5, pc}
+ 206 .LVL15:
+ 207 .L12:
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 208 .loc 1 205 0
+ 209 00c2 2000 movs r0, r4
+ 210 00c4 FFF7FEFF bl HAL_PCDEx_ActivateLPM
+ 211 .LVL16:
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 212 .loc 1 208 0
+ 213 00c8 0020 movs r0, #0
+ 214 00ca F8E7 b .L3
+ 215 .LVL17:
+ 216 .L9:
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 217 .loc 1 127 0
+ 218 00cc 0120 movs r0, #1
+ 219 .LVL18:
+ 220 00ce F6E7 b .L3
+ 221 .L14:
+ ARM GAS /tmp/ccYuHakw.s page 10
+
+
+ 222 .align 2
+ 223 .L13:
+ 224 00d0 29020000 .word 553
+ 225 .cfi_endproc
+ 226 .LFE40:
+ 228 .section .text.HAL_PCD_MspDeInit,"ax",%progbits
+ 229 .align 1
+ 230 .weak HAL_PCD_MspDeInit
+ 231 .syntax unified
+ 232 .code 16
+ 233 .thumb_func
+ 234 .fpu softvfp
+ 236 HAL_PCD_MspDeInit:
+ 237 .LFB43:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief DeInitializes PCD MSP.
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_MspDeInit(PCD_HandleTypeDef *hpcd)
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 238 .loc 1 268 0
+ 239 .cfi_startproc
+ 240 @ args = 0, pretend = 0, frame = 0
+ 241 @ frame_needed = 0, uses_anonymous_args = 0
+ 242 @ link register save eliminated.
+ 243 .LVL19:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_MspDeInit could be implemented in the user file
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 244 .loc 1 275 0
+ 245 @ sp needed
+ 246 0000 7047 bx lr
+ 247 .cfi_endproc
+ 248 .LFE43:
+ 250 .section .text.HAL_PCD_Start,"ax",%progbits
+ 251 .align 1
+ 252 .global HAL_PCD_Start
+ 253 .syntax unified
+ 254 .code 16
+ 255 .thumb_func
+ 256 .fpu softvfp
+ 258 HAL_PCD_Start:
+ 259 .LFB44:
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register a User USB PCD Callback
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak predefined callback
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd USB PCD handle
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param CallbackID ID of the callback to be registered
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This parameter can be one of the following values:
+ ARM GAS /tmp/ccYuHakw.s page 11
+
+
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the Callback function
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Callb
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID)
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID :
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = pCallback;
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID :
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = pCallback;
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID :
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = pCallback;
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID :
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = pCallback;
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID :
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = pCallback;
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID :
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = pCallback;
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID :
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = pCallback;
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 12
+
+
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID :
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback;
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID :
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback;
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default :
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET)
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID)
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID :
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = pCallback;
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID :
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = pCallback;
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default :
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Unregister an USB PCD Callback
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD callabck is redirected to the weak predefined callback
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd USB PCD handle
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param CallbackID ID of the callback to be unregistered
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * This parameter can be one of the following values:
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SOF_CB_ID USB PCD SOF callback ID
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SETUPSTAGE_CB_ID USB PCD Setup callback ID
+ ARM GAS /tmp/ccYuHakw.s page 13
+
+
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESET_CB_ID USB PCD Reset callback ID
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_SUSPEND_CB_ID USB PCD Suspend callback ID
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_RESUME_CB_ID USB PCD Resume callback ID
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_CONNECT_CB_ID USB PCD Connect callback ID
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_DISCONNECT_CB_ID OTG PCD Disconnect callback ID
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPINIT_CB_ID MspDeInit callback ID
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @arg @ref HAL_PCD_MSPDEINIT_CB_ID MspDeInit callback ID
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterCallback(PCD_HandleTypeDef *hpcd, HAL_PCD_CallbackIDTypeDef Cal
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Setup Legacy weak Callbacks */
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID)
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SOF_CB_ID :
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback = HAL_PCD_SOFCallback;
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SETUPSTAGE_CB_ID :
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback = HAL_PCD_SetupStageCallback;
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESET_CB_ID :
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback = HAL_PCD_ResetCallback;
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_SUSPEND_CB_ID :
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback = HAL_PCD_SuspendCallback;
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_RESUME_CB_ID :
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback = HAL_PCD_ResumeCallback;
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_CONNECT_CB_ID :
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ConnectCallback = HAL_PCD_ConnectCallback;
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_DISCONNECT_CB_ID :
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DisconnectCallback = HAL_PCD_DisconnectCallback;
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID :
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit;
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID :
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit;
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 14
+
+
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default :
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if (hpcd->State == HAL_PCD_STATE_RESET)
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** switch (CallbackID)
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPINIT_CB_ID :
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspInitCallback = HAL_PCD_MspInit;
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** case HAL_PCD_MSPDEINIT_CB_ID :
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->MspDeInitCallback = HAL_PCD_MspDeInit;
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** default :
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** break;
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Data OUT Stage Callback
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataOutStageCallback() predefined callback
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data OUT Stage Callback function
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataOutStageCa
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ ARM GAS /tmp/ccYuHakw.s page 15
+
+
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = pCallback;
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Data OUT Stage Callback
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataOutStageCallback(
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataOutStageCallback(PCD_HandleTypeDef *hpcd)
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback = HAL_PCD_DataOutStageCallback; /* Legacy weak DataOutStageCallback
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 16
+
+
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Data IN Stage Callback
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_DataInStageCallback() predefined callback
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Data IN Stage Callback function
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterDataInStageCallback(PCD_HandleTypeDef *hpcd, pPCD_DataInStageCall
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = pCallback;
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Data IN Stage Callback
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Data OUT Stage Callback is redirected to the weak HAL_PCD_DataInStageCallback()
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterDataInStageCallback(PCD_HandleTypeDef *hpcd)
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 17
+
+
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback = HAL_PCD_DataInStageCallback; /* Legacy weak DataInStageCallback */
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Iso OUT incomplete Callback
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOOUTIncompleteCallback() predefined callback
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso OUT incomplete Callback function
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoOutIncpltCa
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = pCallback;
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 18
+
+
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Iso OUT incomplete Callback
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Iso OUT incomplete Callback is redirected to the weak HAL_PCD_ISOOUTIncompleteC
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoOutIncpltCallback(PCD_HandleTypeDef *hpcd)
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOOUTIncompleteCallback = HAL_PCD_ISOOUTIncompleteCallback; /* Legacy weak ISOOUTIncompl
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD Iso IN incomplete Callback
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCD_ISOINIncompleteCallback() predefined callback
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD Iso IN incomplete Callback function
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd, pPCD_IsoInIncpltCall
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 19
+
+
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = pCallback;
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD Iso IN incomplete Callback
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB PCD Iso IN incomplete Callback is redirected to the weak HAL_PCD_ISOINIncompleteCal
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterIsoInIncpltCallback(PCD_HandleTypeDef *hpcd)
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ISOINIncompleteCallback = HAL_PCD_ISOINIncompleteCallback; /* Legacy weak ISOINIncomplete
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD BCD Callback
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_BCD_Callback() predefined callback
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD BCD Callback function
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ ARM GAS /tmp/ccYuHakw.s page 20
+
+
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterBcdCallback(PCD_HandleTypeDef *hpcd, pPCD_BcdCallbackTypeDef pCal
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = pCallback;
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD BCD Callback
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB BCD Callback is redirected to the weak HAL_PCDEx_BCD_Callback() predefined callback
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterBcdCallback(PCD_HandleTypeDef *hpcd)
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BCDCallback = HAL_PCDEx_BCD_Callback; /* Legacy weak HAL_PCDEx_BCD_Callback */
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 21
+
+
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Register USB PCD LPM Callback
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * To be used instead of the weak HAL_PCDEx_LPM_Callback() predefined callback
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pCallback pointer to the USB PCD LPM Callback function
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_RegisterLpmCallback(PCD_HandleTypeDef *hpcd, pPCD_LpmCallbackTypeDef pCal
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (pCallback == NULL)
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = pCallback;
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief UnRegister the USB PCD LPM Callback
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * USB LPM Callback is redirected to the weak HAL_PCDEx_LPM_Callback() predefined callback
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ ARM GAS /tmp/ccYuHakw.s page 22
+
+
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_UnRegisterLpmCallback(PCD_HandleTypeDef *hpcd)
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef status = HAL_OK;
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process locked */
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->State == HAL_PCD_STATE_READY)
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback = HAL_PCDEx_LPM_Callback; /* Legacy weak HAL_PCDEx_LPM_Callback */
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Update the error code */
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ErrorCode |= HAL_PCD_ERROR_INVALID_CALLBACK;
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Return error status */
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** status = HAL_ERROR;
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Release Lock */
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return status;
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group2 Input and Output operation functions
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data transfers functions
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### IO operation functions #####
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..]
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection provides a set of functions allowing to manage the PCD data
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** transfers.
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Start the USB device
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd)
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 260 .loc 1 963 0
+ 261 .cfi_startproc
+ 262 @ args = 0, pretend = 0, frame = 0
+ 263 @ frame_needed = 0, uses_anonymous_args = 0
+ ARM GAS /tmp/ccYuHakw.s page 23
+
+
+ 264 .LVL20:
+ 265 0000 70B5 push {r4, r5, r6, lr}
+ 266 .LCFI2:
+ 267 .cfi_def_cfa_offset 16
+ 268 .cfi_offset 4, -16
+ 269 .cfi_offset 5, -12
+ 270 .cfi_offset 6, -8
+ 271 .cfi_offset 14, -4
+ 272 0002 0400 movs r4, r0
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 273 .loc 1 964 0
+ 274 0004 8A23 movs r3, #138
+ 275 0006 9B00 lsls r3, r3, #2
+ 276 0008 C35C ldrb r3, [r0, r3]
+ 277 000a 012B cmp r3, #1
+ 278 000c 0DD0 beq .L18
+ 279 .loc 1 964 0 is_stmt 0 discriminator 2
+ 280 000e 8A25 movs r5, #138
+ 281 0010 AD00 lsls r5, r5, #2
+ 282 0012 0123 movs r3, #1
+ 283 0014 4355 strb r3, [r0, r5]
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance);
+ 284 .loc 1 965 0 is_stmt 1 discriminator 2
+ 285 0016 0068 ldr r0, [r0]
+ 286 .LVL21:
+ 287 0018 FFF7FEFF bl USB_DevConnect
+ 288 .LVL22:
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_ENABLE(hpcd);
+ 289 .loc 1 966 0 discriminator 2
+ 290 001c 2068 ldr r0, [r4]
+ 291 001e FFF7FEFF bl USB_EnableGlobalInt
+ 292 .LVL23:
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 293 .loc 1 967 0 discriminator 2
+ 294 0022 0023 movs r3, #0
+ 295 0024 6355 strb r3, [r4, r5]
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 296 .loc 1 968 0 discriminator 2
+ 297 0026 0020 movs r0, #0
+ 298 .L17:
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 299 .loc 1 969 0
+ 300 @ sp needed
+ 301 .LVL24:
+ 302 0028 70BD pop {r4, r5, r6, pc}
+ 303 .LVL25:
+ 304 .L18:
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance);
+ 305 .loc 1 964 0
+ 306 002a 0220 movs r0, #2
+ 307 .LVL26:
+ 308 002c FCE7 b .L17
+ 309 .cfi_endproc
+ 310 .LFE44:
+ 312 .section .text.HAL_PCD_Stop,"ax",%progbits
+ 313 .align 1
+ 314 .global HAL_PCD_Stop
+ ARM GAS /tmp/ccYuHakw.s page 24
+
+
+ 315 .syntax unified
+ 316 .code 16
+ 317 .thumb_func
+ 318 .fpu softvfp
+ 320 HAL_PCD_Stop:
+ 321 .LFB45:
+ 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Stop the USB device.
+ 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_Stop(PCD_HandleTypeDef *hpcd)
+ 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 322 .loc 1 977 0
+ 323 .cfi_startproc
+ 324 @ args = 0, pretend = 0, frame = 0
+ 325 @ frame_needed = 0, uses_anonymous_args = 0
+ 326 .LVL27:
+ 327 0000 70B5 push {r4, r5, r6, lr}
+ 328 .LCFI3:
+ 329 .cfi_def_cfa_offset 16
+ 330 .cfi_offset 4, -16
+ 331 .cfi_offset 5, -12
+ 332 .cfi_offset 6, -8
+ 333 .cfi_offset 14, -4
+ 334 0002 0400 movs r4, r0
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 335 .loc 1 978 0
+ 336 0004 8A23 movs r3, #138
+ 337 0006 9B00 lsls r3, r3, #2
+ 338 0008 C35C ldrb r3, [r0, r3]
+ 339 000a 012B cmp r3, #1
+ 340 000c 0DD0 beq .L21
+ 341 .loc 1 978 0 is_stmt 0 discriminator 2
+ 342 000e 8A25 movs r5, #138
+ 343 0010 AD00 lsls r5, r5, #2
+ 344 0012 0123 movs r3, #1
+ 345 0014 4355 strb r3, [r0, r5]
+ 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd);
+ 346 .loc 1 979 0 is_stmt 1 discriminator 2
+ 347 0016 0068 ldr r0, [r0]
+ 348 .LVL28:
+ 349 0018 FFF7FEFF bl USB_DisableGlobalInt
+ 350 .LVL29:
+ 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_StopDevice(hpcd->Instance);
+ 351 .loc 1 981 0 discriminator 2
+ 352 001c 2068 ldr r0, [r4]
+ 353 001e FFF7FEFF bl USB_StopDevice
+ 354 .LVL30:
+ 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 355 .loc 1 983 0 discriminator 2
+ 356 0022 0023 movs r3, #0
+ 357 0024 6355 strb r3, [r4, r5]
+ 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 25
+
+
+ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 358 .loc 1 985 0 discriminator 2
+ 359 0026 0020 movs r0, #0
+ 360 .L20:
+ 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 361 .loc 1 986 0
+ 362 @ sp needed
+ 363 .LVL31:
+ 364 0028 70BD pop {r4, r5, r6, pc}
+ 365 .LVL32:
+ 366 .L21:
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_DISABLE(hpcd);
+ 367 .loc 1 978 0
+ 368 002a 0220 movs r0, #2
+ 369 .LVL33:
+ 370 002c FCE7 b .L20
+ 371 .cfi_endproc
+ 372 .LFE45:
+ 374 .section .text.HAL_PCD_DeInit,"ax",%progbits
+ 375 .align 1
+ 376 .global HAL_PCD_DeInit
+ 377 .syntax unified
+ 378 .code 16
+ 379 .thumb_func
+ 380 .fpu softvfp
+ 382 HAL_PCD_DeInit:
+ 383 .LFB41:
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Check the PCD handle allocation */
+ 384 .loc 1 217 0
+ 385 .cfi_startproc
+ 386 @ args = 0, pretend = 0, frame = 0
+ 387 @ frame_needed = 0, uses_anonymous_args = 0
+ 388 .LVL34:
+ 389 0000 70B5 push {r4, r5, r6, lr}
+ 390 .LCFI4:
+ 391 .cfi_def_cfa_offset 16
+ 392 .cfi_offset 4, -16
+ 393 .cfi_offset 5, -12
+ 394 .cfi_offset 6, -8
+ 395 .cfi_offset 14, -4
+ 396 0002 041E subs r4, r0, #0
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 397 .loc 1 219 0
+ 398 0004 0BD0 beq .L24
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 399 .loc 1 224 0
+ 400 0006 074D ldr r5, .L25
+ 401 0008 0323 movs r3, #3
+ 402 000a 4355 strb r3, [r0, r5]
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 403 .loc 1 227 0
+ 404 000c FFF7FEFF bl HAL_PCD_Stop
+ 405 .LVL35:
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 406 .loc 1 239 0
+ 407 0010 2000 movs r0, r4
+ 408 0012 FFF7FEFF bl HAL_PCD_MspDeInit
+ ARM GAS /tmp/ccYuHakw.s page 26
+
+
+ 409 .LVL36:
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 410 .loc 1 242 0
+ 411 0016 0023 movs r3, #0
+ 412 0018 6355 strb r3, [r4, r5]
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 413 .loc 1 244 0
+ 414 001a 0020 movs r0, #0
+ 415 .L23:
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 416 .loc 1 245 0
+ 417 @ sp needed
+ 418 .LVL37:
+ 419 001c 70BD pop {r4, r5, r6, pc}
+ 420 .LVL38:
+ 421 .L24:
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 422 .loc 1 221 0
+ 423 001e 0120 movs r0, #1
+ 424 .LVL39:
+ 425 0020 FCE7 b .L23
+ 426 .L26:
+ 427 0022 C046 .align 2
+ 428 .L25:
+ 429 0024 29020000 .word 553
+ 430 .cfi_endproc
+ 431 .LFE41:
+ 433 .section .text.HAL_PCD_DataOutStageCallback,"ax",%progbits
+ 434 .align 1
+ 435 .weak HAL_PCD_DataOutStageCallback
+ 436 .syntax unified
+ 437 .code 16
+ 438 .thumb_func
+ 439 .fpu softvfp
+ 441 HAL_PCD_DataOutStageCallback:
+ 442 .LFB47:
+ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief This function handles PCD interrupt request.
+ 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+ 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd)
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR))
+ 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* servicing of the endpoint correct transfer interrupt */
+ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear of the CTR flag into the sub */
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)PCD_EP_ISR_Handler(hpcd);
+1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_RESET))
+1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_RESET);
+1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ ARM GAS /tmp/ccYuHakw.s page 27
+
+
+1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResetCallback(hpcd);
+1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_ResetCallback(hpcd);
+1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_SetAddress(hpcd, 0U);
+1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_PMAOVR))
+1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_PMAOVR);
+1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ERR))
+1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ERR);
+1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP))
+1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_LPMODE);
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP);
+1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L1)
+1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPM_State = LPM_L0;
+1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE);
+1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE);
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->ResumeCallback(hpcd);
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_ResumeCallback(hpcd);
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_WKUP);
+1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SUSP))
+1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Force low-power mode in the macrocell */
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP;
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear of the ISTR bit must be done after setting of CNTR_FSUSP */
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SUSP);
+1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_LPMODE;
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_WKUP) == 0U)
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd);
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+ ARM GAS /tmp/ccYuHakw.s page 28
+
+
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd);
+1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Handle LPM Interrupt */
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_L1REQ))
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_L1REQ);
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0)
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Force suspend and low-power mode before going to L1 state*/
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_LPMODE;
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP;
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPM_State = LPM_L1;
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BESL = ((uint32_t)hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >> 2;
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE);
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE);
+1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SuspendCallback(hpcd);
+1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SuspendCallback(hpcd);
+1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_SOF))
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_SOF);
+1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SOFCallback(hpcd);
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SOFCallback(hpcd);
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_ESOF))
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear ESOF flag in ISTR */
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_PCD_CLEAR_FLAG(hpcd, USB_ISTR_ESOF);
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data OUT stage callback.
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+ ARM GAS /tmp/ccYuHakw.s page 29
+
+
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 443 .loc 1 1124 0
+ 444 .cfi_startproc
+ 445 @ args = 0, pretend = 0, frame = 0
+ 446 @ frame_needed = 0, uses_anonymous_args = 0
+ 447 @ link register save eliminated.
+ 448 .LVL40:
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum);
+1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DataOutStageCallback could be implemented in the user file
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 449 .loc 1 1132 0
+ 450 @ sp needed
+ 451 0000 7047 bx lr
+ 452 .cfi_endproc
+ 453 .LFE47:
+ 455 .section .text.HAL_PCD_DataInStageCallback,"ax",%progbits
+ 456 .align 1
+ 457 .weak HAL_PCD_DataInStageCallback
+ 458 .syntax unified
+ 459 .code 16
+ 460 .thumb_func
+ 461 .fpu softvfp
+ 463 HAL_PCD_DataInStageCallback:
+ 464 .LFB48:
+1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Data IN stage callback
+1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 465 .loc 1 1141 0
+ 466 .cfi_startproc
+ 467 @ args = 0, pretend = 0, frame = 0
+ 468 @ frame_needed = 0, uses_anonymous_args = 0
+ 469 @ link register save eliminated.
+ 470 .LVL41:
+1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum);
+1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DataInStageCallback could be implemented in the user file
+1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 471 .loc 1 1149 0
+ 472 @ sp needed
+ 473 0000 7047 bx lr
+ ARM GAS /tmp/ccYuHakw.s page 30
+
+
+ 474 .cfi_endproc
+ 475 .LFE48:
+ 477 .section .text.HAL_PCD_SetupStageCallback,"ax",%progbits
+ 478 .align 1
+ 479 .weak HAL_PCD_SetupStageCallback
+ 480 .syntax unified
+ 481 .code 16
+ 482 .thumb_func
+ 483 .fpu softvfp
+ 485 HAL_PCD_SetupStageCallback:
+ 486 .LFB49:
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Setup stage callback
+1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
+1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 487 .loc 1 1156 0
+ 488 .cfi_startproc
+ 489 @ args = 0, pretend = 0, frame = 0
+ 490 @ frame_needed = 0, uses_anonymous_args = 0
+ 491 @ link register save eliminated.
+ 492 .LVL42:
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SetupStageCallback could be implemented in the user file
+1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 493 .loc 1 1163 0
+ 494 @ sp needed
+ 495 0000 7047 bx lr
+ 496 .cfi_endproc
+ 497 .LFE49:
+ 499 .section .text.HAL_PCD_SOFCallback,"ax",%progbits
+ 500 .align 1
+ 501 .weak HAL_PCD_SOFCallback
+ 502 .syntax unified
+ 503 .code 16
+ 504 .thumb_func
+ 505 .fpu softvfp
+ 507 HAL_PCD_SOFCallback:
+ 508 .LFB50:
+1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief USB Start Of Frame callback.
+1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 509 .loc 1 1171 0
+ 510 .cfi_startproc
+ 511 @ args = 0, pretend = 0, frame = 0
+ 512 @ frame_needed = 0, uses_anonymous_args = 0
+ ARM GAS /tmp/ccYuHakw.s page 31
+
+
+ 513 @ link register save eliminated.
+ 514 .LVL43:
+1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SOFCallback could be implemented in the user file
+1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 515 .loc 1 1178 0
+ 516 @ sp needed
+ 517 0000 7047 bx lr
+ 518 .cfi_endproc
+ 519 .LFE50:
+ 521 .section .text.HAL_PCD_ResetCallback,"ax",%progbits
+ 522 .align 1
+ 523 .weak HAL_PCD_ResetCallback
+ 524 .syntax unified
+ 525 .code 16
+ 526 .thumb_func
+ 527 .fpu softvfp
+ 529 HAL_PCD_ResetCallback:
+ 530 .LFB51:
+1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief USB Reset callback.
+1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 531 .loc 1 1186 0
+ 532 .cfi_startproc
+ 533 @ args = 0, pretend = 0, frame = 0
+ 534 @ frame_needed = 0, uses_anonymous_args = 0
+ 535 @ link register save eliminated.
+ 536 .LVL44:
+1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ResetCallback could be implemented in the user file
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 537 .loc 1 1193 0
+ 538 @ sp needed
+ 539 0000 7047 bx lr
+ 540 .cfi_endproc
+ 541 .LFE51:
+ 543 .section .text.HAL_PCD_SuspendCallback,"ax",%progbits
+ 544 .align 1
+ 545 .weak HAL_PCD_SuspendCallback
+ 546 .syntax unified
+ 547 .code 16
+ 548 .thumb_func
+ 549 .fpu softvfp
+ 551 HAL_PCD_SuspendCallback:
+ ARM GAS /tmp/ccYuHakw.s page 32
+
+
+ 552 .LFB52:
+1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Suspend event callback.
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 553 .loc 1 1201 0
+ 554 .cfi_startproc
+ 555 @ args = 0, pretend = 0, frame = 0
+ 556 @ frame_needed = 0, uses_anonymous_args = 0
+ 557 @ link register save eliminated.
+ 558 .LVL45:
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_SuspendCallback could be implemented in the user file
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 559 .loc 1 1208 0
+ 560 @ sp needed
+ 561 0000 7047 bx lr
+ 562 .cfi_endproc
+ 563 .LFE52:
+ 565 .section .text.HAL_PCD_ResumeCallback,"ax",%progbits
+ 566 .align 1
+ 567 .weak HAL_PCD_ResumeCallback
+ 568 .syntax unified
+ 569 .code 16
+ 570 .thumb_func
+ 571 .fpu softvfp
+ 573 HAL_PCD_ResumeCallback:
+ 574 .LFB53:
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Resume event callback.
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 575 .loc 1 1216 0
+ 576 .cfi_startproc
+ 577 @ args = 0, pretend = 0, frame = 0
+ 578 @ frame_needed = 0, uses_anonymous_args = 0
+ 579 @ link register save eliminated.
+ 580 .LVL46:
+1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ResumeCallback could be implemented in the user file
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ ARM GAS /tmp/ccYuHakw.s page 33
+
+
+ 581 .loc 1 1223 0
+ 582 @ sp needed
+ 583 0000 7047 bx lr
+ 584 .cfi_endproc
+ 585 .LFE53:
+ 587 .section .text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits
+ 588 .align 1
+ 589 .weak HAL_PCD_ISOOUTIncompleteCallback
+ 590 .syntax unified
+ 591 .code 16
+ 592 .thumb_func
+ 593 .fpu softvfp
+ 595 HAL_PCD_ISOOUTIncompleteCallback:
+ 596 .LFB54:
+1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Incomplete ISO OUT callback.
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number
+1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 597 .loc 1 1232 0
+ 598 .cfi_startproc
+ 599 @ args = 0, pretend = 0, frame = 0
+ 600 @ frame_needed = 0, uses_anonymous_args = 0
+ 601 @ link register save eliminated.
+ 602 .LVL47:
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum);
+1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ISOOUTIncompleteCallback could be implemented in the user file
+1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 603 .loc 1 1240 0
+ 604 @ sp needed
+ 605 0000 7047 bx lr
+ 606 .cfi_endproc
+ 607 .LFE54:
+ 609 .section .text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits
+ 610 .align 1
+ 611 .weak HAL_PCD_ISOINIncompleteCallback
+ 612 .syntax unified
+ 613 .code 16
+ 614 .thumb_func
+ 615 .fpu softvfp
+ 617 HAL_PCD_ISOINIncompleteCallback:
+ 618 .LFB55:
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Incomplete ISO IN callback.
+1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param epnum endpoint number
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+ ARM GAS /tmp/ccYuHakw.s page 34
+
+
+1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 619 .loc 1 1249 0
+ 620 .cfi_startproc
+ 621 @ args = 0, pretend = 0, frame = 0
+ 622 @ frame_needed = 0, uses_anonymous_args = 0
+ 623 @ link register save eliminated.
+ 624 .LVL48:
+1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(epnum);
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ISOINIncompleteCallback could be implemented in the user file
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 625 .loc 1 1257 0
+ 626 @ sp needed
+ 627 0000 7047 bx lr
+ 628 .cfi_endproc
+ 629 .LFE55:
+ 631 .section .text.HAL_PCD_ConnectCallback,"ax",%progbits
+ 632 .align 1
+ 633 .weak HAL_PCD_ConnectCallback
+ 634 .syntax unified
+ 635 .code 16
+ 636 .thumb_func
+ 637 .fpu softvfp
+ 639 HAL_PCD_ConnectCallback:
+ 640 .LFB56:
+1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Connection event callback.
+1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 641 .loc 1 1265 0
+ 642 .cfi_startproc
+ 643 @ args = 0, pretend = 0, frame = 0
+ 644 @ frame_needed = 0, uses_anonymous_args = 0
+ 645 @ link register save eliminated.
+ 646 .LVL49:
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_ConnectCallback could be implemented in the user file
+1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 647 .loc 1 1272 0
+ 648 @ sp needed
+ 649 0000 7047 bx lr
+ 650 .cfi_endproc
+ 651 .LFE56:
+ ARM GAS /tmp/ccYuHakw.s page 35
+
+
+ 653 .section .text.HAL_PCD_DisconnectCallback,"ax",%progbits
+ 654 .align 1
+ 655 .weak HAL_PCD_DisconnectCallback
+ 656 .syntax unified
+ 657 .code 16
+ 658 .thumb_func
+ 659 .fpu softvfp
+ 661 HAL_PCD_DisconnectCallback:
+ 662 .LFB57:
+1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Disconnection event callback.
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval None
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __weak void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
+1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 663 .loc 1 1280 0
+ 664 .cfi_startproc
+ 665 @ args = 0, pretend = 0, frame = 0
+ 666 @ frame_needed = 0, uses_anonymous_args = 0
+ 667 @ link register save eliminated.
+ 668 .LVL50:
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* NOTE : This function should not be modified, when the callback is needed,
+1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** the HAL_PCD_DisconnectCallback could be implemented in the user file
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 669 .loc 1 1287 0
+ 670 @ sp needed
+ 671 0000 7047 bx lr
+ 672 .cfi_endproc
+ 673 .LFE57:
+ 675 .section .text.HAL_PCD_DevConnect,"ax",%progbits
+ 676 .align 1
+ 677 .global HAL_PCD_DevConnect
+ 678 .syntax unified
+ 679 .code 16
+ 680 .thumb_func
+ 681 .fpu softvfp
+ 683 HAL_PCD_DevConnect:
+ 684 .LFB58:
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group3 Peripheral Control functions
+1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief management functions
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim
+1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Peripheral Control functions #####
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..]
+ ARM GAS /tmp/ccYuHakw.s page 36
+
+
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection provides a set of functions allowing to control the PCD data
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** transfers.
+1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Connect the USB device
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevConnect(PCD_HandleTypeDef *hpcd)
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 685 .loc 1 1314 0
+ 686 .cfi_startproc
+ 687 @ args = 0, pretend = 0, frame = 0
+ 688 @ frame_needed = 0, uses_anonymous_args = 0
+ 689 .LVL51:
+ 690 0000 70B5 push {r4, r5, r6, lr}
+ 691 .LCFI5:
+ 692 .cfi_def_cfa_offset 16
+ 693 .cfi_offset 4, -16
+ 694 .cfi_offset 5, -12
+ 695 .cfi_offset 6, -8
+ 696 .cfi_offset 14, -4
+ 697 0002 0400 movs r4, r0
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 698 .loc 1 1315 0
+ 699 0004 8A23 movs r3, #138
+ 700 0006 9B00 lsls r3, r3, #2
+ 701 0008 C35C ldrb r3, [r0, r3]
+ 702 000a 012B cmp r3, #1
+ 703 000c 0AD0 beq .L40
+ 704 .loc 1 1315 0 is_stmt 0 discriminator 2
+ 705 000e 8A25 movs r5, #138
+ 706 0010 AD00 lsls r5, r5, #2
+ 707 0012 0123 movs r3, #1
+ 708 0014 4355 strb r3, [r0, r5]
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance);
+ 709 .loc 1 1316 0 is_stmt 1 discriminator 2
+ 710 0016 0068 ldr r0, [r0]
+ 711 .LVL52:
+ 712 0018 FFF7FEFF bl USB_DevConnect
+ 713 .LVL53:
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 714 .loc 1 1317 0 discriminator 2
+ 715 001c 0023 movs r3, #0
+ 716 001e 6355 strb r3, [r4, r5]
+1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 717 .loc 1 1318 0 discriminator 2
+ 718 0020 0020 movs r0, #0
+ 719 .L39:
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 720 .loc 1 1319 0
+ 721 @ sp needed
+ 722 .LVL54:
+ ARM GAS /tmp/ccYuHakw.s page 37
+
+
+ 723 0022 70BD pop {r4, r5, r6, pc}
+ 724 .LVL55:
+ 725 .L40:
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevConnect(hpcd->Instance);
+ 726 .loc 1 1315 0
+ 727 0024 0220 movs r0, #2
+ 728 .LVL56:
+ 729 0026 FCE7 b .L39
+ 730 .cfi_endproc
+ 731 .LFE58:
+ 733 .section .text.HAL_PCD_DevDisconnect,"ax",%progbits
+ 734 .align 1
+ 735 .global HAL_PCD_DevDisconnect
+ 736 .syntax unified
+ 737 .code 16
+ 738 .thumb_func
+ 739 .fpu softvfp
+ 741 HAL_PCD_DevDisconnect:
+ 742 .LFB59:
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Disconnect the USB device.
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DevDisconnect(PCD_HandleTypeDef *hpcd)
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 743 .loc 1 1327 0
+ 744 .cfi_startproc
+ 745 @ args = 0, pretend = 0, frame = 0
+ 746 @ frame_needed = 0, uses_anonymous_args = 0
+ 747 .LVL57:
+ 748 0000 70B5 push {r4, r5, r6, lr}
+ 749 .LCFI6:
+ 750 .cfi_def_cfa_offset 16
+ 751 .cfi_offset 4, -16
+ 752 .cfi_offset 5, -12
+ 753 .cfi_offset 6, -8
+ 754 .cfi_offset 14, -4
+ 755 0002 0400 movs r4, r0
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 756 .loc 1 1328 0
+ 757 0004 8A23 movs r3, #138
+ 758 0006 9B00 lsls r3, r3, #2
+ 759 0008 C35C ldrb r3, [r0, r3]
+ 760 000a 012B cmp r3, #1
+ 761 000c 0AD0 beq .L43
+ 762 .loc 1 1328 0 is_stmt 0 discriminator 2
+ 763 000e 8A25 movs r5, #138
+ 764 0010 AD00 lsls r5, r5, #2
+ 765 0012 0123 movs r3, #1
+ 766 0014 4355 strb r3, [r0, r5]
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance);
+ 767 .loc 1 1329 0 is_stmt 1 discriminator 2
+ 768 0016 0068 ldr r0, [r0]
+ 769 .LVL58:
+ 770 0018 FFF7FEFF bl USB_DevDisconnect
+ ARM GAS /tmp/ccYuHakw.s page 38
+
+
+ 771 .LVL59:
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 772 .loc 1 1330 0 discriminator 2
+ 773 001c 0023 movs r3, #0
+ 774 001e 6355 strb r3, [r4, r5]
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 775 .loc 1 1331 0 discriminator 2
+ 776 0020 0020 movs r0, #0
+ 777 .L42:
+1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 778 .loc 1 1332 0
+ 779 @ sp needed
+ 780 .LVL60:
+ 781 0022 70BD pop {r4, r5, r6, pc}
+ 782 .LVL61:
+ 783 .L43:
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DevDisconnect(hpcd->Instance);
+ 784 .loc 1 1328 0
+ 785 0024 0220 movs r0, #2
+ 786 .LVL62:
+ 787 0026 FCE7 b .L42
+ 788 .cfi_endproc
+ 789 .LFE59:
+ 791 .section .text.HAL_PCD_SetAddress,"ax",%progbits
+ 792 .align 1
+ 793 .global HAL_PCD_SetAddress
+ 794 .syntax unified
+ 795 .code 16
+ 796 .thumb_func
+ 797 .fpu softvfp
+ 799 HAL_PCD_SetAddress:
+ 800 .LFB60:
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Set the USB Device address.
+1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param address new device address
+1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address)
+1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 801 .loc 1 1341 0
+ 802 .cfi_startproc
+ 803 @ args = 0, pretend = 0, frame = 0
+ 804 @ frame_needed = 0, uses_anonymous_args = 0
+ 805 .LVL63:
+ 806 0000 70B5 push {r4, r5, r6, lr}
+ 807 .LCFI7:
+ 808 .cfi_def_cfa_offset 16
+ 809 .cfi_offset 4, -16
+ 810 .cfi_offset 5, -12
+ 811 .cfi_offset 6, -8
+ 812 .cfi_offset 14, -4
+ 813 0002 0400 movs r4, r0
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 814 .loc 1 1342 0
+ 815 0004 8A23 movs r3, #138
+ ARM GAS /tmp/ccYuHakw.s page 39
+
+
+ 816 0006 9B00 lsls r3, r3, #2
+ 817 0008 C35C ldrb r3, [r0, r3]
+ 818 000a 012B cmp r3, #1
+ 819 000c 0CD0 beq .L46
+ 820 .loc 1 1342 0 is_stmt 0 discriminator 2
+ 821 000e 8A25 movs r5, #138
+ 822 0010 AD00 lsls r5, r5, #2
+ 823 0012 0123 movs r3, #1
+ 824 0014 4355 strb r3, [r0, r5]
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = address;
+ 825 .loc 1 1343 0 is_stmt 1 discriminator 2
+ 826 0016 2333 adds r3, r3, #35
+ 827 0018 C154 strb r1, [r0, r3]
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_SetDevAddress(hpcd->Instance, address);
+ 828 .loc 1 1344 0 discriminator 2
+ 829 001a 0068 ldr r0, [r0]
+ 830 .LVL64:
+ 831 001c FFF7FEFF bl USB_SetDevAddress
+ 832 .LVL65:
+1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 833 .loc 1 1345 0 discriminator 2
+ 834 0020 0023 movs r3, #0
+ 835 0022 6355 strb r3, [r4, r5]
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 836 .loc 1 1346 0 discriminator 2
+ 837 0024 0020 movs r0, #0
+ 838 .L45:
+1347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 839 .loc 1 1347 0
+ 840 @ sp needed
+ 841 .LVL66:
+ 842 0026 70BD pop {r4, r5, r6, pc}
+ 843 .LVL67:
+ 844 .L46:
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = address;
+ 845 .loc 1 1342 0
+ 846 0028 0220 movs r0, #2
+ 847 .LVL68:
+ 848 002a FCE7 b .L45
+ 849 .cfi_endproc
+ 850 .LFE60:
+ 852 .section .text.HAL_PCD_EP_Open,"ax",%progbits
+ 853 .align 1
+ 854 .global HAL_PCD_EP_Open
+ 855 .syntax unified
+ 856 .code 16
+ 857 .thumb_func
+ 858 .fpu softvfp
+ 860 HAL_PCD_EP_Open:
+ 861 .LFB61:
+1348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Open and configure an endpoint.
+1350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_mps endpoint max packet size
+1353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_type endpoint type
+1354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+ ARM GAS /tmp/ccYuHakw.s page 40
+
+
+1355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_
+1357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 862 .loc 1 1357 0
+ 863 .cfi_startproc
+ 864 @ args = 0, pretend = 0, frame = 0
+ 865 @ frame_needed = 0, uses_anonymous_args = 0
+ 866 .LVL69:
+ 867 0000 70B5 push {r4, r5, r6, lr}
+ 868 .LCFI8:
+ 869 .cfi_def_cfa_offset 16
+ 870 .cfi_offset 4, -16
+ 871 .cfi_offset 5, -12
+ 872 .cfi_offset 6, -8
+ 873 .cfi_offset 14, -4
+ 874 0002 0500 movs r5, r0
+ 875 .LVL70:
+1358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef ret = HAL_OK;
+1359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U)
+ 876 .loc 1 1361 0
+ 877 0004 48B2 sxtb r0, r1
+ 878 .LVL71:
+ 879 0006 0028 cmp r0, #0
+ 880 0008 27DB blt .L54
+1362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+1365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
+ 881 .loc 1 1368 0
+ 882 000a 0724 movs r4, #7
+ 883 000c 0C40 ands r4, r1
+ 884 000e 6401 lsls r4, r4, #5
+ 885 0010 2000 movs r0, r4
+ 886 0012 2930 adds r0, r0, #41
+ 887 0014 FF30 adds r0, r0, #255
+ 888 0016 2818 adds r0, r5, r0
+ 889 .LVL72:
+1369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+ 890 .loc 1 1369 0
+ 891 0018 2C19 adds r4, r5, r4
+ 892 001a 2A34 adds r4, r4, #42
+ 893 001c FF34 adds r4, r4, #255
+ 894 001e 0026 movs r6, #0
+ 895 0020 2670 strb r6, [r4]
+ 896 .L49:
+1370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 897 .loc 1 1372 0
+ 898 0022 0724 movs r4, #7
+ 899 0024 2140 ands r1, r4
+ 900 .LVL73:
+ ARM GAS /tmp/ccYuHakw.s page 41
+
+
+ 901 0026 0170 strb r1, [r0]
+1373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->maxpacket = ep_mps;
+ 902 .loc 1 1373 0
+ 903 0028 0261 str r2, [r0, #16]
+1374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->type = ep_type;
+ 904 .loc 1 1374 0
+ 905 002a C370 strb r3, [r0, #3]
+1375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->is_in != 0U)
+ 906 .loc 1 1376 0
+ 907 002c 4278 ldrb r2, [r0, #1]
+ 908 .LVL74:
+ 909 002e 002A cmp r2, #0
+ 910 0030 00D0 beq .L50
+1377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Assign a Tx FIFO */
+1379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->tx_fifo_num = ep->num;
+ 911 .loc 1 1379 0
+ 912 0032 C181 strh r1, [r0, #14]
+ 913 .L50:
+1380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Set initial data PID. */
+1382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep_type == EP_TYPE_BULK)
+ 914 .loc 1 1382 0
+ 915 0034 022B cmp r3, #2
+ 916 0036 1BD0 beq .L55
+ 917 .LVL75:
+ 918 .L51:
+1383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->data_pid_start = 0U;
+1385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 919 .loc 1 1387 0
+ 920 0038 8A23 movs r3, #138
+ 921 003a 9B00 lsls r3, r3, #2
+ 922 003c EB5C ldrb r3, [r5, r3]
+ 923 003e 012B cmp r3, #1
+ 924 0040 19D0 beq .L53
+ 925 .loc 1 1387 0 is_stmt 0 discriminator 2
+ 926 0042 8A24 movs r4, #138
+ 927 0044 A400 lsls r4, r4, #2
+ 928 0046 0123 movs r3, #1
+ 929 0048 2B55 strb r3, [r5, r4]
+ 930 .LVL76:
+1388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep);
+ 931 .loc 1 1388 0 is_stmt 1 discriminator 2
+ 932 004a 0100 movs r1, r0
+ 933 004c 2868 ldr r0, [r5]
+ 934 .LVL77:
+ 935 004e FFF7FEFF bl USB_ActivateEndpoint
+ 936 .LVL78:
+1389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 937 .loc 1 1389 0 discriminator 2
+ 938 0052 0023 movs r3, #0
+ 939 0054 2B55 strb r3, [r5, r4]
+1390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 42
+
+
+1391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return ret;
+ 940 .loc 1 1391 0 discriminator 2
+ 941 0056 0020 movs r0, #0
+ 942 .L52:
+1392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 943 .loc 1 1392 0
+ 944 @ sp needed
+ 945 .LVL79:
+ 946 0058 70BD pop {r4, r5, r6, pc}
+ 947 .LVL80:
+ 948 .L54:
+1363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+ 949 .loc 1 1363 0
+ 950 005a 0724 movs r4, #7
+ 951 005c 0C40 ands r4, r1
+ 952 005e 6401 lsls r4, r4, #5
+ 953 0060 2000 movs r0, r4
+ 954 0062 2830 adds r0, r0, #40
+ 955 0064 2818 adds r0, r5, r0
+ 956 .LVL81:
+1364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 957 .loc 1 1364 0
+ 958 0066 2C19 adds r4, r5, r4
+ 959 0068 2934 adds r4, r4, #41
+ 960 006a 0126 movs r6, #1
+ 961 006c 2670 strb r6, [r4]
+ 962 006e D8E7 b .L49
+ 963 .LVL82:
+ 964 .L55:
+1384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 965 .loc 1 1384 0
+ 966 0070 0023 movs r3, #0
+ 967 .LVL83:
+ 968 0072 0371 strb r3, [r0, #4]
+ 969 0074 E0E7 b .L51
+ 970 .L53:
+1387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_ActivateEndpoint(hpcd->Instance, ep);
+ 971 .loc 1 1387 0
+ 972 0076 0220 movs r0, #2
+ 973 .LVL84:
+ 974 0078 EEE7 b .L52
+ 975 .cfi_endproc
+ 976 .LFE61:
+ 978 .section .text.HAL_PCD_EP_Close,"ax",%progbits
+ 979 .align 1
+ 980 .global HAL_PCD_EP_Close
+ 981 .syntax unified
+ 982 .code 16
+ 983 .thumb_func
+ 984 .fpu softvfp
+ 986 HAL_PCD_EP_Close:
+ 987 .LFB62:
+1393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Deactivate an endpoint.
+1396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+ ARM GAS /tmp/ccYuHakw.s page 43
+
+
+1398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
+1401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 988 .loc 1 1401 0
+ 989 .cfi_startproc
+ 990 @ args = 0, pretend = 0, frame = 0
+ 991 @ frame_needed = 0, uses_anonymous_args = 0
+ 992 .LVL85:
+ 993 0000 70B5 push {r4, r5, r6, lr}
+ 994 .LCFI9:
+ 995 .cfi_def_cfa_offset 16
+ 996 .cfi_offset 4, -16
+ 997 .cfi_offset 5, -12
+ 998 .cfi_offset 6, -8
+ 999 .cfi_offset 14, -4
+ 1000 0002 0400 movs r4, r0
+1402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & 0x80U) == 0x80U)
+ 1001 .loc 1 1404 0
+ 1002 0004 4BB2 sxtb r3, r1
+ 1003 0006 002B cmp r3, #0
+ 1004 0008 1FDB blt .L61
+1405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+1408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
+ 1005 .loc 1 1411 0
+ 1006 000a 0723 movs r3, #7
+ 1007 000c 0B40 ands r3, r1
+ 1008 000e 5B01 lsls r3, r3, #5
+ 1009 0010 1A00 movs r2, r3
+ 1010 0012 2932 adds r2, r2, #41
+ 1011 0014 FF32 adds r2, r2, #255
+ 1012 0016 8218 adds r2, r0, r2
+ 1013 .LVL86:
+1412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+ 1014 .loc 1 1412 0
+ 1015 0018 C318 adds r3, r0, r3
+ 1016 001a 2A33 adds r3, r3, #42
+ 1017 001c FF33 adds r3, r3, #255
+ 1018 001e 0020 movs r0, #0
+ 1019 .LVL87:
+ 1020 0020 1870 strb r0, [r3]
+ 1021 .L58:
+1413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 1022 .loc 1 1414 0
+ 1023 0022 0723 movs r3, #7
+ 1024 0024 1940 ands r1, r3
+ 1025 .LVL88:
+ 1026 0026 1170 strb r1, [r2]
+1415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 44
+
+
+1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+ 1027 .loc 1 1416 0
+ 1028 0028 8A23 movs r3, #138
+ 1029 002a 9B00 lsls r3, r3, #2
+ 1030 002c E35C ldrb r3, [r4, r3]
+ 1031 002e 012B cmp r3, #1
+ 1032 0030 16D0 beq .L60
+ 1033 .loc 1 1416 0 is_stmt 0 discriminator 2
+ 1034 0032 8A25 movs r5, #138
+ 1035 0034 AD00 lsls r5, r5, #2
+ 1036 0036 0123 movs r3, #1
+ 1037 0038 6355 strb r3, [r4, r5]
+1417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep);
+ 1038 .loc 1 1417 0 is_stmt 1 discriminator 2
+ 1039 003a 1100 movs r1, r2
+ 1040 003c 2068 ldr r0, [r4]
+ 1041 003e FFF7FEFF bl USB_DeactivateEndpoint
+ 1042 .LVL89:
+1418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 1043 .loc 1 1418 0 discriminator 2
+ 1044 0042 0023 movs r3, #0
+ 1045 0044 6355 strb r3, [r4, r5]
+1419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+ 1046 .loc 1 1419 0 discriminator 2
+ 1047 0046 0020 movs r0, #0
+ 1048 .L59:
+1420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1049 .loc 1 1420 0
+ 1050 @ sp needed
+ 1051 .LVL90:
+ 1052 0048 70BD pop {r4, r5, r6, pc}
+ 1053 .LVL91:
+ 1054 .L61:
+1406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+ 1055 .loc 1 1406 0
+ 1056 004a 0723 movs r3, #7
+ 1057 004c 0B40 ands r3, r1
+ 1058 004e 5B01 lsls r3, r3, #5
+ 1059 0050 1A00 movs r2, r3
+ 1060 0052 2832 adds r2, r2, #40
+ 1061 0054 8218 adds r2, r0, r2
+ 1062 .LVL92:
+1407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1063 .loc 1 1407 0
+ 1064 0056 C318 adds r3, r0, r3
+ 1065 0058 2933 adds r3, r3, #41
+ 1066 005a 0120 movs r0, #1
+ 1067 .LVL93:
+ 1068 005c 1870 strb r0, [r3]
+ 1069 005e E0E7 b .L58
+ 1070 .LVL94:
+ 1071 .L60:
+1416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_DeactivateEndpoint(hpcd->Instance, ep);
+ 1072 .loc 1 1416 0
+ 1073 0060 0220 movs r0, #2
+ 1074 0062 F1E7 b .L59
+ 1075 .cfi_endproc
+ ARM GAS /tmp/ccYuHakw.s page 45
+
+
+ 1076 .LFE62:
+ 1078 .section .text.HAL_PCD_EP_Receive,"ax",%progbits
+ 1079 .align 1
+ 1080 .global HAL_PCD_EP_Receive
+ 1081 .syntax unified
+ 1082 .code 16
+ 1083 .thumb_func
+ 1084 .fpu softvfp
+ 1086 HAL_PCD_EP_Receive:
+ 1087 .LFB63:
+1421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Receive an amount of data.
+1425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pBuf pointer to the reception buffer
+1428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param len amount of data to be received
+1429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint3
+1432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1088 .loc 1 1432 0
+ 1089 .cfi_startproc
+ 1090 @ args = 0, pretend = 0, frame = 0
+ 1091 @ frame_needed = 0, uses_anonymous_args = 0
+ 1092 .LVL95:
+ 1093 0000 70B5 push {r4, r5, r6, lr}
+ 1094 .LCFI10:
+ 1095 .cfi_def_cfa_offset 16
+ 1096 .cfi_offset 4, -16
+ 1097 .cfi_offset 5, -12
+ 1098 .cfi_offset 6, -8
+ 1099 .cfi_offset 14, -4
+ 1100 0002 0725 movs r5, #7
+ 1101 0004 0D40 ands r5, r1
+1433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
+ 1102 .loc 1 1435 0
+ 1103 0006 6C01 lsls r4, r5, #5
+ 1104 0008 2100 movs r1, r4
+ 1105 .LVL96:
+ 1106 000a 2931 adds r1, r1, #41
+ 1107 000c FF31 adds r1, r1, #255
+ 1108 000e 4118 adds r1, r0, r1
+ 1109 .LVL97:
+1436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*setup and start the Xfer */
+1438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff = pBuf;
+ 1110 .loc 1 1438 0
+ 1111 0010 0419 adds r4, r0, r4
+ 1112 0012 2600 movs r6, r4
+ 1113 0014 3D36 adds r6, r6, #61
+ 1114 0016 FF36 adds r6, r6, #255
+ 1115 0018 3260 str r2, [r6]
+1439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_len = len;
+ ARM GAS /tmp/ccYuHakw.s page 46
+
+
+ 1116 .loc 1 1439 0
+ 1117 001a 2A00 movs r2, r5
+ 1118 .LVL98:
+ 1119 001c 0A32 adds r2, r2, #10
+ 1120 001e 5201 lsls r2, r2, #5
+ 1121 0020 1350 str r3, [r2, r0]
+ 1122 .LVL99:
+1440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = 0U;
+ 1123 .loc 1 1440 0
+ 1124 0022 8218 adds r2, r0, r2
+ 1125 0024 0023 movs r3, #0
+ 1126 .LVL100:
+ 1127 0026 5360 str r3, [r2, #4]
+1441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+ 1128 .loc 1 1441 0
+ 1129 0028 2200 movs r2, r4
+ 1130 .LVL101:
+ 1131 002a 2A32 adds r2, r2, #42
+ 1132 002c FF32 adds r2, r2, #255
+ 1133 002e 1370 strb r3, [r2]
+ 1134 .LVL102:
+1442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 1135 .loc 1 1442 0
+ 1136 0030 2934 adds r4, r4, #41
+ 1137 0032 FF34 adds r4, r4, #255
+ 1138 0034 2570 strb r5, [r4]
+1443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U)
+ 1139 .loc 1 1444 0
+ 1140 0036 002D cmp r5, #0
+ 1141 0038 04D0 beq .L65
+1445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep);
+1447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep);
+ 1142 .loc 1 1450 0
+ 1143 003a 0068 ldr r0, [r0]
+ 1144 .LVL103:
+ 1145 003c FFF7FEFF bl USB_EPStartXfer
+ 1146 .LVL104:
+ 1147 .L64:
+1451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1148 .loc 1 1454 0
+ 1149 0040 0020 movs r0, #0
+ 1150 @ sp needed
+ 1151 .LVL105:
+ 1152 0042 70BD pop {r4, r5, r6, pc}
+ 1153 .LVL106:
+ 1154 .L65:
+1446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1155 .loc 1 1446 0
+ 1156 0044 0068 ldr r0, [r0]
+ ARM GAS /tmp/ccYuHakw.s page 47
+
+
+ 1157 .LVL107:
+ 1158 0046 FFF7FEFF bl USB_EPStartXfer
+ 1159 .LVL108:
+ 1160 004a F9E7 b .L64
+ 1161 .cfi_endproc
+ 1162 .LFE63:
+ 1164 .section .text.HAL_PCD_EP_GetRxCount,"ax",%progbits
+ 1165 .align 1
+ 1166 .global HAL_PCD_EP_GetRxCount
+ 1167 .syntax unified
+ 1168 .code 16
+ 1169 .thumb_func
+ 1170 .fpu softvfp
+ 1172 HAL_PCD_EP_GetRxCount:
+ 1173 .LFB64:
+1455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Get Received Data Size
+1458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval Data Size
+1461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
+1463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1174 .loc 1 1463 0
+ 1175 .cfi_startproc
+ 1176 @ args = 0, pretend = 0, frame = 0
+ 1177 @ frame_needed = 0, uses_anonymous_args = 0
+ 1178 @ link register save eliminated.
+ 1179 .LVL109:
+ 1180 0000 0B00 movs r3, r1
+1464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count;
+ 1181 .loc 1 1464 0
+ 1182 0002 0721 movs r1, #7
+ 1183 .LVL110:
+ 1184 0004 1940 ands r1, r3
+ 1185 0006 0A31 adds r1, r1, #10
+ 1186 0008 4901 lsls r1, r1, #5
+ 1187 000a 4018 adds r0, r0, r1
+ 1188 .LVL111:
+ 1189 000c 4068 ldr r0, [r0, #4]
+1465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1190 .loc 1 1465 0
+ 1191 @ sp needed
+ 1192 000e 7047 bx lr
+ 1193 .cfi_endproc
+ 1194 .LFE64:
+ 1196 .section .text.HAL_PCD_EP_Transmit,"ax",%progbits
+ 1197 .align 1
+ 1198 .global HAL_PCD_EP_Transmit
+ 1199 .syntax unified
+ 1200 .code 16
+ 1201 .thumb_func
+ 1202 .fpu softvfp
+ 1204 HAL_PCD_EP_Transmit:
+ 1205 .LFB65:
+1466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+ ARM GAS /tmp/ccYuHakw.s page 48
+
+
+1467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Send an amount of data
+1468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param pBuf pointer to the transmission buffer
+1471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param len amount of data to be sent
+1472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint
+1475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1206 .loc 1 1475 0
+ 1207 .cfi_startproc
+ 1208 @ args = 0, pretend = 0, frame = 0
+ 1209 @ frame_needed = 0, uses_anonymous_args = 0
+ 1210 .LVL112:
+ 1211 0000 70B5 push {r4, r5, r6, lr}
+ 1212 .LCFI11:
+ 1213 .cfi_def_cfa_offset 16
+ 1214 .cfi_offset 4, -16
+ 1215 .cfi_offset 5, -12
+ 1216 .cfi_offset 6, -8
+ 1217 .cfi_offset 14, -4
+ 1218 0002 0725 movs r5, #7
+ 1219 0004 0D40 ands r5, r1
+1476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+ 1220 .loc 1 1478 0
+ 1221 0006 6C01 lsls r4, r5, #5
+ 1222 0008 2100 movs r1, r4
+ 1223 .LVL113:
+ 1224 000a 2831 adds r1, r1, #40
+ 1225 000c 4118 adds r1, r0, r1
+ 1226 .LVL114:
+1479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*setup and start the Xfer */
+1481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff = pBuf;
+ 1227 .loc 1 1481 0
+ 1228 000e 0419 adds r4, r0, r4
+ 1229 0010 E263 str r2, [r4, #60]
+1482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_len = len;
+ 1230 .loc 1 1482 0
+ 1231 0012 AA1C adds r2, r5, #2
+ 1232 .LVL115:
+ 1233 0014 5201 lsls r2, r2, #5
+ 1234 0016 1350 str r3, [r2, r0]
+ 1235 .LVL116:
+1483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = 0U;
+ 1236 .loc 1 1483 0
+ 1237 0018 8218 adds r2, r0, r2
+ 1238 001a 0023 movs r3, #0
+ 1239 .LVL117:
+ 1240 001c 5360 str r3, [r2, #4]
+1484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+ 1241 .loc 1 1484 0
+ 1242 001e 2300 movs r3, r4
+ 1243 0020 2933 adds r3, r3, #41
+ 1244 0022 0122 movs r2, #1
+ ARM GAS /tmp/ccYuHakw.s page 49
+
+
+ 1245 .LVL118:
+ 1246 0024 1A70 strb r2, [r3]
+ 1247 .LVL119:
+1485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 1248 .loc 1 1485 0
+ 1249 0026 2834 adds r4, r4, #40
+ 1250 0028 2570 strb r5, [r4]
+1486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U)
+ 1251 .loc 1 1487 0
+ 1252 002a 002D cmp r5, #0
+ 1253 002c 04D0 beq .L70
+1488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0StartXfer(hpcd->Instance, ep);
+1490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPStartXfer(hpcd->Instance, ep);
+ 1254 .loc 1 1493 0
+ 1255 002e 0068 ldr r0, [r0]
+ 1256 .LVL120:
+ 1257 0030 FFF7FEFF bl USB_EPStartXfer
+ 1258 .LVL121:
+ 1259 .L69:
+1494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1260 .loc 1 1497 0
+ 1261 0034 0020 movs r0, #0
+ 1262 @ sp needed
+ 1263 .LVL122:
+ 1264 0036 70BD pop {r4, r5, r6, pc}
+ 1265 .LVL123:
+ 1266 .L70:
+1489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1267 .loc 1 1489 0
+ 1268 0038 0068 ldr r0, [r0]
+ 1269 .LVL124:
+ 1270 003a FFF7FEFF bl USB_EPStartXfer
+ 1271 .LVL125:
+ 1272 003e F9E7 b .L69
+ 1273 .cfi_endproc
+ 1274 .LFE65:
+ 1276 .section .text.PCD_EP_ISR_Handler,"ax",%progbits
+ 1277 .align 1
+ 1278 .syntax unified
+ 1279 .code 16
+ 1280 .thumb_func
+ 1281 .fpu softvfp
+ 1283 PCD_EP_ISR_Handler:
+ 1284 .LFB72:
+1498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Set a STALL condition over an endpoint
+1501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+ ARM GAS /tmp/ccYuHakw.s page 50
+
+
+1503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
+1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints)
+1510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+1512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U)
+1515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+1518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr];
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+1523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_stall = 1U;
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+1527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+1529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPSetStall(hpcd->Instance, ep);
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U)
+1532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t *)hpcd->Setup);
+1534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+1536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Clear a STALL condition over in an endpoint
+1542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
+1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints)
+1551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_ERROR;
+1553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((0x80U & ep_addr) == 0x80U)
+1556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+1559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ ARM GAS /tmp/ccYuHakw.s page 51
+
+
+1560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK];
+1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+1564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_stall = 0U;
+1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+1568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_LOCK(hpcd);
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep);
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+1572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Flush an endpoint
+1578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param ep_addr endpoint address
+1580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr)
+1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+1585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(hpcd);
+1586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** UNUSED(ep_addr);
+1587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Activate remote wakeup signalling
+1593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_ActivateRemoteWakeup(PCD_HandleTypeDef *hpcd)
+1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance));
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief De-activate remote wakeup signalling.
+1603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_StatusTypeDef HAL_PCD_DeActivateRemoteWakeup(PCD_HandleTypeDef *hpcd)
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance));
+1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+1613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @defgroup PCD_Exported_Functions_Group4 Peripheral State functions
+1616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Peripheral State functions
+ ARM GAS /tmp/ccYuHakw.s page 52
+
+
+1617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** *
+1618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @verbatim
+1619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+1620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ##### Peripheral State functions #####
+1621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ===============================================================================
+1622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** [..]
+1623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** This subsection permits to get in run-time the status of the peripheral
+1624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** and the data flow.
+1625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** @endverbatim
+1627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+1628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief Return the PCD handle state.
+1632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL state
+1634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_StateTypeDef HAL_PCD_GetState(PCD_HandleTypeDef *hpcd)
+1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->State;
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+1642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @}
+1646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Private functions ---------------------------------------------------------*/
+1649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /** @addtogroup PCD_Private_Functions
+1650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @{
+1651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /**
+1655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @brief This function handles PCD Endpoint interrupt request.
+1656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @param hpcd PCD handle
+1657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** * @retval HAL status
+1658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** */
+1659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** static HAL_StatusTypeDef PCD_EP_ISR_Handler(PCD_HandleTypeDef *hpcd)
+1660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1285 .loc 1 1660 0
+ 1286 .cfi_startproc
+ 1287 @ args = 0, pretend = 0, frame = 0
+ 1288 @ frame_needed = 0, uses_anonymous_args = 0
+ 1289 .LVL126:
+ 1290 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 1291 .LCFI12:
+ 1292 .cfi_def_cfa_offset 20
+ 1293 .cfi_offset 4, -20
+ 1294 .cfi_offset 5, -16
+ 1295 .cfi_offset 6, -12
+ 1296 .cfi_offset 7, -8
+ 1297 .cfi_offset 14, -4
+ ARM GAS /tmp/ccYuHakw.s page 53
+
+
+ 1298 0002 C646 mov lr, r8
+ 1299 0004 00B5 push {lr}
+ 1300 .LCFI13:
+ 1301 .cfi_def_cfa_offset 24
+ 1302 .cfi_offset 8, -24
+ 1303 0006 0500 movs r5, r0
+ 1304 .LVL127:
+ 1305 .L72:
+1661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+1662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t count;
+1663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t wIstr;
+1664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint16_t wEPVal;
+1665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** uint8_t epindex;
+1666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* stay in loop while pending interrupts */
+1668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** while ((hpcd->Instance->ISTR & USB_ISTR_CTR) != 0U)
+ 1306 .loc 1 1668 0
+ 1307 0008 2868 ldr r0, [r5]
+ 1308 000a 4423 movs r3, #68
+ 1309 000c C35A ldrh r3, [r0, r3]
+ 1310 000e 1BB2 sxth r3, r3
+ 1311 0010 002B cmp r3, #0
+ 1312 0012 00DB blt .LCB1072
+ 1313 0014 AAE1 b .L92 @long jump
+ 1314 .LCB1072:
+1669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wIstr = hpcd->Instance->ISTR;
+ 1315 .loc 1 1670 0
+ 1316 0016 4423 movs r3, #68
+ 1317 0018 C35A ldrh r3, [r0, r3]
+ 1318 001a 9BB2 uxth r3, r3
+ 1319 .LVL128:
+1671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* extract highest priority endpoint number */
+1672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** epindex = (uint8_t)(wIstr & USB_ISTR_EP_ID);
+ 1320 .loc 1 1672 0
+ 1321 001c 0F24 movs r4, #15
+ 1322 001e 1C40 ands r4, r3
+ 1323 .LVL129:
+1673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (epindex == 0U)
+ 1324 .loc 1 1674 0
+ 1325 0020 00D0 beq .LCB1083
+ 1326 0022 BCE0 b .L73 @long jump
+ 1327 .LCB1083:
+1675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Decode and service control endpoint interrupt */
+1677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR bit = origin of the interrupt */
+1679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wIstr & USB_ISTR_DIR) == 0U)
+ 1328 .loc 1 1679 0
+ 1329 0024 DB06 lsls r3, r3, #27
+ 1330 0026 51D5 bpl .L93
+ 1331 .LVL130:
+1680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 */
+1682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 => IN int */
+ ARM GAS /tmp/ccYuHakw.s page 54
+
+
+1684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 0 implies that (EP_CTR_TX = 1) always */
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_TX_EP_CTR(hpcd->Instance, PCD_ENDP0);
+1686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[0];
+1687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);
+1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count;
+1690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* TX COMPLETE */
+1692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, 0U);
+1694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, 0U);
+1696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((hpcd->USB_Address > 0U) && (ep->xfer_len == 0U))
+1699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->DADDR = ((uint16_t)hpcd->USB_Address | USB_DADDR_EF);
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U;
+1702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 */
+1707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 & CTR_RX => SETUP or OUT int */
+1709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* DIR = 1 & (CTR_TX | CTR_RX) => 2 int pending */
+1710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[0];
+1711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, PCD_ENDP0);
+ 1332 .loc 1 1711 0
+ 1333 0028 0388 ldrh r3, [r0]
+ 1334 002a 9BB2 uxth r3, r3
+ 1335 .LVL131:
+1712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_SETUP) != 0U)
+ 1336 .loc 1 1713 0
+ 1337 002c 1A05 lsls r2, r3, #20
+ 1338 002e 00D5 bpl .LCB1098
+ 1339 0030 7FE0 b .L94 @long jump
+ 1340 .LCB1098:
+1714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Get SETUP Packet*/
+1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
+1717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, (uint8_t *)hpcd->Setup,
+1719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count);
+1720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* SETUP bit kept frozen while CTR_RX = 1*/
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0);
+1723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process SETUP Packet*/
+1725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->SetupStageCallback(hpcd);
+1727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_SetupStageCallback(hpcd);
+1729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 55
+
+
+1732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else if ((wEPVal & USB_EP_CTR_RX) != 0U)
+ 1341 .loc 1 1732 0
+ 1342 0032 1BB2 sxth r3, r3
+ 1343 0034 002B cmp r3, #0
+ 1344 0036 E7DA bge .L72
+ 1345 .LBB2:
+1733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, PCD_ENDP0);
+ 1346 .loc 1 1734 0
+ 1347 0038 0388 ldrh r3, [r0]
+ 1348 .LVL132:
+ 1349 003a CE4A ldr r2, .L97
+ 1350 003c 1340 ands r3, r2
+ 1351 .LVL133:
+ 1352 003e 8022 movs r2, #128
+ 1353 0040 1343 orrs r3, r2
+ 1354 .LVL134:
+ 1355 0042 0380 strh r3, [r0]
+ 1356 .LBE2:
+1735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Get Control Data OUT Packet*/
+1737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
+ 1357 .loc 1 1737 0
+ 1358 0044 2868 ldr r0, [r5]
+ 1359 0046 5023 movs r3, #80
+ 1360 0048 C35A ldrh r3, [r0, r3]
+ 1361 004a 9422 movs r2, #148
+ 1362 004c 5200 lsls r2, r2, #1
+ 1363 004e AA5C ldrb r2, [r5, r2]
+ 1364 0050 D200 lsls r2, r2, #3
+ 1365 0052 9B18 adds r3, r3, r2
+ 1366 0054 1B18 adds r3, r3, r0
+ 1367 0056 C84A ldr r2, .L97+4
+ 1368 0058 9446 mov ip, r2
+ 1369 005a 6344 add r3, r3, ip
+ 1370 005c 1B88 ldrh r3, [r3]
+ 1371 005e 9B05 lsls r3, r3, #22
+ 1372 0060 9B0D lsrs r3, r3, #22
+ 1373 0062 2A00 movs r2, r5
+ 1374 0064 2932 adds r2, r2, #41
+ 1375 0066 FF32 adds r2, r2, #255
+ 1376 0068 D361 str r3, [r2, #28]
+1738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep->xfer_count != 0U) && (ep->xfer_buff != 0U))
+ 1377 .loc 1 1739 0
+ 1378 006a 002B cmp r3, #0
+ 1379 006c 0FD0 beq .L77
+ 1380 .loc 1 1739 0 is_stmt 0 discriminator 1
+ 1381 006e 5169 ldr r1, [r2, #20]
+ 1382 0070 0029 cmp r1, #0
+ 1383 0072 0CD0 beq .L77
+1740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff,
+ 1384 .loc 1 1741 0 is_stmt 1
+ 1385 0074 1400 movs r4, r2
+ 1386 .LVL135:
+ 1387 0076 D288 ldrh r2, [r2, #6]
+ ARM GAS /tmp/ccYuHakw.s page 56
+
+
+ 1388 0078 FFF7FEFF bl USB_ReadPMA
+ 1389 .LVL136:
+1742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count);
+1743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count;
+ 1390 .loc 1 1744 0
+ 1391 007c 6369 ldr r3, [r4, #20]
+ 1392 007e E269 ldr r2, [r4, #28]
+ 1393 0080 9446 mov ip, r2
+ 1394 0082 6344 add r3, r3, ip
+ 1395 0084 6361 str r3, [r4, #20]
+1745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Process Control Data OUT Packet*/
+1747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, 0U);
+1749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, 0U);
+ 1396 .loc 1 1750 0
+ 1397 0086 0021 movs r1, #0
+ 1398 0088 2800 movs r0, r5
+ 1399 008a FFF7FEFF bl HAL_PCD_DataOutStageCallback
+ 1400 .LVL137:
+ 1401 .L77:
+ 1402 .LBB3:
+1751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_CNT(hpcd->Instance, PCD_ENDP0, ep->maxpacket);
+ 1403 .loc 1 1754 0
+ 1404 008e 2B68 ldr r3, [r5]
+ 1405 .LVL138:
+ 1406 0090 5022 movs r2, #80
+ 1407 0092 9A5A ldrh r2, [r3, r2]
+ 1408 0094 9B18 adds r3, r3, r2
+ 1409 .LVL139:
+ 1410 0096 B84A ldr r2, .L97+4
+ 1411 0098 9446 mov ip, r2
+ 1412 009a 6344 add r3, r3, ip
+ 1413 .LVL140:
+ 1414 .LBB4:
+ 1415 009c 2A00 movs r2, r5
+ 1416 009e 2932 adds r2, r2, #41
+ 1417 00a0 FF32 adds r2, r2, #255
+ 1418 00a2 1269 ldr r2, [r2, #16]
+ 1419 00a4 002A cmp r2, #0
+ 1420 00a6 67D1 bne .L78
+ 1421 .loc 1 1754 0 is_stmt 0 discriminator 1
+ 1422 00a8 1A88 ldrh r2, [r3]
+ 1423 00aa B449 ldr r1, .L97+8
+ 1424 00ac 1140 ands r1, r2
+ 1425 00ae B44A ldr r2, .L97+12
+ 1426 00b0 0A43 orrs r2, r1
+ 1427 00b2 1A80 strh r2, [r3]
+ 1428 .L79:
+ 1429 .LBE4:
+ 1430 .LBE3:
+ 1431 .LBB6:
+ ARM GAS /tmp/ccYuHakw.s page 57
+
+
+1755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1432 .loc 1 1755 0 is_stmt 1
+ 1433 00b4 2968 ldr r1, [r5]
+ 1434 00b6 0A88 ldrh r2, [r1]
+ 1435 00b8 B24B ldr r3, .L97+16
+ 1436 .LVL141:
+ 1437 00ba 1A40 ands r2, r3
+ 1438 .LVL142:
+ 1439 00bc C023 movs r3, #192
+ 1440 00be 9B01 lsls r3, r3, #6
+ 1441 00c0 5A40 eors r2, r3
+ 1442 .LVL143:
+ 1443 00c2 B14B ldr r3, .L97+20
+ 1444 00c4 1343 orrs r3, r2
+ 1445 00c6 9BB2 uxth r3, r3
+ 1446 00c8 0B80 strh r3, [r1]
+ 1447 00ca 9DE7 b .L72
+ 1448 .LVL144:
+ 1449 .L93:
+ 1450 .LBE6:
+ 1451 .LBB7:
+1685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[0];
+ 1452 .loc 1 1685 0
+ 1453 00cc 0388 ldrh r3, [r0]
+ 1454 00ce AF4A ldr r2, .L97+24
+ 1455 00d0 1A40 ands r2, r3
+ 1456 .LVL145:
+ 1457 00d2 AB4B ldr r3, .L97+12
+ 1458 00d4 1343 orrs r3, r2
+ 1459 00d6 9BB2 uxth r3, r3
+ 1460 00d8 0380 strh r3, [r0]
+ 1461 .LVL146:
+ 1462 .LBE7:
+1688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count;
+ 1463 .loc 1 1688 0
+ 1464 00da 2968 ldr r1, [r5]
+ 1465 00dc 5023 movs r3, #80
+ 1466 00de CB5A ldrh r3, [r1, r3]
+ 1467 00e0 2822 movs r2, #40
+ 1468 .LVL147:
+ 1469 00e2 AA5C ldrb r2, [r5, r2]
+ 1470 00e4 D200 lsls r2, r2, #3
+ 1471 00e6 9B18 adds r3, r3, r2
+ 1472 00e8 5B18 adds r3, r3, r1
+ 1473 00ea A94A ldr r2, .L97+28
+ 1474 00ec 9446 mov ip, r2
+ 1475 00ee 6344 add r3, r3, ip
+ 1476 00f0 1B88 ldrh r3, [r3]
+ 1477 00f2 9B05 lsls r3, r3, #22
+ 1478 00f4 9B0D lsrs r3, r3, #22
+ 1479 00f6 6B64 str r3, [r5, #68]
+1689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 1480 .loc 1 1689 0
+ 1481 00f8 EA6B ldr r2, [r5, #60]
+ 1482 00fa 9446 mov ip, r2
+ 1483 00fc 6344 add r3, r3, ip
+ 1484 00fe EB63 str r3, [r5, #60]
+ ARM GAS /tmp/ccYuHakw.s page 58
+
+
+1695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 1485 .loc 1 1695 0
+ 1486 0100 0021 movs r1, #0
+ 1487 0102 2800 movs r0, r5
+ 1488 0104 FFF7FEFF bl HAL_PCD_DataInStageCallback
+ 1489 .LVL148:
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1490 .loc 1 1698 0
+ 1491 0108 2423 movs r3, #36
+ 1492 010a EB5C ldrb r3, [r5, r3]
+ 1493 010c 002B cmp r3, #0
+ 1494 010e 00D1 bne .LCB1270
+ 1495 0110 7AE7 b .L72 @long jump
+ 1496 .LCB1270:
+1698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1497 .loc 1 1698 0 is_stmt 0 discriminator 1
+ 1498 0112 2B6C ldr r3, [r5, #64]
+ 1499 0114 002B cmp r3, #0
+ 1500 0116 00D0 beq .LCB1274
+ 1501 0118 76E7 b .L72 @long jump
+ 1502 .LCB1274:
+1700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->USB_Address = 0U;
+ 1503 .loc 1 1700 0 is_stmt 1
+ 1504 011a 2422 movs r2, #36
+ 1505 011c AB5C ldrb r3, [r5, r2]
+ 1506 011e 8021 movs r1, #128
+ 1507 0120 4942 rsbs r1, r1, #0
+ 1508 0122 0B43 orrs r3, r1
+ 1509 0124 DBB2 uxtb r3, r3
+ 1510 0126 CC31 adds r1, r1, #204
+ 1511 0128 2868 ldr r0, [r5]
+ 1512 012a 4352 strh r3, [r0, r1]
+1701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1513 .loc 1 1701 0
+ 1514 012c 0023 movs r3, #0
+ 1515 012e AB54 strb r3, [r5, r2]
+ 1516 0130 6AE7 b .L72
+ 1517 .LVL149:
+ 1518 .L94:
+1716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 1519 .loc 1 1716 0
+ 1520 0132 5023 movs r3, #80
+ 1521 .LVL150:
+ 1522 0134 C35A ldrh r3, [r0, r3]
+ 1523 0136 9422 movs r2, #148
+ 1524 0138 5200 lsls r2, r2, #1
+ 1525 013a AA5C ldrb r2, [r5, r2]
+ 1526 013c D200 lsls r2, r2, #3
+ 1527 013e 9B18 adds r3, r3, r2
+ 1528 0140 1B18 adds r3, r3, r0
+ 1529 0142 8D4A ldr r2, .L97+4
+ 1530 0144 9446 mov ip, r2
+ 1531 0146 6344 add r3, r3, ip
+ 1532 0148 1B88 ldrh r3, [r3]
+ 1533 014a 9B05 lsls r3, r3, #22
+ 1534 014c 9B0D lsrs r3, r3, #22
+ 1535 014e 2A00 movs r2, r5
+ ARM GAS /tmp/ccYuHakw.s page 59
+
+
+ 1536 0150 2932 adds r2, r2, #41
+ 1537 0152 FF32 adds r2, r2, #255
+ 1538 0154 D361 str r3, [r2, #28]
+1718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->pmaadress, (uint16_t)ep->xfer_count);
+ 1539 .loc 1 1718 0
+ 1540 0156 8C21 movs r1, #140
+ 1541 0158 8900 lsls r1, r1, #2
+ 1542 015a 6918 adds r1, r5, r1
+ 1543 015c D288 ldrh r2, [r2, #6]
+ 1544 015e FFF7FEFF bl USB_ReadPMA
+ 1545 .LVL151:
+ 1546 .LBB8:
+1722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 1547 .loc 1 1722 0
+ 1548 0162 2A68 ldr r2, [r5]
+ 1549 0164 1388 ldrh r3, [r2]
+ 1550 0166 8349 ldr r1, .L97
+ 1551 0168 0B40 ands r3, r1
+ 1552 .LVL152:
+ 1553 016a 8021 movs r1, #128
+ 1554 016c 0B43 orrs r3, r1
+ 1555 .LVL153:
+ 1556 016e 1380 strh r3, [r2]
+ 1557 .LBE8:
+1728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 1558 .loc 1 1728 0
+ 1559 0170 2800 movs r0, r5
+ 1560 0172 FFF7FEFF bl HAL_PCD_SetupStageCallback
+ 1561 .LVL154:
+ 1562 0176 47E7 b .L72
+ 1563 .LVL155:
+ 1564 .L78:
+ 1565 .LBB9:
+ 1566 .LBB5:
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1567 .loc 1 1754 0 discriminator 2
+ 1568 0178 3E2A cmp r2, #62
+ 1569 017a 06D8 bhi .L80
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1570 .loc 1 1754 0 is_stmt 0 discriminator 3
+ 1571 017c 5108 lsrs r1, r2, #1
+ 1572 .LVL156:
+ 1573 017e D207 lsls r2, r2, #31
+ 1574 0180 00D5 bpl .L81
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1575 .loc 1 1754 0 discriminator 5
+ 1576 0182 0131 adds r1, r1, #1
+ 1577 .LVL157:
+ 1578 .L81:
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1579 .loc 1 1754 0 discriminator 7
+ 1580 0184 8902 lsls r1, r1, #10
+ 1581 .LVL158:
+ 1582 0186 1980 strh r1, [r3]
+ 1583 0188 94E7 b .L79
+ 1584 .L80:
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ ARM GAS /tmp/ccYuHakw.s page 60
+
+
+ 1585 .loc 1 1754 0 discriminator 4
+ 1586 018a 5109 lsrs r1, r2, #5
+ 1587 .LVL159:
+ 1588 018c D206 lsls r2, r2, #27
+ 1589 018e 00D1 bne .L82
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1590 .loc 1 1754 0 discriminator 8
+ 1591 0190 0139 subs r1, r1, #1
+ 1592 .LVL160:
+ 1593 .L82:
+1754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_SET_EP_RX_STATUS(hpcd->Instance, PCD_ENDP0, USB_EP_RX_VALID);
+ 1594 .loc 1 1754 0 discriminator 10
+ 1595 0192 8902 lsls r1, r1, #10
+ 1596 .LVL161:
+ 1597 0194 89B2 uxth r1, r1
+ 1598 0196 7A4A ldr r2, .L97+12
+ 1599 0198 1143 orrs r1, r2
+ 1600 019a 1980 strh r1, [r3]
+ 1601 019c 8AE7 b .L79
+ 1602 .LVL162:
+ 1603 .L73:
+ 1604 .LBE5:
+ 1605 .LBE9:
+1756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Decode and service non control endpoints interrupt */
+1762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* process related endpoint register */
+1764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** wEPVal = PCD_GET_ENDPOINT(hpcd->Instance, epindex);
+ 1606 .loc 1 1764 0 is_stmt 1
+ 1607 019e A300 lsls r3, r4, #2
+ 1608 .LVL163:
+ 1609 01a0 9846 mov r8, r3
+ 1610 01a2 4044 add r0, r0, r8
+ 1611 01a4 0688 ldrh r6, [r0]
+ 1612 01a6 B6B2 uxth r6, r6
+ 1613 .LVL164:
+1765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_CTR_RX) != 0U)
+ 1614 .loc 1 1765 0
+ 1615 01a8 33B2 sxth r3, r6
+ 1616 01aa 002B cmp r3, #0
+ 1617 01ac 30DB blt .L95
+ 1618 .L83:
+1766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear int flag */
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_RX_EP_CTR(hpcd->Instance, epindex);
+1769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epindex];
+1770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* OUT double Buffering*/
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->doublebuffer == 0U)
+1773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_RX_CNT(hpcd->Instance, ep->num);
+1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+1776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ ARM GAS /tmp/ccYuHakw.s page 61
+
+
+1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaadress, count);
+1778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((PCD_GET_ENDPOINT(hpcd->Instance, ep->num) & USB_EP_DTOG_RX) != 0U)
+1783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*read from endpoint BUF0Addr buffer*/
+1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_DBUF0_CNT(hpcd->Instance, ep->num);
+1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+1787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr0, count);
+1789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*read from endpoint BUF1Addr buffer*/
+1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** count = (uint16_t)PCD_GET_EP_DBUF1_CNT(hpcd->Instance, ep->num);
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+1796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** USB_ReadPMA(hpcd->Instance, ep->xfer_buff, ep->pmaaddr1, count);
+1798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* free EP OUT Buffer */
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_FreeUserBuffer(hpcd->Instance, ep->num, 0U);
+1802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*multi-packet on the NON control OUT endpoint*/
+1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count += count;
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += count;
+1806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep->xfer_len == 0U) || (count < ep->maxpacket))
+1808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* RX COMPLETE */
+1810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataOutStageCallback(hpcd, ep->num);
+1812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataOutStageCallback(hpcd, ep->num);
+1814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_EP_Receive(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);
+1819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** } /* if((wEPVal & EP_CTR_RX) */
+1822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((wEPVal & USB_EP_CTR_TX) != 0U)
+ 1619 .loc 1 1823 0
+ 1620 01ae 3306 lsls r3, r6, #24
+ 1621 01b0 00D4 bmi .LCB1430
+ 1622 01b2 29E7 b .L72 @long jump
+ 1623 .LCB1430:
+ 1624 .LVL165:
+ 1625 .LBB10:
+1824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->IN_ep[epindex];
+1826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ ARM GAS /tmp/ccYuHakw.s page 62
+
+
+1827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* clear int flag */
+1828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_CLEAR_TX_EP_CTR(hpcd->Instance, epindex);
+ 1626 .loc 1 1828 0
+ 1627 01b4 2B68 ldr r3, [r5]
+ 1628 01b6 4344 add r3, r3, r8
+ 1629 01b8 1A00 movs r2, r3
+ 1630 01ba 1B88 ldrh r3, [r3]
+ 1631 01bc 7349 ldr r1, .L97+24
+ 1632 01be 1940 ands r1, r3
+ 1633 .LVL166:
+ 1634 01c0 6F4B ldr r3, .L97+12
+ 1635 01c2 0B43 orrs r3, r1
+ 1636 01c4 9BB2 uxth r3, r3
+ 1637 01c6 1380 strh r3, [r2]
+ 1638 .LBE10:
+1829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /*multi-packet on the NON control IN endpoint*/
+1831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_count = PCD_GET_EP_TX_CNT(hpcd->Instance, ep->num);
+ 1639 .loc 1 1831 0
+ 1640 01c8 2868 ldr r0, [r5]
+ 1641 01ca 5023 movs r3, #80
+ 1642 01cc C35A ldrh r3, [r0, r3]
+ 1643 01ce 6101 lsls r1, r4, #5
+ 1644 .LVL167:
+ 1645 01d0 6918 adds r1, r5, r1
+ 1646 01d2 0A00 movs r2, r1
+ 1647 01d4 2832 adds r2, r2, #40
+ 1648 .LVL168:
+ 1649 01d6 1278 ldrb r2, [r2]
+ 1650 .LVL169:
+ 1651 01d8 D200 lsls r2, r2, #3
+ 1652 01da 9B18 adds r3, r3, r2
+ 1653 01dc 1B18 adds r3, r3, r0
+ 1654 01de 6C4A ldr r2, .L97+28
+ 1655 01e0 9446 mov ip, r2
+ 1656 01e2 6344 add r3, r3, ip
+ 1657 01e4 1A88 ldrh r2, [r3]
+ 1658 01e6 9205 lsls r2, r2, #22
+ 1659 01e8 920D lsrs r2, r2, #22
+ 1660 01ea A31C adds r3, r4, #2
+ 1661 01ec 5B01 lsls r3, r3, #5
+ 1662 01ee E818 adds r0, r5, r3
+ 1663 01f0 4260 str r2, [r0, #4]
+1832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += ep->xfer_count;
+ 1664 .loc 1 1832 0
+ 1665 01f2 C86B ldr r0, [r1, #60]
+ 1666 01f4 8446 mov ip, r0
+ 1667 01f6 6244 add r2, r2, ip
+ 1668 01f8 CA63 str r2, [r1, #60]
+1833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+1834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Zero Length Packet? */
+1835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (ep->xfer_len == 0U)
+ 1669 .loc 1 1835 0
+ 1670 01fa 5B59 ldr r3, [r3, r5]
+ 1671 01fc 002B cmp r3, #0
+ 1672 01fe 00D0 beq .LCB1481
+ 1673 0200 ACE0 b .L90 @long jump
+ ARM GAS /tmp/ccYuHakw.s page 63
+
+
+ 1674 .LCB1481:
+1836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* TX COMPLETE */
+1838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+1839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->DataInStageCallback(hpcd, ep->num);
+1840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #else
+1841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** HAL_PCD_DataInStageCallback(hpcd, ep->num);
+ 1675 .loc 1 1841 0
+ 1676 0202 0C00 movs r4, r1
+ 1677 .LVL170:
+ 1678 0204 2834 adds r4, r4, #40
+ 1679 .LVL171:
+ 1680 0206 2178 ldrb r1, [r4]
+ 1681 0208 2800 movs r0, r5
+ 1682 020a FFF7FEFF bl HAL_PCD_DataInStageCallback
+ 1683 .LVL172:
+ 1684 020e FBE6 b .L72
+ 1685 .LVL173:
+ 1686 .L95:
+ 1687 .LBB11:
+1768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep = &hpcd->OUT_ep[epindex];
+ 1688 .loc 1 1768 0
+ 1689 0210 0388 ldrh r3, [r0]
+ 1690 0212 584A ldr r2, .L97
+ 1691 0214 1340 ands r3, r2
+ 1692 .LVL174:
+ 1693 0216 8022 movs r2, #128
+ 1694 0218 1343 orrs r3, r2
+ 1695 .LVL175:
+ 1696 021a 0380 strh r3, [r0]
+ 1697 .LVL176:
+ 1698 .LBE11:
+1772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1699 .loc 1 1772 0
+ 1700 021c 6301 lsls r3, r4, #5
+ 1701 021e EB18 adds r3, r5, r3
+ 1702 0220 3533 adds r3, r3, #53
+ 1703 0222 FF33 adds r3, r3, #255
+ 1704 0224 1B78 ldrb r3, [r3]
+ 1705 0226 002B cmp r3, #0
+ 1706 0228 1ED1 bne .L84
+1774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+ 1707 .loc 1 1774 0
+ 1708 022a 2868 ldr r0, [r5]
+ 1709 022c 5033 adds r3, r3, #80
+ 1710 022e C35A ldrh r3, [r0, r3]
+ 1711 0230 6201 lsls r2, r4, #5
+ 1712 0232 AA18 adds r2, r5, r2
+ 1713 0234 2932 adds r2, r2, #41
+ 1714 0236 FF32 adds r2, r2, #255
+ 1715 0238 1278 ldrb r2, [r2]
+ 1716 023a D200 lsls r2, r2, #3
+ 1717 023c 9B18 adds r3, r3, r2
+ 1718 023e 1B18 adds r3, r3, r0
+ 1719 0240 4D4A ldr r2, .L97+4
+ 1720 0242 9446 mov ip, r2
+ 1721 0244 6344 add r3, r3, ip
+ ARM GAS /tmp/ccYuHakw.s page 64
+
+
+ 1722 0246 1F88 ldrh r7, [r3]
+ 1723 0248 BF05 lsls r7, r7, #22
+ 1724 024a BF0D lsrs r7, r7, #22
+ 1725 .LVL177:
+1775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1726 .loc 1 1775 0
+ 1727 024c 33D0 beq .L85
+1777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1728 .loc 1 1777 0
+ 1729 024e 6301 lsls r3, r4, #5
+ 1730 0250 EB18 adds r3, r5, r3
+ 1731 0252 1A00 movs r2, r3
+ 1732 0254 2F32 adds r2, r2, #47
+ 1733 0256 FF32 adds r2, r2, #255
+ 1734 0258 1288 ldrh r2, [r2]
+ 1735 025a 3D33 adds r3, r3, #61
+ 1736 025c FF33 adds r3, r3, #255
+ 1737 025e 1968 ldr r1, [r3]
+ 1738 0260 3B00 movs r3, r7
+ 1739 0262 FFF7FEFF bl USB_ReadPMA
+ 1740 .LVL178:
+ 1741 0266 26E0 b .L85
+ 1742 .LVL179:
+ 1743 .L84:
+1782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1744 .loc 1 1782 0
+ 1745 0268 2868 ldr r0, [r5]
+ 1746 026a 6301 lsls r3, r4, #5
+ 1747 026c EB18 adds r3, r5, r3
+ 1748 026e 2933 adds r3, r3, #41
+ 1749 0270 FF33 adds r3, r3, #255
+ 1750 0272 1B78 ldrb r3, [r3]
+ 1751 0274 9A00 lsls r2, r3, #2
+ 1752 0276 8218 adds r2, r0, r2
+ 1753 0278 1288 ldrh r2, [r2]
+ 1754 027a 5204 lsls r2, r2, #17
+ 1755 027c 4BD5 bpl .L86
+1785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+ 1756 .loc 1 1785 0
+ 1757 027e 5022 movs r2, #80
+ 1758 0280 825A ldrh r2, [r0, r2]
+ 1759 0282 DB00 lsls r3, r3, #3
+ 1760 0284 D318 adds r3, r2, r3
+ 1761 0286 1B18 adds r3, r3, r0
+ 1762 0288 414A ldr r2, .L97+28
+ 1763 028a 9446 mov ip, r2
+ 1764 028c 6344 add r3, r3, ip
+ 1765 028e 1F88 ldrh r7, [r3]
+ 1766 0290 BF05 lsls r7, r7, #22
+ 1767 0292 BF0D lsrs r7, r7, #22
+ 1768 .LVL180:
+1786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1769 .loc 1 1786 0
+ 1770 0294 32D1 bne .L96
+ 1771 .L87:
+ 1772 .LBB12:
+1801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ ARM GAS /tmp/ccYuHakw.s page 65
+
+
+ 1773 .loc 1 1801 0 discriminator 1
+ 1774 0296 6301 lsls r3, r4, #5
+ 1775 0298 EB18 adds r3, r5, r3
+ 1776 029a 2933 adds r3, r3, #41
+ 1777 029c FF33 adds r3, r3, #255
+ 1778 029e 1A78 ldrb r2, [r3]
+ 1779 02a0 9200 lsls r2, r2, #2
+ 1780 02a2 2B68 ldr r3, [r5]
+ 1781 02a4 9C46 mov ip, r3
+ 1782 02a6 6244 add r2, r2, ip
+ 1783 02a8 1388 ldrh r3, [r2]
+ 1784 02aa 3A49 ldr r1, .L97+32
+ 1785 02ac 1940 ands r1, r3
+ 1786 .LVL181:
+ 1787 02ae 3A4B ldr r3, .L97+36
+ 1788 02b0 0B43 orrs r3, r1
+ 1789 02b2 9BB2 uxth r3, r3
+ 1790 02b4 1380 strh r3, [r2]
+ 1791 .LVL182:
+ 1792 .L85:
+ 1793 .LBE12:
+1804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->xfer_buff += count;
+ 1794 .loc 1 1804 0
+ 1795 02b6 3900 movs r1, r7
+ 1796 02b8 2000 movs r0, r4
+ 1797 02ba 0A30 adds r0, r0, #10
+ 1798 02bc 4001 lsls r0, r0, #5
+ 1799 02be 2A18 adds r2, r5, r0
+ 1800 02c0 5368 ldr r3, [r2, #4]
+ 1801 02c2 DB19 adds r3, r3, r7
+ 1802 02c4 5360 str r3, [r2, #4]
+1805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 1803 .loc 1 1805 0
+ 1804 02c6 6301 lsls r3, r4, #5
+ 1805 02c8 EB18 adds r3, r5, r3
+ 1806 02ca 3D33 adds r3, r3, #61
+ 1807 02cc FF33 adds r3, r3, #255
+ 1808 02ce 1A68 ldr r2, [r3]
+ 1809 02d0 9446 mov ip, r2
+ 1810 02d2 6744 add r7, r7, ip
+ 1811 .LVL183:
+ 1812 02d4 1F60 str r7, [r3]
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1813 .loc 1 1807 0
+ 1814 02d6 4359 ldr r3, [r0, r5]
+ 1815 02d8 002B cmp r3, #0
+ 1816 02da 06D0 beq .L88
+1807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1817 .loc 1 1807 0 is_stmt 0 discriminator 1
+ 1818 02dc 6201 lsls r2, r4, #5
+ 1819 02de AA18 adds r2, r5, r2
+ 1820 02e0 3932 adds r2, r2, #57
+ 1821 02e2 FF32 adds r2, r2, #255
+ 1822 02e4 1268 ldr r2, [r2]
+ 1823 02e6 9142 cmp r1, r2
+ 1824 02e8 2ED2 bcs .L89
+ 1825 .L88:
+ ARM GAS /tmp/ccYuHakw.s page 66
+
+
+1813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 1826 .loc 1 1813 0 is_stmt 1
+ 1827 02ea 6301 lsls r3, r4, #5
+ 1828 02ec EB18 adds r3, r5, r3
+ 1829 02ee 2933 adds r3, r3, #41
+ 1830 02f0 FF33 adds r3, r3, #255
+ 1831 02f2 1978 ldrb r1, [r3]
+ 1832 02f4 2800 movs r0, r5
+ 1833 02f6 FFF7FEFF bl HAL_PCD_DataOutStageCallback
+ 1834 .LVL184:
+ 1835 02fa 58E7 b .L83
+ 1836 .LVL185:
+ 1837 .L96:
+1788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1838 .loc 1 1788 0
+ 1839 02fc 6301 lsls r3, r4, #5
+ 1840 02fe EB18 adds r3, r5, r3
+ 1841 0300 1A00 movs r2, r3
+ 1842 0302 3132 adds r2, r2, #49
+ 1843 0304 FF32 adds r2, r2, #255
+ 1844 0306 1288 ldrh r2, [r2]
+ 1845 0308 3D33 adds r3, r3, #61
+ 1846 030a FF33 adds r3, r3, #255
+ 1847 030c 1968 ldr r1, [r3]
+ 1848 030e 3B00 movs r3, r7
+ 1849 0310 FFF7FEFF bl USB_ReadPMA
+ 1850 .LVL186:
+ 1851 0314 BFE7 b .L87
+ 1852 .LVL187:
+ 1853 .L86:
+1794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (count != 0U)
+ 1854 .loc 1 1794 0
+ 1855 0316 5022 movs r2, #80
+ 1856 0318 825A ldrh r2, [r0, r2]
+ 1857 031a DB00 lsls r3, r3, #3
+ 1858 031c D318 adds r3, r2, r3
+ 1859 031e 1B18 adds r3, r3, r0
+ 1860 0320 154A ldr r2, .L97+4
+ 1861 0322 9446 mov ip, r2
+ 1862 0324 6344 add r3, r3, ip
+ 1863 0326 1F88 ldrh r7, [r3]
+ 1864 0328 BF05 lsls r7, r7, #22
+ 1865 032a BF0D lsrs r7, r7, #22
+ 1866 .LVL188:
+1795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1867 .loc 1 1795 0
+ 1868 032c B3D0 beq .L87
+1797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1869 .loc 1 1797 0
+ 1870 032e 6301 lsls r3, r4, #5
+ 1871 0330 EB18 adds r3, r5, r3
+ 1872 0332 1A00 movs r2, r3
+ 1873 0334 3332 adds r2, r2, #51
+ 1874 0336 FF32 adds r2, r2, #255
+ 1875 0338 1288 ldrh r2, [r2]
+ 1876 033a 3D33 adds r3, r3, #61
+ 1877 033c FF33 adds r3, r3, #255
+ ARM GAS /tmp/ccYuHakw.s page 67
+
+
+ 1878 033e 1968 ldr r1, [r3]
+ 1879 0340 3B00 movs r3, r7
+ 1880 0342 FFF7FEFF bl USB_ReadPMA
+ 1881 .LVL189:
+ 1882 0346 A6E7 b .L87
+ 1883 .LVL190:
+ 1884 .L89:
+1818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1885 .loc 1 1818 0
+ 1886 0348 6201 lsls r2, r4, #5
+ 1887 034a AA18 adds r2, r5, r2
+ 1888 034c 2932 adds r2, r2, #41
+ 1889 034e FF32 adds r2, r2, #255
+ 1890 0350 1178 ldrb r1, [r2]
+ 1891 0352 3A00 movs r2, r7
+ 1892 0354 2800 movs r0, r5
+ 1893 0356 FFF7FEFF bl HAL_PCD_EP_Receive
+ 1894 .LVL191:
+ 1895 035a 28E7 b .L83
+ 1896 .LVL192:
+ 1897 .L90:
+1842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+1843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** else
+1845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+1846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)HAL_PCD_EP_Transmit(hpcd, ep->num, ep->xfer_buff, ep->xfer_len);
+ 1898 .loc 1 1846 0
+ 1899 035c 6401 lsls r4, r4, #5
+ 1900 .LVL193:
+ 1901 035e 2C19 adds r4, r5, r4
+ 1902 0360 2834 adds r4, r4, #40
+ 1903 0362 2178 ldrb r1, [r4]
+ 1904 0364 2800 movs r0, r5
+ 1905 0366 FFF7FEFF bl HAL_PCD_EP_Transmit
+ 1906 .LVL194:
+ 1907 036a 4DE6 b .L72
+ 1908 .LVL195:
+ 1909 .L92:
+1847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+1851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return HAL_OK;
+1852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1910 .loc 1 1852 0
+ 1911 036c 0020 movs r0, #0
+ 1912 @ sp needed
+ 1913 .LVL196:
+ 1914 036e 04BC pop {r2}
+ 1915 0370 9046 mov r8, r2
+ 1916 0372 F0BD pop {r4, r5, r6, r7, pc}
+ 1917 .L98:
+ 1918 .align 2
+ 1919 .L97:
+ 1920 0374 8F0F0000 .word 3983
+ 1921 0378 06040000 .word 1030
+ 1922 037c FF83FFFF .word -31745
+ ARM GAS /tmp/ccYuHakw.s page 68
+
+
+ 1923 0380 0080FFFF .word -32768
+ 1924 0384 8FBFFFFF .word -16497
+ 1925 0388 8080FFFF .word -32640
+ 1926 038c 0F8FFFFF .word -28913
+ 1927 0390 02040000 .word 1026
+ 1928 0394 8F8FFFFF .word -28785
+ 1929 0398 C080FFFF .word -32576
+ 1930 .cfi_endproc
+ 1931 .LFE72:
+ 1933 .section .text.HAL_PCD_IRQHandler,"ax",%progbits
+ 1934 .align 1
+ 1935 .global HAL_PCD_IRQHandler
+ 1936 .syntax unified
+ 1937 .code 16
+ 1938 .thumb_func
+ 1939 .fpu softvfp
+ 1941 HAL_PCD_IRQHandler:
+ 1942 .LFB46:
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (__HAL_PCD_GET_FLAG(hpcd, USB_ISTR_CTR))
+ 1943 .loc 1 995 0
+ 1944 .cfi_startproc
+ 1945 @ args = 0, pretend = 0, frame = 0
+ 1946 @ frame_needed = 0, uses_anonymous_args = 0
+ 1947 .LVL197:
+ 1948 0000 70B5 push {r4, r5, r6, lr}
+ 1949 .LCFI14:
+ 1950 .cfi_def_cfa_offset 16
+ 1951 .cfi_offset 4, -16
+ 1952 .cfi_offset 5, -12
+ 1953 .cfi_offset 6, -8
+ 1954 .cfi_offset 14, -4
+ 1955 0002 0400 movs r4, r0
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1956 .loc 1 996 0
+ 1957 0004 0068 ldr r0, [r0]
+ 1958 .LVL198:
+ 1959 0006 FFF7FEFF bl USB_ReadInterrupts
+ 1960 .LVL199:
+ 1961 000a 0304 lsls r3, r0, #16
+ 1962 000c 00D5 bpl .LCB1807
+ 1963 000e 7BE0 b .L111 @long jump
+ 1964 .LCB1807:
+ 1965 .L100:
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1966 .loc 1 1003 0
+ 1967 0010 2068 ldr r0, [r4]
+ 1968 0012 FFF7FEFF bl USB_ReadInterrupts
+ 1969 .LVL200:
+ 1970 0016 4305 lsls r3, r0, #21
+ 1971 0018 00D5 bpl .LCB1816
+ 1972 001a 79E0 b .L112 @long jump
+ 1973 .LCB1816:
+ 1974 .L101:
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1975 .loc 1 1016 0
+ 1976 001c 2068 ldr r0, [r4]
+ 1977 001e FFF7FEFF bl USB_ReadInterrupts
+ ARM GAS /tmp/ccYuHakw.s page 69
+
+
+ 1978 .LVL201:
+ 1979 0022 4304 lsls r3, r0, #17
+ 1980 0024 05D5 bpl .L102
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1981 .loc 1 1018 0
+ 1982 0026 2168 ldr r1, [r4]
+ 1983 0028 4422 movs r2, #68
+ 1984 002a 8B5A ldrh r3, [r1, r2]
+ 1985 002c 5848 ldr r0, .L116
+ 1986 002e 0340 ands r3, r0
+ 1987 0030 8B52 strh r3, [r1, r2]
+ 1988 .L102:
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 1989 .loc 1 1021 0
+ 1990 0032 2068 ldr r0, [r4]
+ 1991 0034 FFF7FEFF bl USB_ReadInterrupts
+ 1992 .LVL202:
+ 1993 0038 8304 lsls r3, r0, #18
+ 1994 003a 05D5 bpl .L103
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 1995 .loc 1 1023 0
+ 1996 003c 2168 ldr r1, [r4]
+ 1997 003e 4422 movs r2, #68
+ 1998 0040 8B5A ldrh r3, [r1, r2]
+ 1999 0042 5448 ldr r0, .L116+4
+ 2000 0044 0340 ands r3, r0
+ 2001 0046 8B52 strh r3, [r1, r2]
+ 2002 .L103:
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2003 .loc 1 1026 0
+ 2004 0048 2068 ldr r0, [r4]
+ 2005 004a FFF7FEFF bl USB_ReadInterrupts
+ 2006 .LVL203:
+ 2007 004e C304 lsls r3, r0, #19
+ 2008 0050 18D5 bpl .L104
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR &= (uint16_t) ~(USB_CNTR_FSUSP);
+ 2009 .loc 1 1028 0
+ 2010 0052 2168 ldr r1, [r4]
+ 2011 0054 4023 movs r3, #64
+ 2012 0056 CA5A ldrh r2, [r1, r3]
+ 2013 0058 0420 movs r0, #4
+ 2014 005a 8243 bics r2, r0
+ 2015 005c CA52 strh r2, [r1, r3]
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2016 .loc 1 1029 0
+ 2017 005e 2168 ldr r1, [r4]
+ 2018 0060 CA5A ldrh r2, [r1, r3]
+ 2019 0062 0430 adds r0, r0, #4
+ 2020 0064 8243 bics r2, r0
+ 2021 0066 CA52 strh r2, [r1, r3]
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2022 .loc 1 1031 0
+ 2023 0068 9823 movs r3, #152
+ 2024 006a 9B00 lsls r3, r3, #2
+ 2025 006c E35C ldrb r3, [r4, r3]
+ 2026 006e 012B cmp r3, #1
+ 2027 0070 5CD0 beq .L113
+ ARM GAS /tmp/ccYuHakw.s page 70
+
+
+ 2028 .L105:
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2029 .loc 1 1044 0
+ 2030 0072 2000 movs r0, r4
+ 2031 0074 FFF7FEFF bl HAL_PCD_ResumeCallback
+ 2032 .LVL204:
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2033 .loc 1 1047 0
+ 2034 0078 2168 ldr r1, [r4]
+ 2035 007a 4422 movs r2, #68
+ 2036 007c 8B5A ldrh r3, [r1, r2]
+ 2037 007e 4648 ldr r0, .L116+8
+ 2038 0080 0340 ands r3, r0
+ 2039 0082 8B52 strh r3, [r1, r2]
+ 2040 .L104:
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2041 .loc 1 1050 0
+ 2042 0084 2068 ldr r0, [r4]
+ 2043 0086 FFF7FEFF bl USB_ReadInterrupts
+ 2044 .LVL205:
+ 2045 008a 0305 lsls r3, r0, #20
+ 2046 008c 57D4 bmi .L114
+ 2047 .L106:
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2048 .loc 1 1071 0
+ 2049 008e 2068 ldr r0, [r4]
+ 2050 0090 FFF7FEFF bl USB_ReadInterrupts
+ 2051 .LVL206:
+ 2052 0094 0306 lsls r3, r0, #24
+ 2053 0096 26D5 bpl .L107
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if (hpcd->LPM_State == LPM_L0)
+ 2054 .loc 1 1073 0
+ 2055 0098 2168 ldr r1, [r4]
+ 2056 009a 4422 movs r2, #68
+ 2057 009c 8B5A ldrh r3, [r1, r2]
+ 2058 009e 8020 movs r0, #128
+ 2059 00a0 8343 bics r3, r0
+ 2060 00a2 8B52 strh r3, [r1, r2]
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2061 .loc 1 1074 0
+ 2062 00a4 9823 movs r3, #152
+ 2063 00a6 9B00 lsls r3, r3, #2
+ 2064 00a8 E35C ldrb r3, [r4, r3]
+ 2065 00aa 002B cmp r3, #0
+ 2066 00ac 62D1 bne .L108
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->Instance->CNTR |= USB_CNTR_FSUSP;
+ 2067 .loc 1 1077 0
+ 2068 00ae 2168 ldr r1, [r4]
+ 2069 00b0 4033 adds r3, r3, #64
+ 2070 00b2 CA5A ldrh r2, [r1, r3]
+ 2071 00b4 0420 movs r0, #4
+ 2072 00b6 0243 orrs r2, r0
+ 2073 00b8 CA52 strh r2, [r1, r3]
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2074 .loc 1 1078 0
+ 2075 00ba 2168 ldr r1, [r4]
+ 2076 00bc CA5A ldrh r2, [r1, r3]
+ ARM GAS /tmp/ccYuHakw.s page 71
+
+
+ 2077 00be 0820 movs r0, #8
+ 2078 00c0 0243 orrs r2, r0
+ 2079 00c2 CA52 strh r2, [r1, r3]
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** hpcd->BESL = ((uint32_t)hpcd->Instance->LPMCSR & USB_LPMCSR_BESL) >> 2;
+ 2080 .loc 1 1080 0
+ 2081 00c4 9823 movs r3, #152
+ 2082 00c6 9B00 lsls r3, r3, #2
+ 2083 00c8 0122 movs r2, #1
+ 2084 00ca E254 strb r2, [r4, r3]
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 2085 .loc 1 1081 0
+ 2086 00cc 5423 movs r3, #84
+ 2087 00ce 2268 ldr r2, [r4]
+ 2088 00d0 D25A ldrh r2, [r2, r3]
+ 2089 00d2 9208 lsrs r2, r2, #2
+ 2090 00d4 183B subs r3, r3, #24
+ 2091 00d6 1340 ands r3, r2
+ 2092 00d8 9922 movs r2, #153
+ 2093 00da 9200 lsls r2, r2, #2
+ 2094 00dc A350 str r3, [r4, r2]
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2095 .loc 1 1085 0
+ 2096 00de 0121 movs r1, #1
+ 2097 00e0 2000 movs r0, r4
+ 2098 00e2 FFF7FEFF bl HAL_PCDEx_LPM_Callback
+ 2099 .LVL207:
+ 2100 .L107:
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2101 .loc 1 1098 0
+ 2102 00e6 2068 ldr r0, [r4]
+ 2103 00e8 FFF7FEFF bl USB_ReadInterrupts
+ 2104 .LVL208:
+ 2105 00ec 8305 lsls r3, r0, #22
+ 2106 00ee 45D4 bmi .L115
+ 2107 .L109:
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2108 .loc 1 1109 0
+ 2109 00f0 2068 ldr r0, [r4]
+ 2110 00f2 FFF7FEFF bl USB_ReadInterrupts
+ 2111 .LVL209:
+ 2112 00f6 C305 lsls r3, r0, #23
+ 2113 00f8 05D5 bpl .L99
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2114 .loc 1 1112 0
+ 2115 00fa 2168 ldr r1, [r4]
+ 2116 00fc 4422 movs r2, #68
+ 2117 00fe 8B5A ldrh r3, [r1, r2]
+ 2118 0100 2648 ldr r0, .L116+12
+ 2119 0102 0340 ands r3, r0
+ 2120 0104 8B52 strh r3, [r1, r2]
+ 2121 .L99:
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2122 .loc 1 1114 0
+ 2123 @ sp needed
+ 2124 .LVL210:
+ 2125 0106 70BD pop {r4, r5, r6, pc}
+ 2126 .LVL211:
+ ARM GAS /tmp/ccYuHakw.s page 72
+
+
+ 2127 .L111:
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2128 .loc 1 1000 0
+ 2129 0108 2000 movs r0, r4
+ 2130 010a FFF7FEFF bl PCD_EP_ISR_Handler
+ 2131 .LVL212:
+ 2132 010e 7FE7 b .L100
+ 2133 .L112:
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2134 .loc 1 1005 0
+ 2135 0110 2168 ldr r1, [r4]
+ 2136 0112 4422 movs r2, #68
+ 2137 0114 8B5A ldrh r3, [r1, r2]
+ 2138 0116 2248 ldr r0, .L116+16
+ 2139 0118 0340 ands r3, r0
+ 2140 011a 8B52 strh r3, [r1, r2]
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2141 .loc 1 1010 0
+ 2142 011c 2000 movs r0, r4
+ 2143 011e FFF7FEFF bl HAL_PCD_ResetCallback
+ 2144 .LVL213:
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2145 .loc 1 1013 0
+ 2146 0122 0021 movs r1, #0
+ 2147 0124 2000 movs r0, r4
+ 2148 0126 FFF7FEFF bl HAL_PCD_SetAddress
+ 2149 .LVL214:
+ 2150 012a 77E7 b .L101
+ 2151 .L113:
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 2152 .loc 1 1033 0
+ 2153 012c 9823 movs r3, #152
+ 2154 012e 9B00 lsls r3, r3, #2
+ 2155 0130 0022 movs r2, #0
+ 2156 0132 E254 strb r2, [r4, r3]
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2157 .loc 1 1037 0
+ 2158 0134 0021 movs r1, #0
+ 2159 0136 2000 movs r0, r4
+ 2160 0138 FFF7FEFF bl HAL_PCDEx_LPM_Callback
+ 2161 .LVL215:
+ 2162 013c 99E7 b .L105
+ 2163 .L114:
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2164 .loc 1 1053 0
+ 2165 013e 2168 ldr r1, [r4]
+ 2166 0140 4023 movs r3, #64
+ 2167 0142 CA5A ldrh r2, [r1, r3]
+ 2168 0144 0820 movs r0, #8
+ 2169 0146 0243 orrs r2, r0
+ 2170 0148 CA52 strh r2, [r1, r3]
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2171 .loc 1 1056 0
+ 2172 014a 2068 ldr r0, [r4]
+ 2173 014c 4421 movs r1, #68
+ 2174 014e 425A ldrh r2, [r0, r1]
+ 2175 0150 144D ldr r5, .L116+20
+ ARM GAS /tmp/ccYuHakw.s page 73
+
+
+ 2176 0152 2A40 ands r2, r5
+ 2177 0154 4252 strh r2, [r0, r1]
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2178 .loc 1 1058 0
+ 2179 0156 2168 ldr r1, [r4]
+ 2180 0158 CA5A ldrh r2, [r1, r3]
+ 2181 015a 0420 movs r0, #4
+ 2182 015c 0243 orrs r2, r0
+ 2183 015e CA52 strh r2, [r1, r3]
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2184 .loc 1 1060 0
+ 2185 0160 2068 ldr r0, [r4]
+ 2186 0162 FFF7FEFF bl USB_ReadInterrupts
+ 2187 .LVL216:
+ 2188 0166 C304 lsls r3, r0, #19
+ 2189 0168 00D5 bpl .LCB2071
+ 2190 016a 90E7 b .L106 @long jump
+ 2191 .LCB2071:
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2192 .loc 1 1065 0
+ 2193 016c 2000 movs r0, r4
+ 2194 016e FFF7FEFF bl HAL_PCD_SuspendCallback
+ 2195 .LVL217:
+ 2196 0172 8CE7 b .L106
+ 2197 .L108:
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2198 .loc 1 1093 0
+ 2199 0174 2000 movs r0, r4
+ 2200 0176 FFF7FEFF bl HAL_PCD_SuspendCallback
+ 2201 .LVL218:
+ 2202 017a B4E7 b .L107
+ 2203 .L115:
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2204 .loc 1 1100 0
+ 2205 017c 2168 ldr r1, [r4]
+ 2206 017e 4422 movs r2, #68
+ 2207 0180 8B5A ldrh r3, [r1, r2]
+ 2208 0182 0948 ldr r0, .L116+24
+ 2209 0184 0340 ands r3, r0
+ 2210 0186 8B52 strh r3, [r1, r2]
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 2211 .loc 1 1105 0
+ 2212 0188 2000 movs r0, r4
+ 2213 018a FFF7FEFF bl HAL_PCD_SOFCallback
+ 2214 .LVL219:
+ 2215 018e AFE7 b .L109
+ 2216 .L117:
+ 2217 .align 2
+ 2218 .L116:
+ 2219 0190 FFBFFFFF .word -16385
+ 2220 0194 FFDFFFFF .word -8193
+ 2221 0198 FFEFFFFF .word -4097
+ 2222 019c FFFEFFFF .word -257
+ 2223 01a0 FFFBFFFF .word -1025
+ 2224 01a4 FFF7FFFF .word -2049
+ 2225 01a8 FFFDFFFF .word -513
+ 2226 .cfi_endproc
+ ARM GAS /tmp/ccYuHakw.s page 74
+
+
+ 2227 .LFE46:
+ 2229 .section .text.HAL_PCD_EP_SetStall,"ax",%progbits
+ 2230 .align 1
+ 2231 .global HAL_PCD_EP_SetStall
+ 2232 .syntax unified
+ 2233 .code 16
+ 2234 .thumb_func
+ 2235 .fpu softvfp
+ 2237 HAL_PCD_EP_SetStall:
+ 2238 .LFB66:
+1506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+ 2239 .loc 1 1506 0
+ 2240 .cfi_startproc
+ 2241 @ args = 0, pretend = 0, frame = 0
+ 2242 @ frame_needed = 0, uses_anonymous_args = 0
+ 2243 .LVL220:
+ 2244 0000 70B5 push {r4, r5, r6, lr}
+ 2245 .LCFI15:
+ 2246 .cfi_def_cfa_offset 16
+ 2247 .cfi_offset 4, -16
+ 2248 .cfi_offset 5, -12
+ 2249 .cfi_offset 6, -8
+ 2250 .cfi_offset 14, -4
+ 2251 0002 0500 movs r5, r0
+ 2252 0004 0724 movs r4, #7
+ 2253 0006 0C40 ands r4, r1
+1509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2254 .loc 1 1509 0
+ 2255 0008 4368 ldr r3, [r0, #4]
+ 2256 000a 9C42 cmp r4, r3
+ 2257 000c 33D8 bhi .L123
+1514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2258 .loc 1 1514 0
+ 2259 000e 4BB2 sxtb r3, r1
+ 2260 0010 002B cmp r3, #0
+ 2261 0012 20DB blt .L125
+1521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+ 2262 .loc 1 1521 0
+ 2263 0014 4B01 lsls r3, r1, #5
+ 2264 0016 1900 movs r1, r3
+ 2265 .LVL221:
+ 2266 0018 2931 adds r1, r1, #41
+ 2267 001a FF31 adds r1, r1, #255
+ 2268 001c 4118 adds r1, r0, r1
+ 2269 .LVL222:
+1522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2270 .loc 1 1522 0
+ 2271 001e C318 adds r3, r0, r3
+ 2272 0020 2A33 adds r3, r3, #42
+ 2273 0022 FF33 adds r3, r3, #255
+ 2274 0024 0022 movs r2, #0
+ 2275 0026 1A70 strb r2, [r3]
+ 2276 .L121:
+1525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 2277 .loc 1 1525 0
+ 2278 0028 0123 movs r3, #1
+ 2279 002a 8B70 strb r3, [r1, #2]
+ ARM GAS /tmp/ccYuHakw.s page 75
+
+
+1526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2280 .loc 1 1526 0
+ 2281 002c 0C70 strb r4, [r1]
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2282 .loc 1 1528 0
+ 2283 002e 8A23 movs r3, #138
+ 2284 0030 9B00 lsls r3, r3, #2
+ 2285 0032 EB5C ldrb r3, [r5, r3]
+ 2286 0034 012B cmp r3, #1
+ 2287 0036 20D0 beq .L124
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2288 .loc 1 1528 0 is_stmt 0 discriminator 2
+ 2289 0038 8A23 movs r3, #138
+ 2290 003a 9B00 lsls r3, r3, #2
+ 2291 003c 0122 movs r2, #1
+ 2292 003e EA54 strb r2, [r5, r3]
+1530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** if ((ep_addr & EP_ADDR_MSK) == 0U)
+ 2293 .loc 1 1530 0 is_stmt 1 discriminator 2
+ 2294 0040 2868 ldr r0, [r5]
+ 2295 .LVL223:
+ 2296 0042 FFF7FEFF bl USB_EPSetStall
+ 2297 .LVL224:
+1531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2298 .loc 1 1531 0 discriminator 2
+ 2299 0046 002C cmp r4, #0
+ 2300 0048 0ED0 beq .L126
+ 2301 .L122:
+1535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2302 .loc 1 1535 0
+ 2303 004a 8A23 movs r3, #138
+ 2304 004c 9B00 lsls r3, r3, #2
+ 2305 004e 0022 movs r2, #0
+ 2306 0050 EA54 strb r2, [r5, r3]
+1537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2307 .loc 1 1537 0
+ 2308 0052 0020 movs r0, #0
+ 2309 0054 10E0 b .L119
+ 2310 .LVL225:
+ 2311 .L125:
+1516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+ 2312 .loc 1 1516 0
+ 2313 0056 6301 lsls r3, r4, #5
+ 2314 0058 1900 movs r1, r3
+ 2315 .LVL226:
+ 2316 005a 2831 adds r1, r1, #40
+ 2317 005c 4118 adds r1, r0, r1
+ 2318 .LVL227:
+1517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2319 .loc 1 1517 0
+ 2320 005e C318 adds r3, r0, r3
+ 2321 0060 2933 adds r3, r3, #41
+ 2322 0062 0122 movs r2, #1
+ 2323 0064 1A70 strb r2, [r3]
+ 2324 0066 DFE7 b .L121
+ 2325 .LVL228:
+ 2326 .L126:
+1533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ ARM GAS /tmp/ccYuHakw.s page 76
+
+
+ 2327 .loc 1 1533 0
+ 2328 0068 8C23 movs r3, #140
+ 2329 006a 9B00 lsls r3, r3, #2
+ 2330 006c E918 adds r1, r5, r3
+ 2331 006e 2868 ldr r0, [r5]
+ 2332 0070 FFF7FEFF bl USB_EP0_OutStart
+ 2333 .LVL229:
+ 2334 0074 E9E7 b .L122
+ 2335 .LVL230:
+ 2336 .L123:
+1511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2337 .loc 1 1511 0
+ 2338 0076 0120 movs r0, #1
+ 2339 .LVL231:
+ 2340 .L119:
+1538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2341 .loc 1 1538 0
+ 2342 @ sp needed
+ 2343 .LVL232:
+ 2344 0078 70BD pop {r4, r5, r6, pc}
+ 2345 .LVL233:
+ 2346 .L124:
+1528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2347 .loc 1 1528 0
+ 2348 007a 0220 movs r0, #2
+ 2349 .LVL234:
+ 2350 007c FCE7 b .L119
+ 2351 .cfi_endproc
+ 2352 .LFE66:
+ 2354 .section .text.HAL_PCD_EP_ClrStall,"ax",%progbits
+ 2355 .align 1
+ 2356 .global HAL_PCD_EP_ClrStall
+ 2357 .syntax unified
+ 2358 .code 16
+ 2359 .thumb_func
+ 2360 .fpu softvfp
+ 2362 HAL_PCD_EP_ClrStall:
+ 2363 .LFB67:
+1547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** PCD_EPTypeDef *ep;
+ 2364 .loc 1 1547 0
+ 2365 .cfi_startproc
+ 2366 @ args = 0, pretend = 0, frame = 0
+ 2367 @ frame_needed = 0, uses_anonymous_args = 0
+ 2368 .LVL235:
+ 2369 0000 70B5 push {r4, r5, r6, lr}
+ 2370 .LCFI16:
+ 2371 .cfi_def_cfa_offset 16
+ 2372 .cfi_offset 4, -16
+ 2373 .cfi_offset 5, -12
+ 2374 .cfi_offset 6, -8
+ 2375 .cfi_offset 14, -4
+ 2376 0002 0400 movs r4, r0
+1550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2377 .loc 1 1550 0
+ 2378 0004 0F23 movs r3, #15
+ 2379 0006 0B40 ands r3, r1
+ 2380 0008 4268 ldr r2, [r0, #4]
+ ARM GAS /tmp/ccYuHakw.s page 77
+
+
+ 2381 000a 9342 cmp r3, r2
+ 2382 000c 2FD8 bhi .L131
+1555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** {
+ 2383 .loc 1 1555 0
+ 2384 000e 4BB2 sxtb r3, r1
+ 2385 0010 002B cmp r3, #0
+ 2386 0012 21DB blt .L133
+1562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 0U;
+ 2387 .loc 1 1562 0
+ 2388 0014 0723 movs r3, #7
+ 2389 0016 0B40 ands r3, r1
+ 2390 0018 5B01 lsls r3, r3, #5
+ 2391 001a 1A00 movs r2, r3
+ 2392 001c 2932 adds r2, r2, #41
+ 2393 001e FF32 adds r2, r2, #255
+ 2394 0020 8218 adds r2, r0, r2
+ 2395 .LVL236:
+1563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2396 .loc 1 1563 0
+ 2397 0022 C318 adds r3, r0, r3
+ 2398 0024 2A33 adds r3, r3, #42
+ 2399 0026 FF33 adds r3, r3, #255
+ 2400 0028 0020 movs r0, #0
+ 2401 .LVL237:
+ 2402 002a 1870 strb r0, [r3]
+ 2403 .L130:
+1566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->num = ep_addr & EP_ADDR_MSK;
+ 2404 .loc 1 1566 0
+ 2405 002c 0023 movs r3, #0
+ 2406 002e 9370 strb r3, [r2, #2]
+1567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2407 .loc 1 1567 0
+ 2408 0030 0733 adds r3, r3, #7
+ 2409 0032 1940 ands r1, r3
+ 2410 .LVL238:
+ 2411 0034 1170 strb r1, [r2]
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep);
+ 2412 .loc 1 1569 0
+ 2413 0036 8A23 movs r3, #138
+ 2414 0038 9B00 lsls r3, r3, #2
+ 2415 003a E35C ldrb r3, [r4, r3]
+ 2416 003c 012B cmp r3, #1
+ 2417 003e 18D0 beq .L132
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep);
+ 2418 .loc 1 1569 0 is_stmt 0 discriminator 2
+ 2419 0040 8A25 movs r5, #138
+ 2420 0042 AD00 lsls r5, r5, #2
+ 2421 0044 0123 movs r3, #1
+ 2422 0046 6355 strb r3, [r4, r5]
+1570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** __HAL_UNLOCK(hpcd);
+ 2423 .loc 1 1570 0 is_stmt 1 discriminator 2
+ 2424 0048 1100 movs r1, r2
+ 2425 004a 2068 ldr r0, [r4]
+ 2426 004c FFF7FEFF bl USB_EPClearStall
+ 2427 .LVL239:
+1571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2428 .loc 1 1571 0 discriminator 2
+ ARM GAS /tmp/ccYuHakw.s page 78
+
+
+ 2429 0050 0023 movs r3, #0
+ 2430 0052 6355 strb r3, [r4, r5]
+1573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2431 .loc 1 1573 0 discriminator 2
+ 2432 0054 0020 movs r0, #0
+ 2433 0056 0BE0 b .L128
+ 2434 .LVL240:
+ 2435 .L133:
+1557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** ep->is_in = 1U;
+ 2436 .loc 1 1557 0
+ 2437 0058 0723 movs r3, #7
+ 2438 005a 0B40 ands r3, r1
+ 2439 005c 5B01 lsls r3, r3, #5
+ 2440 005e 1A00 movs r2, r3
+ 2441 0060 2832 adds r2, r2, #40
+ 2442 0062 8218 adds r2, r0, r2
+ 2443 .LVL241:
+1558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2444 .loc 1 1558 0
+ 2445 0064 C318 adds r3, r0, r3
+ 2446 0066 2933 adds r3, r3, #41
+ 2447 0068 0120 movs r0, #1
+ 2448 .LVL242:
+ 2449 006a 1870 strb r0, [r3]
+ 2450 006c DEE7 b .L130
+ 2451 .LVL243:
+ 2452 .L131:
+1552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2453 .loc 1 1552 0
+ 2454 006e 0120 movs r0, #1
+ 2455 .LVL244:
+ 2456 .L128:
+1574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2457 .loc 1 1574 0
+ 2458 @ sp needed
+ 2459 .LVL245:
+ 2460 0070 70BD pop {r4, r5, r6, pc}
+ 2461 .LVL246:
+ 2462 .L132:
+1569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** (void)USB_EPClearStall(hpcd->Instance, ep);
+ 2463 .loc 1 1569 0
+ 2464 0072 0220 movs r0, #2
+ 2465 0074 FCE7 b .L128
+ 2466 .cfi_endproc
+ 2467 .LFE67:
+ 2469 .section .text.HAL_PCD_EP_Flush,"ax",%progbits
+ 2470 .align 1
+ 2471 .global HAL_PCD_EP_Flush
+ 2472 .syntax unified
+ 2473 .code 16
+ 2474 .thumb_func
+ 2475 .fpu softvfp
+ 2477 HAL_PCD_EP_Flush:
+ 2478 .LFB68:
+1583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** /* Prevent unused argument(s) compilation warning */
+ 2479 .loc 1 1583 0
+ 2480 .cfi_startproc
+ ARM GAS /tmp/ccYuHakw.s page 79
+
+
+ 2481 @ args = 0, pretend = 0, frame = 0
+ 2482 @ frame_needed = 0, uses_anonymous_args = 0
+ 2483 @ link register save eliminated.
+ 2484 .LVL247:
+1589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2485 .loc 1 1589 0
+ 2486 0000 0020 movs r0, #0
+ 2487 .LVL248:
+ 2488 @ sp needed
+ 2489 0002 7047 bx lr
+ 2490 .cfi_endproc
+ 2491 .LFE68:
+ 2493 .section .text.HAL_PCD_ActivateRemoteWakeup,"ax",%progbits
+ 2494 .align 1
+ 2495 .global HAL_PCD_ActivateRemoteWakeup
+ 2496 .syntax unified
+ 2497 .code 16
+ 2498 .thumb_func
+ 2499 .fpu softvfp
+ 2501 HAL_PCD_ActivateRemoteWakeup:
+ 2502 .LFB69:
+1597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_ActivateRemoteWakeup(hpcd->Instance));
+ 2503 .loc 1 1597 0
+ 2504 .cfi_startproc
+ 2505 @ args = 0, pretend = 0, frame = 0
+ 2506 @ frame_needed = 0, uses_anonymous_args = 0
+ 2507 .LVL249:
+ 2508 0000 10B5 push {r4, lr}
+ 2509 .LCFI17:
+ 2510 .cfi_def_cfa_offset 8
+ 2511 .cfi_offset 4, -8
+ 2512 .cfi_offset 14, -4
+1598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2513 .loc 1 1598 0
+ 2514 0002 0068 ldr r0, [r0]
+ 2515 .LVL250:
+ 2516 0004 FFF7FEFF bl USB_ActivateRemoteWakeup
+ 2517 .LVL251:
+1599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2518 .loc 1 1599 0
+ 2519 @ sp needed
+ 2520 0008 10BD pop {r4, pc}
+ 2521 .cfi_endproc
+ 2522 .LFE69:
+ 2524 .section .text.HAL_PCD_DeActivateRemoteWakeup,"ax",%progbits
+ 2525 .align 1
+ 2526 .global HAL_PCD_DeActivateRemoteWakeup
+ 2527 .syntax unified
+ 2528 .code 16
+ 2529 .thumb_func
+ 2530 .fpu softvfp
+ 2532 HAL_PCD_DeActivateRemoteWakeup:
+ 2533 .LFB70:
+1607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return (USB_DeActivateRemoteWakeup(hpcd->Instance));
+ 2534 .loc 1 1607 0
+ 2535 .cfi_startproc
+ 2536 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccYuHakw.s page 80
+
+
+ 2537 @ frame_needed = 0, uses_anonymous_args = 0
+ 2538 .LVL252:
+ 2539 0000 10B5 push {r4, lr}
+ 2540 .LCFI18:
+ 2541 .cfi_def_cfa_offset 8
+ 2542 .cfi_offset 4, -8
+ 2543 .cfi_offset 14, -4
+1608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2544 .loc 1 1608 0
+ 2545 0002 0068 ldr r0, [r0]
+ 2546 .LVL253:
+ 2547 0004 FFF7FEFF bl USB_DeActivateRemoteWakeup
+ 2548 .LVL254:
+1609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2549 .loc 1 1609 0
+ 2550 @ sp needed
+ 2551 0008 10BD pop {r4, pc}
+ 2552 .cfi_endproc
+ 2553 .LFE70:
+ 2555 .section .text.HAL_PCD_GetState,"ax",%progbits
+ 2556 .align 1
+ 2557 .global HAL_PCD_GetState
+ 2558 .syntax unified
+ 2559 .code 16
+ 2560 .thumb_func
+ 2561 .fpu softvfp
+ 2563 HAL_PCD_GetState:
+ 2564 .LFB71:
+1636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** return hpcd->State;
+ 2565 .loc 1 1636 0
+ 2566 .cfi_startproc
+ 2567 @ args = 0, pretend = 0, frame = 0
+ 2568 @ frame_needed = 0, uses_anonymous_args = 0
+ 2569 @ link register save eliminated.
+ 2570 .LVL255:
+1637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c **** }
+ 2571 .loc 1 1637 0
+ 2572 0000 014B ldr r3, .L138
+ 2573 0002 C05C ldrb r0, [r0, r3]
+ 2574 .LVL256:
+ 2575 0004 C0B2 uxtb r0, r0
+1638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd.c ****
+ 2576 .loc 1 1638 0
+ 2577 @ sp needed
+ 2578 0006 7047 bx lr
+ 2579 .L139:
+ 2580 .align 2
+ 2581 .L138:
+ 2582 0008 29020000 .word 553
+ 2583 .cfi_endproc
+ 2584 .LFE71:
+ 2586 .text
+ 2587 .Letext0:
+ 2588 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 2589 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 2590 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 2591 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ ARM GAS /tmp/ccYuHakw.s page 81
+
+
+ 2592 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 2593 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 2594 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 2595 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 2596 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h"
+ ARM GAS /tmp/ccYuHakw.s page 82
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_pcd.c
+ /tmp/ccYuHakw.s:16 .text.HAL_PCD_MspInit:0000000000000000 $t
+ /tmp/ccYuHakw.s:23 .text.HAL_PCD_MspInit:0000000000000000 HAL_PCD_MspInit
+ /tmp/ccYuHakw.s:39 .text.HAL_PCD_Init:0000000000000000 $t
+ /tmp/ccYuHakw.s:46 .text.HAL_PCD_Init:0000000000000000 HAL_PCD_Init
+ /tmp/ccYuHakw.s:224 .text.HAL_PCD_Init:00000000000000d0 $d
+ /tmp/ccYuHakw.s:229 .text.HAL_PCD_MspDeInit:0000000000000000 $t
+ /tmp/ccYuHakw.s:236 .text.HAL_PCD_MspDeInit:0000000000000000 HAL_PCD_MspDeInit
+ /tmp/ccYuHakw.s:251 .text.HAL_PCD_Start:0000000000000000 $t
+ /tmp/ccYuHakw.s:258 .text.HAL_PCD_Start:0000000000000000 HAL_PCD_Start
+ /tmp/ccYuHakw.s:313 .text.HAL_PCD_Stop:0000000000000000 $t
+ /tmp/ccYuHakw.s:320 .text.HAL_PCD_Stop:0000000000000000 HAL_PCD_Stop
+ /tmp/ccYuHakw.s:375 .text.HAL_PCD_DeInit:0000000000000000 $t
+ /tmp/ccYuHakw.s:382 .text.HAL_PCD_DeInit:0000000000000000 HAL_PCD_DeInit
+ /tmp/ccYuHakw.s:429 .text.HAL_PCD_DeInit:0000000000000024 $d
+ /tmp/ccYuHakw.s:434 .text.HAL_PCD_DataOutStageCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:441 .text.HAL_PCD_DataOutStageCallback:0000000000000000 HAL_PCD_DataOutStageCallback
+ /tmp/ccYuHakw.s:456 .text.HAL_PCD_DataInStageCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:463 .text.HAL_PCD_DataInStageCallback:0000000000000000 HAL_PCD_DataInStageCallback
+ /tmp/ccYuHakw.s:478 .text.HAL_PCD_SetupStageCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:485 .text.HAL_PCD_SetupStageCallback:0000000000000000 HAL_PCD_SetupStageCallback
+ /tmp/ccYuHakw.s:500 .text.HAL_PCD_SOFCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:507 .text.HAL_PCD_SOFCallback:0000000000000000 HAL_PCD_SOFCallback
+ /tmp/ccYuHakw.s:522 .text.HAL_PCD_ResetCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:529 .text.HAL_PCD_ResetCallback:0000000000000000 HAL_PCD_ResetCallback
+ /tmp/ccYuHakw.s:544 .text.HAL_PCD_SuspendCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:551 .text.HAL_PCD_SuspendCallback:0000000000000000 HAL_PCD_SuspendCallback
+ /tmp/ccYuHakw.s:566 .text.HAL_PCD_ResumeCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:573 .text.HAL_PCD_ResumeCallback:0000000000000000 HAL_PCD_ResumeCallback
+ /tmp/ccYuHakw.s:588 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:595 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 HAL_PCD_ISOOUTIncompleteCallback
+ /tmp/ccYuHakw.s:610 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:617 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 HAL_PCD_ISOINIncompleteCallback
+ /tmp/ccYuHakw.s:632 .text.HAL_PCD_ConnectCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:639 .text.HAL_PCD_ConnectCallback:0000000000000000 HAL_PCD_ConnectCallback
+ /tmp/ccYuHakw.s:654 .text.HAL_PCD_DisconnectCallback:0000000000000000 $t
+ /tmp/ccYuHakw.s:661 .text.HAL_PCD_DisconnectCallback:0000000000000000 HAL_PCD_DisconnectCallback
+ /tmp/ccYuHakw.s:676 .text.HAL_PCD_DevConnect:0000000000000000 $t
+ /tmp/ccYuHakw.s:683 .text.HAL_PCD_DevConnect:0000000000000000 HAL_PCD_DevConnect
+ /tmp/ccYuHakw.s:734 .text.HAL_PCD_DevDisconnect:0000000000000000 $t
+ /tmp/ccYuHakw.s:741 .text.HAL_PCD_DevDisconnect:0000000000000000 HAL_PCD_DevDisconnect
+ /tmp/ccYuHakw.s:792 .text.HAL_PCD_SetAddress:0000000000000000 $t
+ /tmp/ccYuHakw.s:799 .text.HAL_PCD_SetAddress:0000000000000000 HAL_PCD_SetAddress
+ /tmp/ccYuHakw.s:853 .text.HAL_PCD_EP_Open:0000000000000000 $t
+ /tmp/ccYuHakw.s:860 .text.HAL_PCD_EP_Open:0000000000000000 HAL_PCD_EP_Open
+ /tmp/ccYuHakw.s:979 .text.HAL_PCD_EP_Close:0000000000000000 $t
+ /tmp/ccYuHakw.s:986 .text.HAL_PCD_EP_Close:0000000000000000 HAL_PCD_EP_Close
+ /tmp/ccYuHakw.s:1079 .text.HAL_PCD_EP_Receive:0000000000000000 $t
+ /tmp/ccYuHakw.s:1086 .text.HAL_PCD_EP_Receive:0000000000000000 HAL_PCD_EP_Receive
+ /tmp/ccYuHakw.s:1165 .text.HAL_PCD_EP_GetRxCount:0000000000000000 $t
+ /tmp/ccYuHakw.s:1172 .text.HAL_PCD_EP_GetRxCount:0000000000000000 HAL_PCD_EP_GetRxCount
+ /tmp/ccYuHakw.s:1197 .text.HAL_PCD_EP_Transmit:0000000000000000 $t
+ /tmp/ccYuHakw.s:1204 .text.HAL_PCD_EP_Transmit:0000000000000000 HAL_PCD_EP_Transmit
+ /tmp/ccYuHakw.s:1277 .text.PCD_EP_ISR_Handler:0000000000000000 $t
+ /tmp/ccYuHakw.s:1283 .text.PCD_EP_ISR_Handler:0000000000000000 PCD_EP_ISR_Handler
+ /tmp/ccYuHakw.s:1920 .text.PCD_EP_ISR_Handler:0000000000000374 $d
+ ARM GAS /tmp/ccYuHakw.s page 83
+
+
+ /tmp/ccYuHakw.s:1934 .text.HAL_PCD_IRQHandler:0000000000000000 $t
+ /tmp/ccYuHakw.s:1941 .text.HAL_PCD_IRQHandler:0000000000000000 HAL_PCD_IRQHandler
+ /tmp/ccYuHakw.s:2219 .text.HAL_PCD_IRQHandler:0000000000000190 $d
+ /tmp/ccYuHakw.s:2230 .text.HAL_PCD_EP_SetStall:0000000000000000 $t
+ /tmp/ccYuHakw.s:2237 .text.HAL_PCD_EP_SetStall:0000000000000000 HAL_PCD_EP_SetStall
+ /tmp/ccYuHakw.s:2355 .text.HAL_PCD_EP_ClrStall:0000000000000000 $t
+ /tmp/ccYuHakw.s:2362 .text.HAL_PCD_EP_ClrStall:0000000000000000 HAL_PCD_EP_ClrStall
+ /tmp/ccYuHakw.s:2470 .text.HAL_PCD_EP_Flush:0000000000000000 $t
+ /tmp/ccYuHakw.s:2477 .text.HAL_PCD_EP_Flush:0000000000000000 HAL_PCD_EP_Flush
+ /tmp/ccYuHakw.s:2494 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 $t
+ /tmp/ccYuHakw.s:2501 .text.HAL_PCD_ActivateRemoteWakeup:0000000000000000 HAL_PCD_ActivateRemoteWakeup
+ /tmp/ccYuHakw.s:2525 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 $t
+ /tmp/ccYuHakw.s:2532 .text.HAL_PCD_DeActivateRemoteWakeup:0000000000000000 HAL_PCD_DeActivateRemoteWakeup
+ /tmp/ccYuHakw.s:2556 .text.HAL_PCD_GetState:0000000000000000 $t
+ /tmp/ccYuHakw.s:2563 .text.HAL_PCD_GetState:0000000000000000 HAL_PCD_GetState
+ /tmp/ccYuHakw.s:2582 .text.HAL_PCD_GetState:0000000000000008 $d
+
+UNDEFINED SYMBOLS
+USB_DisableGlobalInt
+USB_DevInit
+HAL_PCDEx_ActivateLPM
+USB_DevConnect
+USB_EnableGlobalInt
+USB_StopDevice
+USB_DevDisconnect
+USB_SetDevAddress
+USB_ActivateEndpoint
+USB_DeactivateEndpoint
+USB_EPStartXfer
+USB_ReadPMA
+USB_ReadInterrupts
+HAL_PCDEx_LPM_Callback
+USB_EPSetStall
+USB_EP0_OutStart
+USB_EPClearStall
+USB_ActivateRemoteWakeup
+USB_DeActivateRemoteWakeup
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd.o b/fw/midi-dials/build/stm32f0xx_hal_pcd.o
new file mode 100644
index 0000000..68cc1e4
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.d b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.d
new file mode 100644
index 0000000..99ce307
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_pcd_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.lst
new file mode 100644
index 0000000..5d520d1
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.lst
@@ -0,0 +1,877 @@
+ARM GAS /tmp/ccvcbbKR.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 "stm32f0xx_hal_pcd_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_PCDEx_PMAConfig,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_PCDEx_PMAConfig
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_PCDEx_PMAConfig:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @file stm32f0xx_hal_pcd_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * functionalities of the USB Peripheral Controller:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * + Extended features functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** *
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ******************************************************************************
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @attention
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** *
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * All rights reserved.</center></h2>
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** *
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * License. You may obtain a copy of the License at:
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** *
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ******************************************************************************
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Includes ------------------------------------------------------------------*/
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #include "stm32f0xx_hal.h"
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @{
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /** @defgroup PCDEx PCDEx
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief PCD Extended HAL module driver
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @{
+ ARM GAS /tmp/ccvcbbKR.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #ifdef HAL_PCD_MODULE_ENABLED
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if defined (USB)
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Private types -------------------------------------------------------------*/
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Private variables ---------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Private constants ---------------------------------------------------------*/
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Private macros ------------------------------------------------------------*/
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Private functions ---------------------------------------------------------*/
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Exported functions --------------------------------------------------------*/
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions PCDEx Exported Functions
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @{
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /** @defgroup PCDEx_Exported_Functions_Group1 Peripheral Control functions
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief PCDEx control functions
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** *
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** @verbatim
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ===============================================================================
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ##### Extended features functions #####
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ===============================================================================
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** [..] This section provides functions allowing to:
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** (+) Update FIFO configuration
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** @endverbatim
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @{
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Configure PMA for EP
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd Device instance
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param ep_addr endpoint address
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param ep_kind endpoint Kind
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * USB_SNG_BUF: Single Buffer used
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * USB_DBL_BUF: Double Buffer used
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param pmaadress: EP address in The PMA: In case of single buffer endpoint
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * this parameter is 16-bit value providing the address
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * in PMA allocated to endpoint.
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * In case of double buffer endpoint this parameter
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * is a 32-bit value providing the endpoint buffer 0 address
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * in the LSB part of 32-bit value and endpoint buffer 1 address
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * in the MSB part of 32-bit value.
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_PMAConfig(PCD_HandleTypeDef *hpcd,
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** uint16_t ep_addr,
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** uint16_t ep_kind,
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** uint32_t pmaadress)
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 26 .loc 1 85 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ ARM GAS /tmp/ccvcbbKR.s page 3
+
+
+ 31 0000 10B5 push {r4, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 8
+ 34 .cfi_offset 4, -8
+ 35 .cfi_offset 14, -4
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** PCD_EPTypeDef *ep;
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* initialize ep structure*/
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if ((0x80U & ep_addr) == 0x80U)
+ 36 .loc 1 89 0
+ 37 0002 0C06 lsls r4, r1, #24
+ 38 0004 0DD5 bpl .L2
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK];
+ 39 .loc 1 91 0
+ 40 0006 0724 movs r4, #7
+ 41 0008 2140 ands r1, r4
+ 42 .LVL1:
+ 43 000a 4901 lsls r1, r1, #5
+ 44 000c 2831 adds r1, r1, #40
+ 45 000e 4018 adds r0, r0, r1
+ 46 .LVL2:
+ 47 .L3:
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** else
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep = &hpcd->OUT_ep[ep_addr];
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Here we check if the endpoint is single or double Buffer*/
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if (ep_kind == PCD_SNG_BUF)
+ 48 .loc 1 99 0
+ 49 0010 002A cmp r2, #0
+ 50 0012 0BD0 beq .L6
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Single Buffer */
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep->doublebuffer = 0U;
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Configure the PMA */
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep->pmaadress = (uint16_t)pmaadress;
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** else /* USB_DBL_BUF */
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Double Buffer Endpoint */
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep->doublebuffer = 1U;
+ 51 .loc 1 109 0
+ 52 0014 0122 movs r2, #1
+ 53 .LVL3:
+ 54 0016 0273 strb r2, [r0, #12]
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Configure the PMA */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep->pmaaddr0 = (uint16_t)(pmaadress & 0xFFFFU);
+ 55 .loc 1 111 0
+ 56 0018 0381 strh r3, [r0, #8]
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** ep->pmaaddr1 = (uint16_t)((pmaadress & 0xFFFF0000U) >> 16);
+ 57 .loc 1 112 0
+ 58 001a 1B0C lsrs r3, r3, #16
+ 59 .LVL4:
+ 60 001c 4381 strh r3, [r0, #10]
+ ARM GAS /tmp/ccvcbbKR.s page 4
+
+
+ 61 .L5:
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return HAL_OK;
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 62 .loc 1 116 0
+ 63 001e 0020 movs r0, #0
+ 64 .LVL5:
+ 65 @ sp needed
+ 66 0020 10BD pop {r4, pc}
+ 67 .LVL6:
+ 68 .L2:
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 69 .loc 1 95 0
+ 70 0022 4901 lsls r1, r1, #5
+ 71 .LVL7:
+ 72 0024 2931 adds r1, r1, #41
+ 73 0026 FF31 adds r1, r1, #255
+ 74 0028 4018 adds r0, r0, r1
+ 75 .LVL8:
+ 76 002a F1E7 b .L3
+ 77 .L6:
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Configure the PMA */
+ 78 .loc 1 102 0
+ 79 002c 0273 strb r2, [r0, #12]
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 80 .loc 1 104 0
+ 81 002e C380 strh r3, [r0, #6]
+ 82 0030 F5E7 b .L5
+ 83 .cfi_endproc
+ 84 .LFE40:
+ 86 .section .text.HAL_PCDEx_ActivateBCD,"ax",%progbits
+ 87 .align 1
+ 88 .global HAL_PCDEx_ActivateBCD
+ 89 .syntax unified
+ 90 .code 16
+ 91 .thumb_func
+ 92 .fpu softvfp
+ 94 HAL_PCDEx_ActivateBCD:
+ 95 .LFB41:
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Activate BatteryCharging feature.
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateBCD(PCD_HandleTypeDef *hpcd)
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 96 .loc 1 124 0
+ 97 .cfi_startproc
+ 98 @ args = 0, pretend = 0, frame = 0
+ 99 @ frame_needed = 0, uses_anonymous_args = 0
+ 100 @ link register save eliminated.
+ 101 .LVL9:
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ 102 .loc 1 125 0
+ 103 0000 0268 ldr r2, [r0]
+ ARM GAS /tmp/ccvcbbKR.s page 5
+
+
+ 104 .LVL10:
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 1U;
+ 105 .loc 1 126 0
+ 106 0002 9B23 movs r3, #155
+ 107 0004 9B00 lsls r3, r3, #2
+ 108 0006 0121 movs r1, #1
+ 109 0008 C150 str r1, [r0, r3]
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Enable BCD feature */
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= USB_BCDR_BCDEN;
+ 110 .loc 1 129 0
+ 111 000a 5823 movs r3, #88
+ 112 000c D15A ldrh r1, [r2, r3]
+ 113 000e 0120 movs r0, #1
+ 114 .LVL11:
+ 115 0010 0143 orrs r1, r0
+ 116 0012 D152 strh r1, [r2, r3]
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Enable DCD : Data Contact Detect */
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_PDEN);
+ 117 .loc 1 132 0
+ 118 0014 D15A ldrh r1, [r2, r3]
+ 119 0016 0420 movs r0, #4
+ 120 0018 8143 bics r1, r0
+ 121 001a D152 strh r1, [r2, r3]
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_SDEN);
+ 122 .loc 1 133 0
+ 123 001c D15A ldrh r1, [r2, r3]
+ 124 001e 0430 adds r0, r0, #4
+ 125 0020 8143 bics r1, r0
+ 126 0022 D152 strh r1, [r2, r3]
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= USB_BCDR_DCDEN;
+ 127 .loc 1 134 0
+ 128 0024 D15A ldrh r1, [r2, r3]
+ 129 0026 0220 movs r0, #2
+ 130 0028 0143 orrs r1, r0
+ 131 002a D152 strh r1, [r2, r3]
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return HAL_OK;
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 132 .loc 1 137 0
+ 133 002c 0020 movs r0, #0
+ 134 @ sp needed
+ 135 002e 7047 bx lr
+ 136 .cfi_endproc
+ 137 .LFE41:
+ 139 .section .text.HAL_PCDEx_DeActivateBCD,"ax",%progbits
+ 140 .align 1
+ 141 .global HAL_PCDEx_DeActivateBCD
+ 142 .syntax unified
+ 143 .code 16
+ 144 .thumb_func
+ 145 .fpu softvfp
+ 147 HAL_PCDEx_DeActivateBCD:
+ 148 .LFB42:
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ ARM GAS /tmp/ccvcbbKR.s page 6
+
+
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Deactivate BatteryCharging feature.
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateBCD(PCD_HandleTypeDef *hpcd)
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 149 .loc 1 145 0
+ 150 .cfi_startproc
+ 151 @ args = 0, pretend = 0, frame = 0
+ 152 @ frame_needed = 0, uses_anonymous_args = 0
+ 153 @ link register save eliminated.
+ 154 .LVL12:
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ 155 .loc 1 146 0
+ 156 0000 0168 ldr r1, [r0]
+ 157 .LVL13:
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->battery_charging_active = 0U;
+ 158 .loc 1 147 0
+ 159 0002 9B23 movs r3, #155
+ 160 0004 9B00 lsls r3, r3, #2
+ 161 0006 0022 movs r2, #0
+ 162 0008 C250 str r2, [r0, r3]
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Disable BCD feature */
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_BCDEN);
+ 163 .loc 1 150 0
+ 164 000a 5832 adds r2, r2, #88
+ 165 000c 8B5A ldrh r3, [r1, r2]
+ 166 000e 0120 movs r0, #1
+ 167 .LVL14:
+ 168 0010 8343 bics r3, r0
+ 169 0012 8B52 strh r3, [r1, r2]
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return HAL_OK;
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 170 .loc 1 153 0
+ 171 0014 0020 movs r0, #0
+ 172 @ sp needed
+ 173 0016 7047 bx lr
+ 174 .cfi_endproc
+ 175 .LFE42:
+ 177 .section .text.HAL_PCDEx_ActivateLPM,"ax",%progbits
+ 178 .align 1
+ 179 .global HAL_PCDEx_ActivateLPM
+ 180 .syntax unified
+ 181 .code 16
+ 182 .thumb_func
+ 183 .fpu softvfp
+ 185 HAL_PCDEx_ActivateLPM:
+ 186 .LFB44:
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Handle BatteryCharging Process.
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** void HAL_PCDEx_BCD_VBUSDetect(PCD_HandleTypeDef *hpcd)
+ ARM GAS /tmp/ccvcbbKR.s page 7
+
+
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick();
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Wait Detect flag or a timeout is happen*/
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** while ((USBx->BCDR & USB_BCDR_DCDET) == 0U)
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Check for the Timeout */
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if ((HAL_GetTick() - tickstart) > 1000U)
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_ERROR);
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_ERROR);
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return;
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(200U);
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Data Pin Contact ? Check Detect flag */
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_DCDET) == USB_BCDR_DCDET)
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CONTACT_DETECTION);
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CONTACT_DETECTION);
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Primary detection: checks if connected to Standard Downstream Port
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** (without charging capability) */
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_DCDEN);
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_PDEN);
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* If Charger detect ? */
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_PDET) == USB_BCDR_PDET)
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Start secondary detection to check connection to Charging Downstream
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** Port or Dedicated Charging Port */
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR &= ~(USB_BCDR_PDEN);
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_SDEN);
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* If CDP ? */
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** if ((USBx->BCDR & USB_BCDR_SDET) == USB_BCDR_SDET)
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Dedicated Downstream Port DCP */
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT);
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DEDICATED_CHARGING_PORT);
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ ARM GAS /tmp/ccvcbbKR.s page 8
+
+
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** else
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Charging Downstream Port CDP */
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT);
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_CHARGING_DOWNSTREAM_PORT);
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** else /* NO */
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Standard Downstream Port */
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT);
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_STD_DOWNSTREAM_PORT);
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Battery Charging capability discovery finished Start Enumeration */
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** (void)HAL_PCDEx_DeActivateBCD(hpcd);
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->BCDCallback(hpcd, PCD_BCD_DISCOVERY_COMPLETED);
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #else
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_PCDEx_BCD_Callback(hpcd, PCD_BCD_DISCOVERY_COMPLETED);
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Activate LPM feature.
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd)
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 187 .loc 1 255 0
+ 188 .cfi_startproc
+ 189 @ args = 0, pretend = 0, frame = 0
+ 190 @ frame_needed = 0, uses_anonymous_args = 0
+ 191 @ link register save eliminated.
+ 192 .LVL15:
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ 193 .loc 1 257 0
+ 194 0000 0268 ldr r2, [r0]
+ 195 .LVL16:
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->lpm_active = 1U;
+ 196 .loc 1 258 0
+ 197 0002 9A23 movs r3, #154
+ 198 0004 9B00 lsls r3, r3, #2
+ 199 0006 0121 movs r1, #1
+ 200 0008 C150 str r1, [r0, r3]
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->LPM_State = LPM_L0;
+ 201 .loc 1 259 0
+ ARM GAS /tmp/ccvcbbKR.s page 9
+
+
+ 202 000a 083B subs r3, r3, #8
+ 203 000c 0021 movs r1, #0
+ 204 000e C154 strb r1, [r0, r3]
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->LPMCSR |= USB_LPMCSR_LMPEN;
+ 205 .loc 1 261 0
+ 206 0010 5423 movs r3, #84
+ 207 0012 D15A ldrh r1, [r2, r3]
+ 208 0014 0120 movs r0, #1
+ 209 .LVL17:
+ 210 0016 0143 orrs r1, r0
+ 211 0018 D152 strh r1, [r2, r3]
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->LPMCSR |= USB_LPMCSR_LPMACK;
+ 212 .loc 1 262 0
+ 213 001a D15A ldrh r1, [r2, r3]
+ 214 001c 0220 movs r0, #2
+ 215 001e 0143 orrs r1, r0
+ 216 0020 D152 strh r1, [r2, r3]
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return HAL_OK;
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 217 .loc 1 265 0
+ 218 0022 0020 movs r0, #0
+ 219 @ sp needed
+ 220 0024 7047 bx lr
+ 221 .cfi_endproc
+ 222 .LFE44:
+ 224 .section .text.HAL_PCDEx_DeActivateLPM,"ax",%progbits
+ 225 .align 1
+ 226 .global HAL_PCDEx_DeActivateLPM
+ 227 .syntax unified
+ 228 .code 16
+ 229 .thumb_func
+ 230 .fpu softvfp
+ 232 HAL_PCDEx_DeActivateLPM:
+ 233 .LFB45:
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Deactivate LPM feature.
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_StatusTypeDef HAL_PCDEx_DeActivateLPM(PCD_HandleTypeDef *hpcd)
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 234 .loc 1 273 0
+ 235 .cfi_startproc
+ 236 @ args = 0, pretend = 0, frame = 0
+ 237 @ frame_needed = 0, uses_anonymous_args = 0
+ 238 @ link register save eliminated.
+ 239 .LVL18:
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ 240 .loc 1 274 0
+ 241 0000 0268 ldr r2, [r0]
+ 242 .LVL19:
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** hpcd->lpm_active = 0U;
+ 243 .loc 1 276 0
+ ARM GAS /tmp/ccvcbbKR.s page 10
+
+
+ 244 0002 9A23 movs r3, #154
+ 245 0004 9B00 lsls r3, r3, #2
+ 246 0006 0021 movs r1, #0
+ 247 0008 C150 str r1, [r0, r3]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->LPMCSR &= ~(USB_LPMCSR_LMPEN);
+ 248 .loc 1 278 0
+ 249 000a 5423 movs r3, #84
+ 250 000c D15A ldrh r1, [r2, r3]
+ 251 000e 0120 movs r0, #1
+ 252 .LVL20:
+ 253 0010 8143 bics r1, r0
+ 254 0012 D152 strh r1, [r2, r3]
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->LPMCSR &= ~(USB_LPMCSR_LPMACK);
+ 255 .loc 1 279 0
+ 256 0014 D15A ldrh r1, [r2, r3]
+ 257 0016 0130 adds r0, r0, #1
+ 258 0018 8143 bics r1, r0
+ 259 001a D152 strh r1, [r2, r3]
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** return HAL_OK;
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 260 .loc 1 282 0
+ 261 001c 0020 movs r0, #0
+ 262 @ sp needed
+ 263 001e 7047 bx lr
+ 264 .cfi_endproc
+ 265 .LFE45:
+ 267 .section .text.HAL_PCDEx_LPM_Callback,"ax",%progbits
+ 268 .align 1
+ 269 .weak HAL_PCDEx_LPM_Callback
+ 270 .syntax unified
+ 271 .code 16
+ 272 .thumb_func
+ 273 .fpu softvfp
+ 275 HAL_PCDEx_LPM_Callback:
+ 276 .LFB46:
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Send LPM message to user layer callback.
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param msg LPM message
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg)
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 277 .loc 1 293 0
+ 278 .cfi_startproc
+ 279 @ args = 0, pretend = 0, frame = 0
+ 280 @ frame_needed = 0, uses_anonymous_args = 0
+ 281 @ link register save eliminated.
+ 282 .LVL21:
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** UNUSED(hpcd);
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** UNUSED(msg);
+ ARM GAS /tmp/ccvcbbKR.s page 11
+
+
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** the HAL_PCDEx_LPM_Callback could be implemented in the user file
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 283 .loc 1 301 0
+ 284 @ sp needed
+ 285 0000 7047 bx lr
+ 286 .cfi_endproc
+ 287 .LFE46:
+ 289 .section .text.HAL_PCDEx_BCD_Callback,"ax",%progbits
+ 290 .align 1
+ 291 .weak HAL_PCDEx_BCD_Callback
+ 292 .syntax unified
+ 293 .code 16
+ 294 .thumb_func
+ 295 .fpu softvfp
+ 297 HAL_PCDEx_BCD_Callback:
+ 298 .LFB47:
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /**
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @brief Send BatteryCharging message to user layer callback.
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param hpcd PCD handle
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @param msg LPM message
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** * @retval HAL status
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** __weak void HAL_PCDEx_BCD_Callback(PCD_HandleTypeDef *hpcd, PCD_BCD_MsgTypeDef msg)
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 299 .loc 1 310 0
+ 300 .cfi_startproc
+ 301 @ args = 0, pretend = 0, frame = 0
+ 302 @ frame_needed = 0, uses_anonymous_args = 0
+ 303 @ link register save eliminated.
+ 304 .LVL22:
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* Prevent unused argument(s) compilation warning */
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** UNUSED(hpcd);
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** UNUSED(msg);
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** the HAL_PCDEx_BCD_Callback could be implemented in the user file
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** */
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 305 .loc 1 318 0
+ 306 @ sp needed
+ 307 0000 7047 bx lr
+ 308 .cfi_endproc
+ 309 .LFE47:
+ 311 .section .text.HAL_PCDEx_BCD_VBUSDetect,"ax",%progbits
+ 312 .align 1
+ 313 .global HAL_PCDEx_BCD_VBUSDetect
+ 314 .syntax unified
+ 315 .code 16
+ 316 .thumb_func
+ 317 .fpu softvfp
+ 319 HAL_PCDEx_BCD_VBUSDetect:
+ 320 .LFB43:
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USB_TypeDef *USBx = hpcd->Instance;
+ ARM GAS /tmp/ccvcbbKR.s page 12
+
+
+ 321 .loc 1 161 0
+ 322 .cfi_startproc
+ 323 @ args = 0, pretend = 0, frame = 0
+ 324 @ frame_needed = 0, uses_anonymous_args = 0
+ 325 .LVL23:
+ 326 0000 70B5 push {r4, r5, r6, lr}
+ 327 .LCFI1:
+ 328 .cfi_def_cfa_offset 16
+ 329 .cfi_offset 4, -16
+ 330 .cfi_offset 5, -12
+ 331 .cfi_offset 6, -8
+ 332 .cfi_offset 14, -4
+ 333 0002 0600 movs r6, r0
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** uint32_t tickstart = HAL_GetTick();
+ 334 .loc 1 162 0
+ 335 0004 0468 ldr r4, [r0]
+ 336 .LVL24:
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 337 .loc 1 163 0
+ 338 0006 FFF7FEFF bl HAL_GetTick
+ 339 .LVL25:
+ 340 000a 0500 movs r5, r0
+ 341 .LVL26:
+ 342 .L14:
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 343 .loc 1 166 0
+ 344 000c 5823 movs r3, #88
+ 345 000e E35A ldrh r3, [r4, r3]
+ 346 0010 DB06 lsls r3, r3, #27
+ 347 0012 0BD4 bmi .L21
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 348 .loc 1 169 0
+ 349 0014 FFF7FEFF bl HAL_GetTick
+ 350 .LVL27:
+ 351 0018 401B subs r0, r0, r5
+ 352 001a FA23 movs r3, #250
+ 353 001c 9B00 lsls r3, r3, #2
+ 354 001e 9842 cmp r0, r3
+ 355 0020 F4D9 bls .L14
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 356 .loc 1 174 0
+ 357 0022 FF21 movs r1, #255
+ 358 0024 3000 movs r0, r6
+ 359 0026 FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 360 .LVL28:
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** }
+ 361 .loc 1 177 0
+ 362 002a 43E0 b .L13
+ 363 .L21:
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 364 .loc 1 181 0
+ 365 002c C820 movs r0, #200
+ 366 002e FFF7FEFF bl HAL_Delay
+ 367 .LVL29:
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 368 .loc 1 184 0
+ 369 0032 5823 movs r3, #88
+ ARM GAS /tmp/ccvcbbKR.s page 13
+
+
+ 370 0034 E35A ldrh r3, [r4, r3]
+ 371 0036 DB06 lsls r3, r3, #27
+ 372 0038 27D4 bmi .L22
+ 373 .L17:
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 374 .loc 1 194 0
+ 375 003a 5825 movs r5, #88
+ 376 .LVL30:
+ 377 003c 635B ldrh r3, [r4, r5]
+ 378 003e 0222 movs r2, #2
+ 379 0040 9343 bics r3, r2
+ 380 0042 6353 strh r3, [r4, r5]
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_PDEN);
+ 381 .loc 1 195 0
+ 382 0044 3220 movs r0, #50
+ 383 0046 FFF7FEFF bl HAL_Delay
+ 384 .LVL31:
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 385 .loc 1 196 0
+ 386 004a 635B ldrh r3, [r4, r5]
+ 387 004c 0422 movs r2, #4
+ 388 004e 1343 orrs r3, r2
+ 389 0050 6353 strh r3, [r4, r5]
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 390 .loc 1 197 0
+ 391 0052 3220 movs r0, #50
+ 392 0054 FFF7FEFF bl HAL_Delay
+ 393 .LVL32:
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 394 .loc 1 200 0
+ 395 0058 635B ldrh r3, [r4, r5]
+ 396 005a 9B06 lsls r3, r3, #26
+ 397 005c 1FD5 bpl .L18
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 398 .loc 1 204 0
+ 399 005e 635B ldrh r3, [r4, r5]
+ 400 0060 0422 movs r2, #4
+ 401 0062 9343 bics r3, r2
+ 402 0064 6353 strh r3, [r4, r5]
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** USBx->BCDR |= (USB_BCDR_SDEN);
+ 403 .loc 1 205 0
+ 404 0066 3220 movs r0, #50
+ 405 0068 FFF7FEFF bl HAL_Delay
+ 406 .LVL33:
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** HAL_Delay(50U);
+ 407 .loc 1 206 0
+ 408 006c 635B ldrh r3, [r4, r5]
+ 409 006e 0822 movs r2, #8
+ 410 0070 1343 orrs r3, r2
+ 411 0072 6353 strh r3, [r4, r5]
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 412 .loc 1 207 0
+ 413 0074 3220 movs r0, #50
+ 414 0076 FFF7FEFF bl HAL_Delay
+ 415 .LVL34:
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** {
+ 416 .loc 1 210 0
+ ARM GAS /tmp/ccvcbbKR.s page 14
+
+
+ 417 007a 635B ldrh r3, [r4, r5]
+ 418 007c 5B06 lsls r3, r3, #25
+ 419 007e 09D5 bpl .L19
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 420 .loc 1 216 0
+ 421 0080 FB21 movs r1, #251
+ 422 0082 3000 movs r0, r6
+ 423 0084 FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 424 .LVL35:
+ 425 0088 0DE0 b .L20
+ 426 .LVL36:
+ 427 .L22:
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 428 .loc 1 189 0
+ 429 008a FE21 movs r1, #254
+ 430 008c 3000 movs r0, r6
+ 431 008e FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 432 .LVL37:
+ 433 0092 D2E7 b .L17
+ 434 .LVL38:
+ 435 .L19:
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 436 .loc 1 225 0
+ 437 0094 FC21 movs r1, #252
+ 438 0096 3000 movs r0, r6
+ 439 0098 FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 440 .LVL39:
+ 441 009c 03E0 b .L20
+ 442 .L18:
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 443 .loc 1 235 0
+ 444 009e FD21 movs r1, #253
+ 445 00a0 3000 movs r0, r6
+ 446 00a2 FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 447 .LVL40:
+ 448 .L20:
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U)
+ 449 .loc 1 240 0
+ 450 00a6 3000 movs r0, r6
+ 451 00a8 FFF7FEFF bl HAL_PCDEx_DeActivateBCD
+ 452 .LVL41:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c **** #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */
+ 453 .loc 1 244 0
+ 454 00ac 0021 movs r1, #0
+ 455 00ae 3000 movs r0, r6
+ 456 00b0 FFF7FEFF bl HAL_PCDEx_BCD_Callback
+ 457 .LVL42:
+ 458 .L13:
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pcd_ex.c ****
+ 459 .loc 1 246 0
+ 460 @ sp needed
+ 461 .LVL43:
+ 462 .LVL44:
+ 463 00b4 70BD pop {r4, r5, r6, pc}
+ 464 .cfi_endproc
+ 465 .LFE43:
+ 467 .text
+ ARM GAS /tmp/ccvcbbKR.s page 15
+
+
+ 468 .Letext0:
+ 469 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 470 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 471 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 472 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 473 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 474 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 475 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 476 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccvcbbKR.s page 16
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_pcd_ex.c
+ /tmp/ccvcbbKR.s:16 .text.HAL_PCDEx_PMAConfig:0000000000000000 $t
+ /tmp/ccvcbbKR.s:23 .text.HAL_PCDEx_PMAConfig:0000000000000000 HAL_PCDEx_PMAConfig
+ /tmp/ccvcbbKR.s:87 .text.HAL_PCDEx_ActivateBCD:0000000000000000 $t
+ /tmp/ccvcbbKR.s:94 .text.HAL_PCDEx_ActivateBCD:0000000000000000 HAL_PCDEx_ActivateBCD
+ /tmp/ccvcbbKR.s:140 .text.HAL_PCDEx_DeActivateBCD:0000000000000000 $t
+ /tmp/ccvcbbKR.s:147 .text.HAL_PCDEx_DeActivateBCD:0000000000000000 HAL_PCDEx_DeActivateBCD
+ /tmp/ccvcbbKR.s:178 .text.HAL_PCDEx_ActivateLPM:0000000000000000 $t
+ /tmp/ccvcbbKR.s:185 .text.HAL_PCDEx_ActivateLPM:0000000000000000 HAL_PCDEx_ActivateLPM
+ /tmp/ccvcbbKR.s:225 .text.HAL_PCDEx_DeActivateLPM:0000000000000000 $t
+ /tmp/ccvcbbKR.s:232 .text.HAL_PCDEx_DeActivateLPM:0000000000000000 HAL_PCDEx_DeActivateLPM
+ /tmp/ccvcbbKR.s:268 .text.HAL_PCDEx_LPM_Callback:0000000000000000 $t
+ /tmp/ccvcbbKR.s:275 .text.HAL_PCDEx_LPM_Callback:0000000000000000 HAL_PCDEx_LPM_Callback
+ /tmp/ccvcbbKR.s:290 .text.HAL_PCDEx_BCD_Callback:0000000000000000 $t
+ /tmp/ccvcbbKR.s:297 .text.HAL_PCDEx_BCD_Callback:0000000000000000 HAL_PCDEx_BCD_Callback
+ /tmp/ccvcbbKR.s:312 .text.HAL_PCDEx_BCD_VBUSDetect:0000000000000000 $t
+ /tmp/ccvcbbKR.s:319 .text.HAL_PCDEx_BCD_VBUSDetect:0000000000000000 HAL_PCDEx_BCD_VBUSDetect
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+HAL_Delay
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.o b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.o
new file mode 100644
index 0000000..c601674
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pcd_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr.d b/fw/midi-dials/build/stm32f0xx_hal_pwr.d
new file mode 100644
index 0000000..90f1e7a
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_pwr.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr.lst b/fw/midi-dials/build/stm32f0xx_hal_pwr.lst
new file mode 100644
index 0000000..23c2fe9
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr.lst
@@ -0,0 +1,1014 @@
+ARM GAS /tmp/ccVEwfab.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 "stm32f0xx_hal_pwr.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_PWR_DeInit,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_PWR_DeInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_PWR_DeInit:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @file stm32f0xx_hal_pwr.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief PWR HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * functionalities of the Power Controller (PWR) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * + Initialization/de-initialization function
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * + Peripheral Control function
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ******************************************************************************
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @attention
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * All rights reserved.</center></h2>
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the "License"; You may not use this file except in compliance with the
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * License. You may obtain a copy of the License at:
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * opensource.org/licenses/BSD-3-Clause
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ******************************************************************************
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Includes ------------------------------------------------------------------*/
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #include "stm32f0xx_hal.h"
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR PWR
+ ARM GAS /tmp/ccVEwfab.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief PWR HAL module driver
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #ifdef HAL_PWR_MODULE_ENABLED
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private typedef -----------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private define ------------------------------------------------------------*/
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private macro -------------------------------------------------------------*/
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private variables ---------------------------------------------------------*/
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private function prototypes -----------------------------------------------*/
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Private functions ---------------------------------------------------------*/
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions PWR Exported Functions
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Initialization and de-initialization functions
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ===============================================================================
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ##### Initialization and de-initialization functions #####
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ===============================================================================
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** After reset, the backup domain (RTC registers, RTC backup data
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** registers) is protected against possible unwanted
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** write accesses.
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** To enable access to the RTC Domain and RTC registers, proceed as follows:
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Enable the Power Controller (PWR) APB1 interface clock using the
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_CLK_ENABLE() macro.
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Enable access to RTC domain using the HAL_PWR_EnableBkUpAccess() function.
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @endverbatim
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Deinitializes the PWR peripheral registers to their default reset values.
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DeInit(void)
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 26 .loc 1 76 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_FORCE_RESET();
+ 31 .loc 1 77 0
+ 32 0000 054B ldr r3, .L2
+ 33 0002 1969 ldr r1, [r3, #16]
+ 34 0004 8022 movs r2, #128
+ 35 0006 5205 lsls r2, r2, #21
+ 36 0008 0A43 orrs r2, r1
+ 37 000a 1A61 str r2, [r3, #16]
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __HAL_RCC_PWR_RELEASE_RESET();
+ ARM GAS /tmp/ccVEwfab.s page 3
+
+
+ 38 .loc 1 78 0
+ 39 000c 1A69 ldr r2, [r3, #16]
+ 40 000e 0349 ldr r1, .L2+4
+ 41 0010 0A40 ands r2, r1
+ 42 0012 1A61 str r2, [r3, #16]
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 43 .loc 1 79 0
+ 44 @ sp needed
+ 45 0014 7047 bx lr
+ 46 .L3:
+ 47 0016 C046 .align 2
+ 48 .L2:
+ 49 0018 00100240 .word 1073876992
+ 50 001c FFFFFFEF .word -268435457
+ 51 .cfi_endproc
+ 52 .LFE40:
+ 54 .section .text.HAL_PWR_EnableBkUpAccess,"ax",%progbits
+ 55 .align 1
+ 56 .global HAL_PWR_EnableBkUpAccess
+ 57 .syntax unified
+ 58 .code 16
+ 59 .thumb_func
+ 60 .fpu softvfp
+ 62 HAL_PWR_EnableBkUpAccess:
+ 63 .LFB41:
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables access to the backup domain (RTC registers, RTC
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * backup data registers when present).
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableBkUpAccess(void)
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 64 .loc 1 89 0
+ 65 .cfi_startproc
+ 66 @ args = 0, pretend = 0, frame = 0
+ 67 @ frame_needed = 0, uses_anonymous_args = 0
+ 68 @ link register save eliminated.
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR |= (uint32_t)PWR_CR_DBP;
+ 69 .loc 1 90 0
+ 70 0000 034A ldr r2, .L5
+ 71 0002 1168 ldr r1, [r2]
+ 72 0004 8023 movs r3, #128
+ 73 0006 5B00 lsls r3, r3, #1
+ 74 0008 0B43 orrs r3, r1
+ 75 000a 1360 str r3, [r2]
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 76 .loc 1 91 0
+ 77 @ sp needed
+ 78 000c 7047 bx lr
+ 79 .L6:
+ 80 000e C046 .align 2
+ 81 .L5:
+ 82 0010 00700040 .word 1073770496
+ 83 .cfi_endproc
+ ARM GAS /tmp/ccVEwfab.s page 4
+
+
+ 84 .LFE41:
+ 86 .section .text.HAL_PWR_DisableBkUpAccess,"ax",%progbits
+ 87 .align 1
+ 88 .global HAL_PWR_DisableBkUpAccess
+ 89 .syntax unified
+ 90 .code 16
+ 91 .thumb_func
+ 92 .fpu softvfp
+ 94 HAL_PWR_DisableBkUpAccess:
+ 95 .LFB42:
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables access to the backup domain (RTC registers, RTC
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * backup data registers when present).
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note If the HSE divided by 32 is used as the RTC clock, the
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Backup Domain Access should be kept enabled.
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableBkUpAccess(void)
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 96 .loc 1 101 0
+ 97 .cfi_startproc
+ 98 @ args = 0, pretend = 0, frame = 0
+ 99 @ frame_needed = 0, uses_anonymous_args = 0
+ 100 @ link register save eliminated.
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR &= ~((uint32_t)PWR_CR_DBP);
+ 101 .loc 1 102 0
+ 102 0000 024A ldr r2, .L8
+ 103 0002 1368 ldr r3, [r2]
+ 104 0004 0249 ldr r1, .L8+4
+ 105 0006 0B40 ands r3, r1
+ 106 0008 1360 str r3, [r2]
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 107 .loc 1 103 0
+ 108 @ sp needed
+ 109 000a 7047 bx lr
+ 110 .L9:
+ 111 .align 2
+ 112 .L8:
+ 113 000c 00700040 .word 1073770496
+ 114 0010 FFFEFFFF .word -257
+ 115 .cfi_endproc
+ 116 .LFE42:
+ 118 .section .text.HAL_PWR_EnableWakeUpPin,"ax",%progbits
+ 119 .align 1
+ 120 .global HAL_PWR_EnableWakeUpPin
+ 121 .syntax unified
+ 122 .code 16
+ 123 .thumb_func
+ 124 .fpu softvfp
+ 126 HAL_PWR_EnableWakeUpPin:
+ 127 .LFB43:
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @}
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ ARM GAS /tmp/ccVEwfab.s page 5
+
+
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /** @defgroup PWR_Exported_Functions_Group2 Peripheral Control functions
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Low Power modes configuration functions
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @verbatim
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ===============================================================================
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ##### Peripheral Control functions #####
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ===============================================================================
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** WakeUp pin configuration ***
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ================================
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) WakeUp pin is used to wakeup the system from Standby mode. This pin is
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** forced in input pull down configuration and is active on rising edges.
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) There are two WakeUp pins, and up to eight Wakeup pins on STM32F07x & STM32F09x devices.
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 1 on PA.00.
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 2 on PC.13.
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 3 on PE.06.(STM32F07x/STM32F09x)
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 4 on PA.02.(STM32F07x/STM32F09x)
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 5 on PC.05.(STM32F07x/STM32F09x)
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 6 on PB.05.(STM32F07x/STM32F09x)
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 7 on PB.15.(STM32F07x/STM32F09x)
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++)WakeUp Pin 8 on PF.02.(STM32F07x/STM32F09x)
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Low Power modes configuration ***
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =====================================
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The devices feature 3 low-power modes:
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Sleep mode: Cortex-M0 core stopped, peripherals kept running.
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Stop mode: all clocks are stopped, regulator running, regulator
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** in low power mode
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Standby mode: 1.2V domain powered off (mode not available on STM32F0x8 devices).
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Sleep mode ***
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ==================
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry:
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Sleep mode is entered by using the HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON, PWR_S
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** functions with
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit:
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Any peripheral interrupt acknowledged by the nested vectored interrupt
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** controller (NVIC) can wake up the device from Sleep mode.
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Stop mode ***
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =================
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** In Stop mode, all clocks in the 1.8V domain are stopped, the PLL, the HSI,
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** and the HSE RC oscillators are disabled. Internal SRAM and register contents
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** are preserved.
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The voltage regulator can be configured either in normal or low-power mode.
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** To minimize the consumption.
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry:
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Stop mode is entered using the HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPEN
+ ARM GAS /tmp/ccVEwfab.s page 6
+
+
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** function with:
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Main regulator ON.
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Low Power regulator ON.
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFI: enter STOP mode with WFI instruction
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) PWR_STOPENTRY_WFE: enter STOP mode with WFE instruction
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit:
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Any EXTI Line (Internal or External) configured in Interrupt/Event mode.
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) Some specific communication peripherals (CEC, USART, I2C) interrupts,
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** when programmed in wakeup mode (the peripheral must be
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** programmed in wakeup mode and the corresponding interrupt vector
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** must be enabled in the NVIC)
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Standby mode ***
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** ====================
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The Standby mode allows to achieve the lowest power consumption. It is based
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** on the Cortex-M0 deep sleep mode, with the voltage regulator disabled.
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The 1.8V domain is consequently powered off. The PLL, the HSI oscillator and
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** the HSE oscillator are also switched off. SRAM and register contents are lost
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** except for the RTC registers, RTC backup registers and Standby circuitry.
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The voltage regulator is OFF.
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Entry:
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) The Standby mode is entered using the HAL_PWR_EnterSTANDBYMode() function.
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Exit:
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) WKUP pin rising edge, RTC alarm (Alarm A), RTC wakeup,
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tamper event, time-stamp event, external reset in NRST pin, IWDG reset.
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** *** Auto-wakeup (AWU) from low-power mode ***
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** =============================================
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** [..]
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** The MCU can be woken up from low-power mode by an RTC Alarm event, an RTC
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** Wakeup event, a tamper event, a time-stamp event, or a comparator event,
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** without depending on an external interrupt (Auto-wakeup mode).
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) RTC auto-wakeup (AWU) from the Stop and Standby modes
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC alarm event, it is necessary to
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** configure the RTC to generate the RTC alarm using the HAL_RTC_SetAlarm_IT() function.
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC Tamper or time stamp event, it
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** is necessary to configure the RTC to detect the tamper or time stamp event using the
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** HAL_RTC_SetTimeStamp_IT() or HAL_RTC_SetTamper_IT() functions.
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with an RTC WakeUp event, it is necessary to
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** configure the RTC to generate the RTC WakeUp event using the HAL_RTC_SetWakeUpTimer_IT()
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+) Comparator auto-wakeup (AWU) from the Stop mode
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (++) To wake up from the Stop mode with a comparator wakeup event, it is necessary to:
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+++) Configure the EXTI Line associated with the comparator (example EXTI Line 22 for c
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** to be sensitive to to the selected edges (falling, rising or falling
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** and rising) (Interrupt or Event modes) using the EXTI_Init() function.
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** (+++) Configure the comparator to generate the event.
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** @endverbatim
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @{
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ ARM GAS /tmp/ccVEwfab.s page 7
+
+
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables the WakeUp PINx functionality.
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to enable.
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be value of :
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @ref PWREx_WakeUp_Pins
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx)
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 128 .loc 1 232 0
+ 129 .cfi_startproc
+ 130 @ args = 0, pretend = 0, frame = 0
+ 131 @ frame_needed = 0, uses_anonymous_args = 0
+ 132 @ link register save eliminated.
+ 133 .LVL0:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Enable the EWUPx pin */
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(PWR->CSR, WakeUpPinx);
+ 134 .loc 1 236 0
+ 135 0000 024A ldr r2, .L11
+ 136 0002 5368 ldr r3, [r2, #4]
+ 137 0004 1843 orrs r0, r3
+ 138 .LVL1:
+ 139 0006 5060 str r0, [r2, #4]
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 140 .loc 1 237 0
+ 141 @ sp needed
+ 142 0008 7047 bx lr
+ 143 .L12:
+ 144 000a C046 .align 2
+ 145 .L11:
+ 146 000c 00700040 .word 1073770496
+ 147 .cfi_endproc
+ 148 .LFE43:
+ 150 .section .text.HAL_PWR_DisableWakeUpPin,"ax",%progbits
+ 151 .align 1
+ 152 .global HAL_PWR_DisableWakeUpPin
+ 153 .syntax unified
+ 154 .code 16
+ 155 .thumb_func
+ 156 .fpu softvfp
+ 158 HAL_PWR_DisableWakeUpPin:
+ 159 .LFB44:
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables the WakeUp PINx functionality.
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param WakeUpPinx Specifies the Power Wake-Up pin to disable.
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be values of :
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @ref PWREx_WakeUp_Pins
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 160 .loc 1 247 0
+ 161 .cfi_startproc
+ ARM GAS /tmp/ccVEwfab.s page 8
+
+
+ 162 @ args = 0, pretend = 0, frame = 0
+ 163 @ frame_needed = 0, uses_anonymous_args = 0
+ 164 @ link register save eliminated.
+ 165 .LVL2:
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Disable the EWUPx pin */
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(PWR->CSR, WakeUpPinx);
+ 166 .loc 1 251 0
+ 167 0000 024A ldr r2, .L14
+ 168 0002 5368 ldr r3, [r2, #4]
+ 169 0004 8343 bics r3, r0
+ 170 0006 5360 str r3, [r2, #4]
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 171 .loc 1 252 0
+ 172 @ sp needed
+ 173 0008 7047 bx lr
+ 174 .L15:
+ 175 000a C046 .align 2
+ 176 .L14:
+ 177 000c 00700040 .word 1073770496
+ 178 .cfi_endproc
+ 179 .LFE44:
+ 181 .section .text.HAL_PWR_EnterSLEEPMode,"ax",%progbits
+ 182 .align 1
+ 183 .global HAL_PWR_EnterSLEEPMode
+ 184 .syntax unified
+ 185 .code 16
+ 186 .thumb_func
+ 187 .fpu softvfp
+ 189 HAL_PWR_EnterSLEEPMode:
+ 190 .LFB45:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters Sleep mode.
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Sleep mode, all I/O pins keep the same state as in Run mode.
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in SLEEP mode.
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * On STM32F0 devices, this parameter is a dummy value and it is ignored
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * as regulator can't be modified in this mode. Parameter is kept for platform
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * compatibility.
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param SLEEPEntry Specifies if SLEEP mode is entered with WFI or WFE instruction.
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * When WFI entry is used, tick interrupt have to be disabled if not desired as
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the interrupt wake up source.
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFI: enter SLEEP mode with WFI instruction
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_SLEEPENTRY_WFE: enter SLEEP mode with WFE instruction
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 191 .loc 1 270 0
+ 192 .cfi_startproc
+ 193 @ args = 0, pretend = 0, frame = 0
+ 194 @ frame_needed = 0, uses_anonymous_args = 0
+ 195 @ link register save eliminated.
+ 196 .LVL3:
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */
+ ARM GAS /tmp/ccVEwfab.s page 9
+
+
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator));
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry));
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SLEEPDEEP bit of Cortex System Control Register */
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
+ 197 .loc 1 276 0
+ 198 0000 064A ldr r2, .L20
+ 199 0002 1369 ldr r3, [r2, #16]
+ 200 0004 0420 movs r0, #4
+ 201 .LVL4:
+ 202 0006 8343 bics r3, r0
+ 203 0008 1361 str r3, [r2, #16]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select SLEEP mode entry -------------------------------------------------*/
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** if(SLEEPEntry == PWR_SLEEPENTRY_WFI)
+ 204 .loc 1 279 0
+ 205 000a 0129 cmp r1, #1
+ 206 000c 03D0 beq .L19
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI();
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** else
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Event */
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __SEV();
+ 207 .loc 1 287 0
+ 208 .syntax divided
+ 209 @ 287 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 210 000e 40BF sev
+ 211 @ 0 "" 2
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE();
+ 212 .loc 1 288 0
+ 213 @ 288 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 214 0010 20BF wfe
+ 215 @ 0 "" 2
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE();
+ 216 .loc 1 289 0
+ 217 @ 289 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 218 0012 20BF wfe
+ 219 @ 0 "" 2
+ 220 .thumb
+ 221 .syntax unified
+ 222 .L16:
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 223 .loc 1 291 0
+ 224 @ sp needed
+ 225 0014 7047 bx lr
+ 226 .L19:
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 227 .loc 1 282 0
+ 228 .syntax divided
+ 229 @ 282 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 230 0016 30BF wfi
+ 231 @ 0 "" 2
+ 232 .thumb
+ ARM GAS /tmp/ccVEwfab.s page 10
+
+
+ 233 .syntax unified
+ 234 0018 FCE7 b .L16
+ 235 .L21:
+ 236 001a C046 .align 2
+ 237 .L20:
+ 238 001c 00ED00E0 .word -536810240
+ 239 .cfi_endproc
+ 240 .LFE45:
+ 242 .section .text.HAL_PWR_EnterSTOPMode,"ax",%progbits
+ 243 .align 1
+ 244 .global HAL_PWR_EnterSTOPMode
+ 245 .syntax unified
+ 246 .code 16
+ 247 .thumb_func
+ 248 .fpu softvfp
+ 250 HAL_PWR_EnterSTOPMode:
+ 251 .LFB46:
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters STOP mode.
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Stop mode, all I/O pins keep the same state as in Run mode.
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note When exiting Stop mode by issuing an interrupt or a wakeup event,
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * the HSI RC oscillator is selected as system clock.
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note When the voltage regulator operates in low power mode, an additional
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * startup delay is incurred when waking up from Stop mode.
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * By keeping the internal regulator ON during Stop mode, the consumption
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * is higher although the startup time is reduced.
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param Regulator Specifies the regulator state in STOP mode.
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values:
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_MAINREGULATOR_ON: STOP mode with regulator ON
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_LOWPOWERREGULATOR_ON: STOP mode with low power regulator ON
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @param STOPEntry specifies if STOP mode in entered with WFI or WFE instruction.
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * This parameter can be one of the following values:
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFI:Enter STOP mode with WFI instruction
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @arg PWR_STOPENTRY_WFE: Enter STOP mode with WFE instruction
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 252 .loc 1 313 0
+ 253 .cfi_startproc
+ 254 @ args = 0, pretend = 0, frame = 0
+ 255 @ frame_needed = 0, uses_anonymous_args = 0
+ 256 .LVL5:
+ 257 0000 10B5 push {r4, lr}
+ 258 .LCFI0:
+ 259 .cfi_def_cfa_offset 8
+ 260 .cfi_offset 4, -8
+ 261 .cfi_offset 14, -4
+ 262 .LVL6:
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** uint32_t tmpreg = 0;
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Check the parameters */
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_REGULATOR(Regulator));
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** assert_param(IS_PWR_STOP_ENTRY(STOPEntry));
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select the regulator state in STOP mode ---------------------------------*/
+ ARM GAS /tmp/ccVEwfab.s page 11
+
+
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg = PWR->CR;
+ 263 .loc 1 321 0
+ 264 0002 0C4A ldr r2, .L26
+ 265 0004 1368 ldr r3, [r2]
+ 266 .LVL7:
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear PDDS and LPDS bits */
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg &= (uint32_t)~(PWR_CR_PDDS | PWR_CR_LPDS);
+ 267 .loc 1 324 0
+ 268 0006 0324 movs r4, #3
+ 269 0008 A343 bics r3, r4
+ 270 .LVL8:
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set LPDS bit according to Regulator value */
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** tmpreg |= Regulator;
+ 271 .loc 1 327 0
+ 272 000a 1843 orrs r0, r3
+ 273 .LVL9:
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Store the new value */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR = tmpreg;
+ 274 .loc 1 330 0
+ 275 000c 1060 str r0, [r2]
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
+ 276 .loc 1 333 0
+ 277 000e 0A4A ldr r2, .L26+4
+ 278 0010 1369 ldr r3, [r2, #16]
+ 279 0012 0420 movs r0, #4
+ 280 .LVL10:
+ 281 0014 0343 orrs r3, r0
+ 282 0016 1361 str r3, [r2, #16]
+ 283 .LVL11:
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select STOP mode entry --------------------------------------------------*/
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** if(STOPEntry == PWR_STOPENTRY_WFI)
+ 284 .loc 1 336 0
+ 285 0018 0129 cmp r1, #1
+ 286 001a 08D0 beq .L25
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI();
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** else
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Event */
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __SEV();
+ 287 .loc 1 344 0
+ 288 .syntax divided
+ 289 @ 344 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 290 001c 40BF sev
+ 291 @ 0 "" 2
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE();
+ 292 .loc 1 345 0
+ 293 @ 345 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 294 001e 20BF wfe
+ ARM GAS /tmp/ccVEwfab.s page 12
+
+
+ 295 @ 0 "" 2
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFE();
+ 296 .loc 1 346 0
+ 297 @ 346 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 298 0020 20BF wfe
+ 299 @ 0 "" 2
+ 300 .thumb
+ 301 .syntax unified
+ 302 .L24:
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Reset SLEEPDEEP bit of Cortex System Control Register */
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
+ 303 .loc 1 350 0
+ 304 0022 054A ldr r2, .L26+4
+ 305 0024 1369 ldr r3, [r2, #16]
+ 306 0026 0421 movs r1, #4
+ 307 .LVL12:
+ 308 0028 8B43 bics r3, r1
+ 309 002a 1361 str r3, [r2, #16]
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 310 .loc 1 351 0
+ 311 @ sp needed
+ 312 002c 10BD pop {r4, pc}
+ 313 .LVL13:
+ 314 .L25:
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 315 .loc 1 339 0
+ 316 .syntax divided
+ 317 @ 339 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 318 002e 30BF wfi
+ 319 @ 0 "" 2
+ 320 .thumb
+ 321 .syntax unified
+ 322 0030 F7E7 b .L24
+ 323 .L27:
+ 324 0032 C046 .align 2
+ 325 .L26:
+ 326 0034 00700040 .word 1073770496
+ 327 0038 00ED00E0 .word -536810240
+ 328 .cfi_endproc
+ 329 .LFE46:
+ 331 .section .text.HAL_PWR_EnterSTANDBYMode,"ax",%progbits
+ 332 .align 1
+ 333 .global HAL_PWR_EnterSTANDBYMode
+ 334 .syntax unified
+ 335 .code 16
+ 336 .thumb_func
+ 337 .fpu softvfp
+ 339 HAL_PWR_EnterSTANDBYMode:
+ 340 .LFB47:
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enters STANDBY mode.
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note In Standby mode, all I/O pins are high impedance except for:
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - Reset pad (still available)
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - RTC alternate function pins if configured for tamper, time-stamp, RTC
+ ARM GAS /tmp/ccVEwfab.s page 13
+
+
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Alarm out, or RTC clock calibration out.
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * - WKUP pins if enabled.
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * STM32F0x8 devices, the Stop mode is available, but it is
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * aningless to distinguish between voltage regulator in Low power
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * mode and voltage regulator in Run mode because the regulator
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * not used and the core is supplied directly from an external source.
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Consequently, the Standby mode is not available on those devices.
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnterSTANDBYMode(void)
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 341 .loc 1 368 0
+ 342 .cfi_startproc
+ 343 @ args = 0, pretend = 0, frame = 0
+ 344 @ frame_needed = 0, uses_anonymous_args = 0
+ 345 @ link register save eliminated.
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Select STANDBY mode */
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** PWR->CR |= (uint32_t)PWR_CR_PDDS;
+ 346 .loc 1 370 0
+ 347 0000 054A ldr r2, .L29
+ 348 0002 1368 ldr r3, [r2]
+ 349 0004 0221 movs r1, #2
+ 350 0006 0B43 orrs r3, r1
+ 351 0008 1360 str r3, [r2]
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPDEEP bit of Cortex System Control Register */
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
+ 352 .loc 1 373 0
+ 353 000a 044A ldr r2, .L29+4
+ 354 000c 1369 ldr r3, [r2, #16]
+ 355 000e 0231 adds r1, r1, #2
+ 356 0010 0B43 orrs r3, r1
+ 357 0012 1361 str r3, [r2, #16]
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* This option is used to ensure that store operations are completed */
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #if defined ( __CC_ARM)
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __force_stores();
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** #endif
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Request Wait For Interrupt */
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** __WFI();
+ 358 .loc 1 380 0
+ 359 .syntax divided
+ 360 @ 380 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c" 1
+ 361 0014 30BF wfi
+ 362 @ 0 "" 2
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 363 .loc 1 381 0
+ 364 .thumb
+ 365 .syntax unified
+ 366 @ sp needed
+ 367 0016 7047 bx lr
+ 368 .L30:
+ 369 .align 2
+ 370 .L29:
+ 371 0018 00700040 .word 1073770496
+ 372 001c 00ED00E0 .word -536810240
+ 373 .cfi_endproc
+ ARM GAS /tmp/ccVEwfab.s page 14
+
+
+ 374 .LFE47:
+ 376 .section .text.HAL_PWR_EnableSleepOnExit,"ax",%progbits
+ 377 .align 1
+ 378 .global HAL_PWR_EnableSleepOnExit
+ 379 .syntax unified
+ 380 .code 16
+ 381 .thumb_func
+ 382 .fpu softvfp
+ 384 HAL_PWR_EnableSleepOnExit:
+ 385 .LFB48:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Indicates Sleep-On-Exit when returning from Handler mode to Thread mode.
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Set SLEEPONEXIT bit of SCR register. When this bit is set, the processor
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * Setting this bit is useful when the processor is expected to run only on
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * interruptions handling.
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableSleepOnExit(void)
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 386 .loc 1 392 0
+ 387 .cfi_startproc
+ 388 @ args = 0, pretend = 0, frame = 0
+ 389 @ frame_needed = 0, uses_anonymous_args = 0
+ 390 @ link register save eliminated.
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SLEEPONEXIT bit of Cortex System Control Register */
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
+ 391 .loc 1 394 0
+ 392 0000 024A ldr r2, .L32
+ 393 0002 1369 ldr r3, [r2, #16]
+ 394 0004 0221 movs r1, #2
+ 395 0006 0B43 orrs r3, r1
+ 396 0008 1361 str r3, [r2, #16]
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 397 .loc 1 395 0
+ 398 @ sp needed
+ 399 000a 7047 bx lr
+ 400 .L33:
+ 401 .align 2
+ 402 .L32:
+ 403 000c 00ED00E0 .word -536810240
+ 404 .cfi_endproc
+ 405 .LFE48:
+ 407 .section .text.HAL_PWR_DisableSleepOnExit,"ax",%progbits
+ 408 .align 1
+ 409 .global HAL_PWR_DisableSleepOnExit
+ 410 .syntax unified
+ 411 .code 16
+ 412 .thumb_func
+ 413 .fpu softvfp
+ 415 HAL_PWR_DisableSleepOnExit:
+ 416 .LFB49:
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables Sleep-On-Exit feature when returning from Handler mode to Thread mode.
+ ARM GAS /tmp/ccVEwfab.s page 15
+
+
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Clears SLEEPONEXIT bit of SCR register. When this bit is set, the processor
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * re-enters SLEEP mode when an interruption handling is over.
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableSleepOnExit(void)
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 417 .loc 1 405 0
+ 418 .cfi_startproc
+ 419 @ args = 0, pretend = 0, frame = 0
+ 420 @ frame_needed = 0, uses_anonymous_args = 0
+ 421 @ link register save eliminated.
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SLEEPONEXIT bit of Cortex System Control Register */
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
+ 422 .loc 1 407 0
+ 423 0000 024A ldr r2, .L35
+ 424 0002 1369 ldr r3, [r2, #16]
+ 425 0004 0221 movs r1, #2
+ 426 0006 8B43 bics r3, r1
+ 427 0008 1361 str r3, [r2, #16]
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 428 .loc 1 408 0
+ 429 @ sp needed
+ 430 000a 7047 bx lr
+ 431 .L36:
+ 432 .align 2
+ 433 .L35:
+ 434 000c 00ED00E0 .word -536810240
+ 435 .cfi_endproc
+ 436 .LFE49:
+ 438 .section .text.HAL_PWR_EnableSEVOnPend,"ax",%progbits
+ 439 .align 1
+ 440 .global HAL_PWR_EnableSEVOnPend
+ 441 .syntax unified
+ 442 .code 16
+ 443 .thumb_func
+ 444 .fpu softvfp
+ 446 HAL_PWR_EnableSEVOnPend:
+ 447 .LFB50:
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Enables CORTEX M4 SEVONPEND bit.
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Sets SEVONPEND bit of SCR register. When this bit is set, this causes
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_EnableSEVOnPend(void)
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 448 .loc 1 419 0
+ 449 .cfi_startproc
+ 450 @ args = 0, pretend = 0, frame = 0
+ 451 @ frame_needed = 0, uses_anonymous_args = 0
+ 452 @ link register save eliminated.
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Set SEVONPEND bit of Cortex System Control Register */
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
+ 453 .loc 1 421 0
+ ARM GAS /tmp/ccVEwfab.s page 16
+
+
+ 454 0000 024A ldr r2, .L38
+ 455 0002 1369 ldr r3, [r2, #16]
+ 456 0004 1021 movs r1, #16
+ 457 0006 0B43 orrs r3, r1
+ 458 0008 1361 str r3, [r2, #16]
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 459 .loc 1 422 0
+ 460 @ sp needed
+ 461 000a 7047 bx lr
+ 462 .L39:
+ 463 .align 2
+ 464 .L38:
+ 465 000c 00ED00E0 .word -536810240
+ 466 .cfi_endproc
+ 467 .LFE50:
+ 469 .section .text.HAL_PWR_DisableSEVOnPend,"ax",%progbits
+ 470 .align 1
+ 471 .global HAL_PWR_DisableSEVOnPend
+ 472 .syntax unified
+ 473 .code 16
+ 474 .thumb_func
+ 475 .fpu softvfp
+ 477 HAL_PWR_DisableSEVOnPend:
+ 478 .LFB51:
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c ****
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /**
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @brief Disables CORTEX M4 SEVONPEND bit.
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @note Clears SEVONPEND bit of SCR register. When this bit is set, this causes
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * WFE to wake up when an interrupt moves from inactive to pended.
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** * @retval None
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** */
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** void HAL_PWR_DisableSEVOnPend(void)
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** {
+ 479 .loc 1 432 0
+ 480 .cfi_startproc
+ 481 @ args = 0, pretend = 0, frame = 0
+ 482 @ frame_needed = 0, uses_anonymous_args = 0
+ 483 @ link register save eliminated.
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** /* Clear SEVONPEND bit of Cortex System Control Register */
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
+ 484 .loc 1 434 0
+ 485 0000 024A ldr r2, .L41
+ 486 0002 1369 ldr r3, [r2, #16]
+ 487 0004 1021 movs r1, #16
+ 488 0006 8B43 bics r3, r1
+ 489 0008 1361 str r3, [r2, #16]
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr.c **** }
+ 490 .loc 1 435 0
+ 491 @ sp needed
+ 492 000a 7047 bx lr
+ 493 .L42:
+ 494 .align 2
+ 495 .L41:
+ 496 000c 00ED00E0 .word -536810240
+ 497 .cfi_endproc
+ 498 .LFE51:
+ ARM GAS /tmp/ccVEwfab.s page 17
+
+
+ 500 .text
+ 501 .Letext0:
+ 502 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 503 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 504 .file 4 "Drivers/CMSIS/Include/core_cm0.h"
+ 505 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 506 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 507 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccVEwfab.s page 18
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_pwr.c
+ /tmp/ccVEwfab.s:16 .text.HAL_PWR_DeInit:0000000000000000 $t
+ /tmp/ccVEwfab.s:23 .text.HAL_PWR_DeInit:0000000000000000 HAL_PWR_DeInit
+ /tmp/ccVEwfab.s:49 .text.HAL_PWR_DeInit:0000000000000018 $d
+ /tmp/ccVEwfab.s:55 .text.HAL_PWR_EnableBkUpAccess:0000000000000000 $t
+ /tmp/ccVEwfab.s:62 .text.HAL_PWR_EnableBkUpAccess:0000000000000000 HAL_PWR_EnableBkUpAccess
+ /tmp/ccVEwfab.s:82 .text.HAL_PWR_EnableBkUpAccess:0000000000000010 $d
+ /tmp/ccVEwfab.s:87 .text.HAL_PWR_DisableBkUpAccess:0000000000000000 $t
+ /tmp/ccVEwfab.s:94 .text.HAL_PWR_DisableBkUpAccess:0000000000000000 HAL_PWR_DisableBkUpAccess
+ /tmp/ccVEwfab.s:113 .text.HAL_PWR_DisableBkUpAccess:000000000000000c $d
+ /tmp/ccVEwfab.s:119 .text.HAL_PWR_EnableWakeUpPin:0000000000000000 $t
+ /tmp/ccVEwfab.s:126 .text.HAL_PWR_EnableWakeUpPin:0000000000000000 HAL_PWR_EnableWakeUpPin
+ /tmp/ccVEwfab.s:146 .text.HAL_PWR_EnableWakeUpPin:000000000000000c $d
+ /tmp/ccVEwfab.s:151 .text.HAL_PWR_DisableWakeUpPin:0000000000000000 $t
+ /tmp/ccVEwfab.s:158 .text.HAL_PWR_DisableWakeUpPin:0000000000000000 HAL_PWR_DisableWakeUpPin
+ /tmp/ccVEwfab.s:177 .text.HAL_PWR_DisableWakeUpPin:000000000000000c $d
+ /tmp/ccVEwfab.s:182 .text.HAL_PWR_EnterSLEEPMode:0000000000000000 $t
+ /tmp/ccVEwfab.s:189 .text.HAL_PWR_EnterSLEEPMode:0000000000000000 HAL_PWR_EnterSLEEPMode
+ /tmp/ccVEwfab.s:238 .text.HAL_PWR_EnterSLEEPMode:000000000000001c $d
+ /tmp/ccVEwfab.s:243 .text.HAL_PWR_EnterSTOPMode:0000000000000000 $t
+ /tmp/ccVEwfab.s:250 .text.HAL_PWR_EnterSTOPMode:0000000000000000 HAL_PWR_EnterSTOPMode
+ /tmp/ccVEwfab.s:326 .text.HAL_PWR_EnterSTOPMode:0000000000000034 $d
+ /tmp/ccVEwfab.s:332 .text.HAL_PWR_EnterSTANDBYMode:0000000000000000 $t
+ /tmp/ccVEwfab.s:339 .text.HAL_PWR_EnterSTANDBYMode:0000000000000000 HAL_PWR_EnterSTANDBYMode
+ /tmp/ccVEwfab.s:371 .text.HAL_PWR_EnterSTANDBYMode:0000000000000018 $d
+ /tmp/ccVEwfab.s:377 .text.HAL_PWR_EnableSleepOnExit:0000000000000000 $t
+ /tmp/ccVEwfab.s:384 .text.HAL_PWR_EnableSleepOnExit:0000000000000000 HAL_PWR_EnableSleepOnExit
+ /tmp/ccVEwfab.s:403 .text.HAL_PWR_EnableSleepOnExit:000000000000000c $d
+ /tmp/ccVEwfab.s:408 .text.HAL_PWR_DisableSleepOnExit:0000000000000000 $t
+ /tmp/ccVEwfab.s:415 .text.HAL_PWR_DisableSleepOnExit:0000000000000000 HAL_PWR_DisableSleepOnExit
+ /tmp/ccVEwfab.s:434 .text.HAL_PWR_DisableSleepOnExit:000000000000000c $d
+ /tmp/ccVEwfab.s:439 .text.HAL_PWR_EnableSEVOnPend:0000000000000000 $t
+ /tmp/ccVEwfab.s:446 .text.HAL_PWR_EnableSEVOnPend:0000000000000000 HAL_PWR_EnableSEVOnPend
+ /tmp/ccVEwfab.s:465 .text.HAL_PWR_EnableSEVOnPend:000000000000000c $d
+ /tmp/ccVEwfab.s:470 .text.HAL_PWR_DisableSEVOnPend:0000000000000000 $t
+ /tmp/ccVEwfab.s:477 .text.HAL_PWR_DisableSEVOnPend:0000000000000000 HAL_PWR_DisableSEVOnPend
+ /tmp/ccVEwfab.s:496 .text.HAL_PWR_DisableSEVOnPend:000000000000000c $d
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr.o b/fw/midi-dials/build/stm32f0xx_hal_pwr.o
new file mode 100644
index 0000000..cded285
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.d b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.d
new file mode 100644
index 0000000..d8bb886
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_pwr_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.lst
new file mode 100644
index 0000000..6eac358
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.lst
@@ -0,0 +1,710 @@
+ARM GAS /tmp/ccpHOCtt.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 "stm32f0xx_hal_pwr_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_PWR_ConfigPVD,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_PWR_ConfigPVD
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_PWR_ConfigPVD:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @file stm32f0xx_hal_pwr_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Extended PWR HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * functionalities of the Power Controller (PWR) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * + Extended Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * + Extended Peripheral Control functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ******************************************************************************
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @attention
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * All rights reserved.</center></h2>
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * License. You may obtain a copy of the License at:
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ******************************************************************************
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Includes ------------------------------------------------------------------*/
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #include "stm32f0xx_hal.h"
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx PWREx
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWREx HAL module driver
+ ARM GAS /tmp/ccpHOCtt.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #ifdef HAL_PWR_MODULE_ENABLED
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private typedef -----------------------------------------------------------*/
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private define ------------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Private_Constants PWREx Private Constants
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_MODE_IT (0x00010000U)
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_MODE_EVT (0x00020000U)
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_RISING_EDGE (0x00000001U)
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #define PVD_FALLING_EDGE (0x00000002U)
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @}
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private macro -------------------------------------------------------------*/
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private variables ---------------------------------------------------------*/
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Private function prototypes -----------------------------------------------*/
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Exported functions ---------------------------------------------------------*/
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Exported_Functions PWREx Exported Functions
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /** @defgroup PWREx_Exported_Functions_Group1 Peripheral Extended Control Functions
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Extended Peripheral Control functions
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** @verbatim
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ===============================================================================
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ##### Peripheral extended control functions #####
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ===============================================================================
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *** PVD configuration ***
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** =========================
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** [..]
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) The PVD is used to monitor the VDD power supply by comparing it to a
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** threshold selected by the PVD Level (PLS[2:0] bits in the PWR_CR).
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) A PVDO flag is available to indicate if VDD/VDDA is higher or lower
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** than the PVD threshold. This event is internally connected to the EXTI
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** line16 and can generate an interrupt if enabled. This is done through
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWR_ConfigPVD(), HAL_PWR_EnablePVD() functions.
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) The PVD is stopped in Standby mode.
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** -@- PVD is not available on STM32F030x4/x6/x8
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** *** VDDIO2 Monitor Configuration ***
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** ====================================
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** [..]
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) VDDIO2 monitor is used to monitor the VDDIO2 power supply by comparing it
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** to VREFInt Voltage
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** (+) This monitor is internally connected to the EXTI line31
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** and can generate an interrupt if enabled. This is done through
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWREx_EnableVddio2Monitor() function.
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** -@- VDDIO2 is available on STM32F07x/09x/04x
+ ARM GAS /tmp/ccpHOCtt.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** @endverbatim
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @{
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #if defined (STM32F031x6) || defined (STM32F051x8) || \
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F071xB) || defined (STM32F091xC) || \
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F042x6) || defined (STM32F072xB)
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Configures the voltage threshold detected by the Power Voltage Detector(PVD).
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @param sConfigPVD pointer to an PWR_PVDTypeDef structure that contains the configuration
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * information for the PVD.
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note Refer to the electrical characteristics of your device datasheet for
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * more details about the voltage threshold corresponding to each
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * detection level.
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD)
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 26 .loc 1 109 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check the parameters */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** assert_param(IS_PWR_PVD_LEVEL(sConfigPVD->PVDLevel));
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** assert_param(IS_PWR_PVD_MODE(sConfigPVD->Mode));
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Set PLS[7:5] bits according to PVDLevel value */
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** MODIFY_REG(PWR->CR, PWR_CR_PLS, sConfigPVD->PVDLevel);
+ 32 .loc 1 115 0
+ 33 0000 1C4A ldr r2, .L6
+ 34 0002 1368 ldr r3, [r2]
+ 35 0004 E021 movs r1, #224
+ 36 0006 8B43 bics r3, r1
+ 37 0008 0168 ldr r1, [r0]
+ 38 000a 0B43 orrs r3, r1
+ 39 000c 1360 str r3, [r2]
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear any previous config. Keep it clear if no event or IT mode is selected */
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_EVENT();
+ 40 .loc 1 118 0
+ 41 000e 1A4B ldr r3, .L6+4
+ 42 0010 5968 ldr r1, [r3, #4]
+ 43 0012 1A4A ldr r2, .L6+8
+ 44 0014 1140 ands r1, r2
+ 45 0016 5960 str r1, [r3, #4]
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_IT();
+ 46 .loc 1 119 0
+ 47 0018 1968 ldr r1, [r3]
+ 48 001a 1140 ands r1, r2
+ 49 001c 1960 str r1, [r3]
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE();__HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE();
+ 50 .loc 1 120 0
+ 51 001e 9968 ldr r1, [r3, #8]
+ 52 0020 1140 ands r1, r2
+ ARM GAS /tmp/ccpHOCtt.s page 4
+
+
+ 53 0022 9960 str r1, [r3, #8]
+ 54 0024 D968 ldr r1, [r3, #12]
+ 55 0026 0A40 ands r2, r1
+ 56 0028 DA60 str r2, [r3, #12]
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure interrupt mode */
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_MODE_IT) == PVD_MODE_IT)
+ 57 .loc 1 123 0
+ 58 002a 4368 ldr r3, [r0, #4]
+ 59 002c DB03 lsls r3, r3, #15
+ 60 002e 05D5 bpl .L2
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_IT();
+ 61 .loc 1 125 0
+ 62 0030 114A ldr r2, .L6+4
+ 63 0032 1168 ldr r1, [r2]
+ 64 0034 8023 movs r3, #128
+ 65 0036 5B02 lsls r3, r3, #9
+ 66 0038 0B43 orrs r3, r1
+ 67 003a 1360 str r3, [r2]
+ 68 .L2:
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure event mode */
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_MODE_EVT) == PVD_MODE_EVT)
+ 69 .loc 1 129 0
+ 70 003c 4368 ldr r3, [r0, #4]
+ 71 003e 9B03 lsls r3, r3, #14
+ 72 0040 05D5 bpl .L3
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_EVENT();
+ 73 .loc 1 131 0
+ 74 0042 0D4A ldr r2, .L6+4
+ 75 0044 5168 ldr r1, [r2, #4]
+ 76 0046 8023 movs r3, #128
+ 77 0048 5B02 lsls r3, r3, #9
+ 78 004a 0B43 orrs r3, r1
+ 79 004c 5360 str r3, [r2, #4]
+ 80 .L3:
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Configure the edge */
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_RISING_EDGE) == PVD_RISING_EDGE)
+ 81 .loc 1 135 0
+ 82 004e 4368 ldr r3, [r0, #4]
+ 83 0050 DB07 lsls r3, r3, #31
+ 84 0052 05D5 bpl .L4
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE();
+ 85 .loc 1 137 0
+ 86 0054 084A ldr r2, .L6+4
+ 87 0056 9168 ldr r1, [r2, #8]
+ 88 0058 8023 movs r3, #128
+ 89 005a 5B02 lsls r3, r3, #9
+ 90 005c 0B43 orrs r3, r1
+ 91 005e 9360 str r3, [r2, #8]
+ 92 .L4:
+ ARM GAS /tmp/ccpHOCtt.s page 5
+
+
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if((sConfigPVD->Mode & PVD_FALLING_EDGE) == PVD_FALLING_EDGE)
+ 93 .loc 1 140 0
+ 94 0060 4368 ldr r3, [r0, #4]
+ 95 0062 9B07 lsls r3, r3, #30
+ 96 0064 05D5 bpl .L1
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE();
+ 97 .loc 1 142 0
+ 98 0066 044A ldr r2, .L6+4
+ 99 0068 D168 ldr r1, [r2, #12]
+ 100 006a 8023 movs r3, #128
+ 101 006c 5B02 lsls r3, r3, #9
+ 102 006e 0B43 orrs r3, r1
+ 103 0070 D360 str r3, [r2, #12]
+ 104 .L1:
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 105 .loc 1 144 0
+ 106 @ sp needed
+ 107 0072 7047 bx lr
+ 108 .L7:
+ 109 .align 2
+ 110 .L6:
+ 111 0074 00700040 .word 1073770496
+ 112 0078 00040140 .word 1073808384
+ 113 007c FFFFFEFF .word -65537
+ 114 .cfi_endproc
+ 115 .LFE40:
+ 117 .section .text.HAL_PWR_EnablePVD,"ax",%progbits
+ 118 .align 1
+ 119 .global HAL_PWR_EnablePVD
+ 120 .syntax unified
+ 121 .code 16
+ 122 .thumb_func
+ 123 .fpu softvfp
+ 125 HAL_PWR_EnablePVD:
+ 126 .LFB41:
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Enables the Power Voltage Detector(PVD).
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_EnablePVD(void)
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 127 .loc 1 151 0
+ 128 .cfi_startproc
+ 129 @ args = 0, pretend = 0, frame = 0
+ 130 @ frame_needed = 0, uses_anonymous_args = 0
+ 131 @ link register save eliminated.
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** PWR->CR |= (uint32_t)PWR_CR_PVDE;
+ 132 .loc 1 152 0
+ 133 0000 024A ldr r2, .L9
+ 134 0002 1368 ldr r3, [r2]
+ 135 0004 1021 movs r1, #16
+ 136 0006 0B43 orrs r3, r1
+ ARM GAS /tmp/ccpHOCtt.s page 6
+
+
+ 137 0008 1360 str r3, [r2]
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 138 .loc 1 153 0
+ 139 @ sp needed
+ 140 000a 7047 bx lr
+ 141 .L10:
+ 142 .align 2
+ 143 .L9:
+ 144 000c 00700040 .word 1073770496
+ 145 .cfi_endproc
+ 146 .LFE41:
+ 148 .section .text.HAL_PWR_DisablePVD,"ax",%progbits
+ 149 .align 1
+ 150 .global HAL_PWR_DisablePVD
+ 151 .syntax unified
+ 152 .code 16
+ 153 .thumb_func
+ 154 .fpu softvfp
+ 156 HAL_PWR_DisablePVD:
+ 157 .LFB42:
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Disables the Power Voltage Detector(PVD).
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_DisablePVD(void)
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 158 .loc 1 160 0
+ 159 .cfi_startproc
+ 160 @ args = 0, pretend = 0, frame = 0
+ 161 @ frame_needed = 0, uses_anonymous_args = 0
+ 162 @ link register save eliminated.
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** PWR->CR &= ~((uint32_t)PWR_CR_PVDE);
+ 163 .loc 1 161 0
+ 164 0000 024A ldr r2, .L12
+ 165 0002 1368 ldr r3, [r2]
+ 166 0004 1021 movs r1, #16
+ 167 0006 8B43 bics r3, r1
+ 168 0008 1360 str r3, [r2]
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 169 .loc 1 162 0
+ 170 @ sp needed
+ 171 000a 7047 bx lr
+ 172 .L13:
+ 173 .align 2
+ 174 .L12:
+ 175 000c 00700040 .word 1073770496
+ 176 .cfi_endproc
+ 177 .LFE42:
+ 179 .section .text.HAL_PWR_PVDCallback,"ax",%progbits
+ 180 .align 1
+ 181 .weak HAL_PWR_PVDCallback
+ 182 .syntax unified
+ 183 .code 16
+ 184 .thumb_func
+ 185 .fpu softvfp
+ 187 HAL_PWR_PVDCallback:
+ ARM GAS /tmp/ccpHOCtt.s page 7
+
+
+ 188 .LFB44:
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief This function handles the PWR PVD interrupt request.
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note This API should be called under the PVD_IRQHandler() or PVD_VDDIO2_IRQHandler().
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWR_PVD_IRQHandler(void)
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if(__HAL_PWR_PVD_EXTI_GET_FLAG() != RESET)
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* PWR PVD interrupt user callback */
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWR_PVDCallback();
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear PWR Exti pending bit */
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_PVD_EXTI_CLEAR_FLAG();
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWR PVD interrupt callback
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __weak void HAL_PWR_PVDCallback(void)
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 189 .loc 1 187 0
+ 190 .cfi_startproc
+ 191 @ args = 0, pretend = 0, frame = 0
+ 192 @ frame_needed = 0, uses_anonymous_args = 0
+ 193 @ link register save eliminated.
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** the HAL_PWR_PVDCallback could be implemented in the user file
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 194 .loc 1 191 0
+ 195 @ sp needed
+ 196 0000 7047 bx lr
+ 197 .cfi_endproc
+ 198 .LFE44:
+ 200 .section .text.HAL_PWR_PVD_IRQHandler,"ax",%progbits
+ 201 .align 1
+ 202 .global HAL_PWR_PVD_IRQHandler
+ 203 .syntax unified
+ 204 .code 16
+ 205 .thumb_func
+ 206 .fpu softvfp
+ 208 HAL_PWR_PVD_IRQHandler:
+ 209 .LFB43:
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */
+ 210 .loc 1 170 0
+ 211 .cfi_startproc
+ 212 @ args = 0, pretend = 0, frame = 0
+ 213 @ frame_needed = 0, uses_anonymous_args = 0
+ 214 0000 10B5 push {r4, lr}
+ 215 .LCFI0:
+ 216 .cfi_def_cfa_offset 8
+ ARM GAS /tmp/ccpHOCtt.s page 8
+
+
+ 217 .cfi_offset 4, -8
+ 218 .cfi_offset 14, -4
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 219 .loc 1 172 0
+ 220 0002 064B ldr r3, .L18
+ 221 0004 5B69 ldr r3, [r3, #20]
+ 222 0006 DB03 lsls r3, r3, #15
+ 223 0008 00D4 bmi .L17
+ 224 .L15:
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 225 .loc 1 180 0
+ 226 @ sp needed
+ 227 000a 10BD pop {r4, pc}
+ 228 .L17:
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 229 .loc 1 175 0
+ 230 000c FFF7FEFF bl HAL_PWR_PVDCallback
+ 231 .LVL1:
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 232 .loc 1 178 0
+ 233 0010 024B ldr r3, .L18
+ 234 0012 8022 movs r2, #128
+ 235 0014 5202 lsls r2, r2, #9
+ 236 0016 5A61 str r2, [r3, #20]
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 237 .loc 1 180 0
+ 238 0018 F7E7 b .L15
+ 239 .L19:
+ 240 001a C046 .align 2
+ 241 .L18:
+ 242 001c 00040140 .word 1073808384
+ 243 .cfi_endproc
+ 244 .LFE43:
+ 246 .section .text.HAL_PWREx_EnableVddio2Monitor,"ax",%progbits
+ 247 .align 1
+ 248 .global HAL_PWREx_EnableVddio2Monitor
+ 249 .syntax unified
+ 250 .code 16
+ 251 .thumb_func
+ 252 .fpu softvfp
+ 254 HAL_PWREx_EnableVddio2Monitor:
+ 255 .LFB45:
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #endif /* defined (STM32F031x6) || defined (STM32F051x8) || */
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* defined (STM32F071xB) || defined (STM32F091xC) || */
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* defined (STM32F042x6) || defined (STM32F072xB) */
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** #if defined (STM32F042x6) || defined (STM32F048xx) || \
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F071xB) || defined (STM32F072xB) || defined (STM32F078xx) || \
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** defined (STM32F091xC) || defined (STM32F098xx)
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Enable VDDIO2 monitor: enable Exti 31 and falling edge detection.
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note If Exti 31 is enable correlty and VDDIO2 voltage goes below Vrefint,
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** an interrupt is generated Irq line 1.
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** NVIS has to be enable by user.
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ ARM GAS /tmp/ccpHOCtt.s page 9
+
+
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_EnableVddio2Monitor(void)
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 256 .loc 1 208 0
+ 257 .cfi_startproc
+ 258 @ args = 0, pretend = 0, frame = 0
+ 259 @ frame_needed = 0, uses_anonymous_args = 0
+ 260 @ link register save eliminated.
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_ENABLE_IT();
+ 261 .loc 1 209 0
+ 262 0000 044B ldr r3, .L21
+ 263 0002 1968 ldr r1, [r3]
+ 264 0004 8022 movs r2, #128
+ 265 0006 1206 lsls r2, r2, #24
+ 266 0008 1143 orrs r1, r2
+ 267 000a 1960 str r1, [r3]
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_ENABLE_FALLING_EDGE();
+ 268 .loc 1 210 0
+ 269 000c D968 ldr r1, [r3, #12]
+ 270 000e 0A43 orrs r2, r1
+ 271 0010 DA60 str r2, [r3, #12]
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 272 .loc 1 211 0
+ 273 @ sp needed
+ 274 0012 7047 bx lr
+ 275 .L22:
+ 276 .align 2
+ 277 .L21:
+ 278 0014 00040140 .word 1073808384
+ 279 .cfi_endproc
+ 280 .LFE45:
+ 282 .section .text.HAL_PWREx_DisableVddio2Monitor,"ax",%progbits
+ 283 .align 1
+ 284 .global HAL_PWREx_DisableVddio2Monitor
+ 285 .syntax unified
+ 286 .code 16
+ 287 .thumb_func
+ 288 .fpu softvfp
+ 290 HAL_PWREx_DisableVddio2Monitor:
+ 291 .LFB46:
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief Disable the Vddio2 Monitor.
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_DisableVddio2Monitor(void)
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 292 .loc 1 218 0
+ 293 .cfi_startproc
+ 294 @ args = 0, pretend = 0, frame = 0
+ 295 @ frame_needed = 0, uses_anonymous_args = 0
+ 296 @ link register save eliminated.
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_DISABLE_IT();
+ 297 .loc 1 219 0
+ 298 0000 064B ldr r3, .L24
+ 299 0002 1A68 ldr r2, [r3]
+ 300 0004 5200 lsls r2, r2, #1
+ 301 0006 5208 lsrs r2, r2, #1
+ ARM GAS /tmp/ccpHOCtt.s page 10
+
+
+ 302 0008 1A60 str r2, [r3]
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_DISABLE_FALLING_EDGE();
+ 303 .loc 1 220 0
+ 304 000a DA68 ldr r2, [r3, #12]
+ 305 000c 5200 lsls r2, r2, #1
+ 306 000e 5208 lsrs r2, r2, #1
+ 307 0010 DA60 str r2, [r3, #12]
+ 308 0012 9A68 ldr r2, [r3, #8]
+ 309 0014 5200 lsls r2, r2, #1
+ 310 0016 5208 lsrs r2, r2, #1
+ 311 0018 9A60 str r2, [r3, #8]
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 312 .loc 1 222 0
+ 313 @ sp needed
+ 314 001a 7047 bx lr
+ 315 .L25:
+ 316 .align 2
+ 317 .L24:
+ 318 001c 00040140 .word 1073808384
+ 319 .cfi_endproc
+ 320 .LFE46:
+ 322 .section .text.HAL_PWREx_Vddio2MonitorCallback,"ax",%progbits
+ 323 .align 1
+ 324 .weak HAL_PWREx_Vddio2MonitorCallback
+ 325 .syntax unified
+ 326 .code 16
+ 327 .thumb_func
+ 328 .fpu softvfp
+ 330 HAL_PWREx_Vddio2MonitorCallback:
+ 331 .LFB48:
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief This function handles the PWR Vddio2 monitor interrupt request.
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @note This API should be called under the VDDIO2_IRQHandler() PVD_VDDIO2_IRQHandler().
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** void HAL_PWREx_Vddio2Monitor_IRQHandler(void)
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** if(__HAL_PWR_VDDIO2_EXTI_GET_FLAG() != RESET)
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* PWR Vddio2 monitor interrupt user callback */
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** HAL_PWREx_Vddio2MonitorCallback();
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Clear PWR Exti pending bit */
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __HAL_PWR_VDDIO2_EXTI_CLEAR_FLAG();
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /**
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @brief PWR Vddio2 Monitor interrupt callback
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** * @retval None
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** __weak void HAL_PWREx_Vddio2MonitorCallback(void)
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 332 .loc 1 247 0
+ ARM GAS /tmp/ccpHOCtt.s page 11
+
+
+ 333 .cfi_startproc
+ 334 @ args = 0, pretend = 0, frame = 0
+ 335 @ frame_needed = 0, uses_anonymous_args = 0
+ 336 @ link register save eliminated.
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** the HAL_PWREx_Vddio2MonitorCallback could be implemented in the user file
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** */
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 337 .loc 1 251 0
+ 338 @ sp needed
+ 339 0000 7047 bx lr
+ 340 .cfi_endproc
+ 341 .LFE48:
+ 343 .section .text.HAL_PWREx_Vddio2Monitor_IRQHandler,"ax",%progbits
+ 344 .align 1
+ 345 .global HAL_PWREx_Vddio2Monitor_IRQHandler
+ 346 .syntax unified
+ 347 .code 16
+ 348 .thumb_func
+ 349 .fpu softvfp
+ 351 HAL_PWREx_Vddio2Monitor_IRQHandler:
+ 352 .LFB47:
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** /* Check PWR exti flag */
+ 353 .loc 1 230 0
+ 354 .cfi_startproc
+ 355 @ args = 0, pretend = 0, frame = 0
+ 356 @ frame_needed = 0, uses_anonymous_args = 0
+ 357 0000 10B5 push {r4, lr}
+ 358 .LCFI1:
+ 359 .cfi_def_cfa_offset 8
+ 360 .cfi_offset 4, -8
+ 361 .cfi_offset 14, -4
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** {
+ 362 .loc 1 232 0
+ 363 0002 064B ldr r3, .L30
+ 364 0004 5B69 ldr r3, [r3, #20]
+ 365 0006 002B cmp r3, #0
+ 366 0008 00DB blt .L29
+ 367 .L27:
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 368 .loc 1 240 0
+ 369 @ sp needed
+ 370 000a 10BD pop {r4, pc}
+ 371 .L29:
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 372 .loc 1 235 0
+ 373 000c FFF7FEFF bl HAL_PWREx_Vddio2MonitorCallback
+ 374 .LVL2:
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c **** }
+ 375 .loc 1 238 0
+ 376 0010 024B ldr r3, .L30
+ 377 0012 8022 movs r2, #128
+ 378 0014 1206 lsls r2, r2, #24
+ 379 0016 5A61 str r2, [r3, #20]
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_pwr_ex.c ****
+ 380 .loc 1 240 0
+ 381 0018 F7E7 b .L27
+ ARM GAS /tmp/ccpHOCtt.s page 12
+
+
+ 382 .L31:
+ 383 001a C046 .align 2
+ 384 .L30:
+ 385 001c 00040140 .word 1073808384
+ 386 .cfi_endproc
+ 387 .LFE47:
+ 389 .text
+ 390 .Letext0:
+ 391 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 392 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 393 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 394 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 395 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h"
+ 396 .file 7 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 397 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccpHOCtt.s page 13
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_pwr_ex.c
+ /tmp/ccpHOCtt.s:16 .text.HAL_PWR_ConfigPVD:0000000000000000 $t
+ /tmp/ccpHOCtt.s:23 .text.HAL_PWR_ConfigPVD:0000000000000000 HAL_PWR_ConfigPVD
+ /tmp/ccpHOCtt.s:111 .text.HAL_PWR_ConfigPVD:0000000000000074 $d
+ /tmp/ccpHOCtt.s:118 .text.HAL_PWR_EnablePVD:0000000000000000 $t
+ /tmp/ccpHOCtt.s:125 .text.HAL_PWR_EnablePVD:0000000000000000 HAL_PWR_EnablePVD
+ /tmp/ccpHOCtt.s:144 .text.HAL_PWR_EnablePVD:000000000000000c $d
+ /tmp/ccpHOCtt.s:149 .text.HAL_PWR_DisablePVD:0000000000000000 $t
+ /tmp/ccpHOCtt.s:156 .text.HAL_PWR_DisablePVD:0000000000000000 HAL_PWR_DisablePVD
+ /tmp/ccpHOCtt.s:175 .text.HAL_PWR_DisablePVD:000000000000000c $d
+ /tmp/ccpHOCtt.s:180 .text.HAL_PWR_PVDCallback:0000000000000000 $t
+ /tmp/ccpHOCtt.s:187 .text.HAL_PWR_PVDCallback:0000000000000000 HAL_PWR_PVDCallback
+ /tmp/ccpHOCtt.s:201 .text.HAL_PWR_PVD_IRQHandler:0000000000000000 $t
+ /tmp/ccpHOCtt.s:208 .text.HAL_PWR_PVD_IRQHandler:0000000000000000 HAL_PWR_PVD_IRQHandler
+ /tmp/ccpHOCtt.s:242 .text.HAL_PWR_PVD_IRQHandler:000000000000001c $d
+ /tmp/ccpHOCtt.s:247 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000000 $t
+ /tmp/ccpHOCtt.s:254 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000000 HAL_PWREx_EnableVddio2Monitor
+ /tmp/ccpHOCtt.s:278 .text.HAL_PWREx_EnableVddio2Monitor:0000000000000014 $d
+ /tmp/ccpHOCtt.s:283 .text.HAL_PWREx_DisableVddio2Monitor:0000000000000000 $t
+ /tmp/ccpHOCtt.s:290 .text.HAL_PWREx_DisableVddio2Monitor:0000000000000000 HAL_PWREx_DisableVddio2Monitor
+ /tmp/ccpHOCtt.s:318 .text.HAL_PWREx_DisableVddio2Monitor:000000000000001c $d
+ /tmp/ccpHOCtt.s:323 .text.HAL_PWREx_Vddio2MonitorCallback:0000000000000000 $t
+ /tmp/ccpHOCtt.s:330 .text.HAL_PWREx_Vddio2MonitorCallback:0000000000000000 HAL_PWREx_Vddio2MonitorCallback
+ /tmp/ccpHOCtt.s:344 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:0000000000000000 $t
+ /tmp/ccpHOCtt.s:351 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:0000000000000000 HAL_PWREx_Vddio2Monitor_IRQHandler
+ /tmp/ccpHOCtt.s:385 .text.HAL_PWREx_Vddio2Monitor_IRQHandler:000000000000001c $d
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.o b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.o
new file mode 100644
index 0000000..3d2e75f
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_pwr_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc.d b/fw/midi-dials/build/stm32f0xx_hal_rcc.d
new file mode 100644
index 0000000..a36a57b
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_rcc.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc.lst b/fw/midi-dials/build/stm32f0xx_hal_rcc.lst
new file mode 100644
index 0000000..b8645c0
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc.lst
@@ -0,0 +1,3828 @@
+ARM GAS /tmp/ccQfjpF5.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 "stm32f0xx_hal_rcc.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_RCC_DeInit,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_RCC_DeInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_RCC_DeInit:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @file stm32f0xx_hal_rcc.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * functionalities of the Reset and Clock Control (RCC) peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * + Initialization and de-initialization functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * + Peripheral Control functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ==============================================================================
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### RCC specific features #####
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ==============================================================================
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..]
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** After reset the device is running from Internal High Speed oscillator
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSI 8MHz) with Flash 0 wait state, Flash prefetch buffer is enabled,
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** and all peripherals are off except internal SRAM, Flash and JTAG.
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) There is no prescaler on High speed (AHB) and Low speed (APB) buses;
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** all peripherals mapped on these buses are running at HSI speed.
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) The clock for all peripherals is switched off, except the SRAM and FLASH.
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) All GPIOs are in input floating state, except the JTAG pins which
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** are assigned to be used for debug purpose.
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] Once the device started from reset, the user application has to:
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the clock source to be used to drive the System clock
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (if the application needs higher frequency/performance)
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the System clock frequency and Flash settings
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the AHB and APB buses prescalers
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Enable the clock for the peripheral(s) to be used
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) Configure the clock source(s) for peripherals whose clocks are not
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** derived from the System clock (RTC, ADC, I2C, USART, TIM, USB FS, etc..)
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### RCC Limitations #####
+ ARM GAS /tmp/ccQfjpF5.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ==============================================================================
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..]
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** A delay between an RCC peripheral clock enable and the effective peripheral
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** enabling should be taken into account in order to manage the peripheral read/write
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** from/to registers.
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (+) This delay depends on the peripheral mapping.
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) AHB & APB peripherals, 1 dummy read is necessary
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..]
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Workarounds:
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) For AHB & APB peripherals, a dummy read to the peripheral register has been
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** inserted in each __HAL_RCC_PPP_CLK_ENABLE() macro.
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ******************************************************************************
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @attention
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * All rights reserved.</center></h2>
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * the "License"; You may not use this file except in compliance with the
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * License. You may obtain a copy of the License at:
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * opensource.org/licenses/BSD-3-Clause
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ******************************************************************************
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Includes ------------------------------------------------------------------*/
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #include "stm32f0xx_hal.h"
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC RCC
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC HAL module driver
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #ifdef HAL_RCC_MODULE_ENABLED
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private typedef -----------------------------------------------------------*/
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private define ------------------------------------------------------------*/
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Constants RCC Private Constants
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @}
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private macro -------------------------------------------------------------*/
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Macros RCC Private Macros
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_GPIO_PORT GPIOA
+ ARM GAS /tmp/ccQfjpF5.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #define MCO1_PIN GPIO_PIN_8
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @}
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private variables ---------------------------------------------------------*/
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Private_Variables RCC Private Variables
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @}
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Private function prototypes -----------------------------------------------*/
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Exported functions ---------------------------------------------------------*/
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions RCC Exported Functions
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group1 Initialization and de-initialization functions
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initialization and Configuration functions
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ===============================================================================
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### Initialization and de-initialization functions #####
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ===============================================================================
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..]
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** This section provides functions allowing to configure the internal/external oscillators
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSE, HSI, HSI14, HSI48, LSE, LSI, PLL, CSS and MCO) and the System buses clocks (SYSCLK,
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** AHB and APB1).
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] Internal/external clock and PLL configuration
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSI (high-speed internal), 8 MHz factory-trimmed RC used directly or through
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the PLL as System clock source.
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** The HSI clock can be used also to clock the USART and I2C peripherals.
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSI14 (high-speed internal), 14 MHz factory-trimmed RC used directly to clock
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the ADC peripheral.
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) LSI (low-speed internal), ~40 KHz low consumption RC used as IWDG and/or RTC
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock source.
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) HSE (high-speed external), 4 to 32 MHz crystal oscillator used directly or
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** through the PLL as System clock source. Can be used also as RTC clock source.
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) LSE (low-speed external), 32 KHz oscillator used as RTC clock source.
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) PLL (clocked by HSI, HSI48 or HSE), featuring different output clocks:
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The first output is used to generate the high speed system clock (up to 48 MHz)
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The second output is used to generate the clock for the USB FS (48 MHz)
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The third output may be used to generate the clock for the TIM, I2C and USART
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** peripherals (up to 48 MHz)
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) CSS (Clock security system), once enable using the macro __HAL_RCC_CSS_ENABLE()
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** and if a HSE clock failure occurs(HSE used directly or through PLL as System
+ ARM GAS /tmp/ccQfjpF5.s page 4
+
+
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock source), the System clocks automatically switched to HSI and an interrupt
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** is generated if enabled. The interrupt is linked to the Cortex-M0 NMI
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (Non-Maskable Interrupt) exception vector.
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) MCO (microcontroller clock output), used to output SYSCLK, HSI, HSE, LSI, LSE or PLL
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** clock (divided by 2) output on pin (such as PA8 pin).
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..] System, AHB and APB buses clocks configuration
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) Several clock sources can be used to drive the System clock (SYSCLK): HSI,
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HSE and PLL.
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** The AHB clock (HCLK) is derived from System clock through configurable
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prescaler and used to clock the CPU, memory and peripherals mapped
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** on AHB bus (DMA, GPIO...). APB1 (PCLK1) clock is derived
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** from AHB clock through configurable prescalers and used to clock
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the peripherals mapped on these buses. You can use
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** "@ref HAL_RCC_GetSysClockFreq()" function to retrieve the frequencies of these clocks.
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) All the peripheral clocks are derived from the System clock (SYSCLK) except:
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The FLASH program/erase clock which is always HSI 8MHz clock.
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The USB 48 MHz clock which is derived from the PLL VCO clock.
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The USART clock which can be derived as well from HSI 8MHz, LSI or LSE.
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The I2C clock which can be derived as well from HSI 8MHz clock.
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The ADC clock which is derived from PLL output.
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) The RTC clock which is derived from the LSE, LSI or 1 MHz HSE_RTC
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HSE divided by a programmable prescaler). The System clock (SYSCLK)
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** frequency must be higher or equal to the RTC clock frequency.
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (++) IWDG clock which is always the LSI clock.
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) For the STM32F0xx devices, the maximum frequency of the SYSCLK, HCLK and PCLK1 is 48 MHz,
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Depending on the SYSCLK frequency, the flash latency should be adapted accordingly.
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (#) After reset, the System clock source is the HSI (8 MHz) with 0 WS and
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prefetch is disabled.
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** Additional consideration on the SYSCLK based on Latency settings:
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** +-----------------------------------------------+
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** | Latency | SYSCLK clock frequency (MHz) |
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |---------------|-------------------------------|
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |0WS(1CPU cycle)| 0 < SYSCLK <= 24 |
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |---------------|-------------------------------|
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** |1WS(2CPU cycle)| 24 < SYSCLK <= 48 |
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** +-----------------------------------------------+
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Resets the RCC clock configuration to the default reset state.
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The default reset state of the clock configuration is given below:
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - HSI ON and used as system clock source
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - HSE and PLL OFF
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - AHB, APB1 prescaler set to 1.
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - CSS and MCO1 OFF
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - All interrupts disabled
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - All interrupt and reset flags cleared
+ ARM GAS /tmp/ccQfjpF5.s page 5
+
+
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This function does not modify the configuration of the
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - Peripheral clocks
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * - LSI, LSE and RTC clocks
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_DeInit(void)
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 26 .loc 1 211 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 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
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart;
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick*/
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 37 .loc 1 215 0
+ 38 0002 FFF7FEFF bl HAL_GetTick
+ 39 .LVL0:
+ 40 0006 0400 movs r4, r0
+ 41 .LVL1:
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set HSION bit, HSITRIM[4:0] bits to the reset value*/
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_HSION | RCC_CR_HSITRIM_4);
+ 42 .loc 1 218 0
+ 43 0008 284A ldr r2, .L17
+ 44 000a 1368 ldr r3, [r2]
+ 45 000c 8121 movs r1, #129
+ 46 000e 0B43 orrs r3, r1
+ 47 0010 1360 str r3, [r2]
+ 48 .LVL2:
+ 49 .L2:
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (READ_BIT(RCC->CR, RCC_CR_HSIRDY) == RESET)
+ 50 .loc 1 221 0
+ 51 0012 264B ldr r3, .L17
+ 52 0014 1B68 ldr r3, [r3]
+ 53 0016 9B07 lsls r3, r3, #30
+ 54 0018 07D4 bmi .L13
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE)
+ 55 .loc 1 223 0
+ 56 001a FFF7FEFF bl HAL_GetTick
+ 57 .LVL3:
+ 58 001e 001B subs r0, r0, r4
+ 59 0020 0228 cmp r0, #2
+ 60 0022 F6D9 bls .L2
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 61 .loc 1 225 0
+ ARM GAS /tmp/ccQfjpF5.s page 6
+
+
+ 62 0024 0324 movs r4, #3
+ 63 .LVL4:
+ 64 .L3:
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset SW[1:0], HPRE[3:0], PPRE[2:0] and MCOSEL[2:0] bits */
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CFGR, RCC_CFGR_SW | RCC_CFGR_HPRE | RCC_CFGR_PPRE | RCC_CFGR_MCO);
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI as SYSCLK status is enabled */
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (READ_BIT(RCC->CFGR, RCC_CFGR_SWS) != RESET)
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE)
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable for HSI as system clock source */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SystemCoreClock = HSI_VALUE;
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adapt Systick interrupt period */
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if (HAL_InitTick(uwTickPrio) != HAL_OK)
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset HSEON, CSSON, PLLON bits */
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_PLLON | RCC_CR_CSSON | RCC_CR_HSEON);
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset HSEBYP bit */
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_HSEBYP);
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get start tick */
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLLRDY is cleared */
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(READ_BIT(RCC->CR, RCC_CR_PLLRDY) != RESET)
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE)
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR register */
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR);
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR2 register */
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR2);
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Reset CFGR3 register */
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CFGR3);
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable all interrupts */
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_REG(RCC->CIR);
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ ARM GAS /tmp/ccQfjpF5.s page 7
+
+
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Clear all reset flags */
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_CLEAR_RESET_FLAGS();
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK;
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 65 .loc 1 284 0
+ 66 0026 2000 movs r0, r4
+ 67 @ sp needed
+ 68 0028 70BD pop {r4, r5, r6, pc}
+ 69 .LVL5:
+ 70 .L13:
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 71 .loc 1 230 0
+ 72 002a 204A ldr r2, .L17
+ 73 002c 5368 ldr r3, [r2, #4]
+ 74 002e 2049 ldr r1, .L17+4
+ 75 0030 0B40 ands r3, r1
+ 76 0032 5360 str r3, [r2, #4]
+ 77 .L5:
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 78 .loc 1 233 0
+ 79 0034 1D4B ldr r3, .L17
+ 80 0036 5B68 ldr r3, [r3, #4]
+ 81 0038 0C22 movs r2, #12
+ 82 003a 1A42 tst r2, r3
+ 83 003c 07D0 beq .L14
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 84 .loc 1 235 0
+ 85 003e FFF7FEFF bl HAL_GetTick
+ 86 .LVL6:
+ 87 0042 001B subs r0, r0, r4
+ 88 0044 1B4B ldr r3, .L17+8
+ 89 0046 9842 cmp r0, r3
+ 90 0048 F4D9 bls .L5
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 91 .loc 1 237 0
+ 92 004a 0324 movs r4, #3
+ 93 .LVL7:
+ 94 004c EBE7 b .L3
+ 95 .LVL8:
+ 96 .L14:
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 97 .loc 1 242 0
+ 98 004e 1A4B ldr r3, .L17+12
+ 99 0050 1A4A ldr r2, .L17+16
+ 100 0052 1A60 str r2, [r3]
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 101 .loc 1 245 0
+ 102 0054 1A4B ldr r3, .L17+20
+ 103 0056 1868 ldr r0, [r3]
+ 104 0058 FFF7FEFF bl HAL_InitTick
+ 105 .LVL9:
+ 106 005c 041E subs r4, r0, #0
+ 107 .LVL10:
+ 108 005e 01D0 beq .L15
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 109 .loc 1 247 0
+ ARM GAS /tmp/ccQfjpF5.s page 8
+
+
+ 110 0060 0124 movs r4, #1
+ 111 0062 E0E7 b .L3
+ 112 .L15:
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 113 .loc 1 251 0
+ 114 0064 114B ldr r3, .L17
+ 115 0066 1A68 ldr r2, [r3]
+ 116 0068 1649 ldr r1, .L17+24
+ 117 006a 0A40 ands r2, r1
+ 118 006c 1A60 str r2, [r3]
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 119 .loc 1 254 0
+ 120 006e 1A68 ldr r2, [r3]
+ 121 0070 1549 ldr r1, .L17+28
+ 122 0072 0A40 ands r2, r1
+ 123 0074 1A60 str r2, [r3]
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 124 .loc 1 257 0
+ 125 0076 FFF7FEFF bl HAL_GetTick
+ 126 .LVL11:
+ 127 007a 0500 movs r5, r0
+ 128 .LVL12:
+ 129 .L7:
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 130 .loc 1 260 0
+ 131 007c 0B4B ldr r3, .L17
+ 132 007e 1B68 ldr r3, [r3]
+ 133 0080 9B01 lsls r3, r3, #6
+ 134 0082 06D5 bpl .L16
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 135 .loc 1 262 0
+ 136 0084 FFF7FEFF bl HAL_GetTick
+ 137 .LVL13:
+ 138 0088 401B subs r0, r0, r5
+ 139 008a 0228 cmp r0, #2
+ 140 008c F6D9 bls .L7
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 141 .loc 1 264 0
+ 142 008e 0324 movs r4, #3
+ 143 0090 C9E7 b .L3
+ 144 .L16:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 145 .loc 1 269 0
+ 146 0092 064B ldr r3, .L17
+ 147 0094 0022 movs r2, #0
+ 148 0096 5A60 str r2, [r3, #4]
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 149 .loc 1 272 0
+ 150 0098 DA62 str r2, [r3, #44]
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 151 .loc 1 275 0
+ 152 009a 1A63 str r2, [r3, #48]
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 153 .loc 1 278 0
+ 154 009c 9A60 str r2, [r3, #8]
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 155 .loc 1 281 0
+ ARM GAS /tmp/ccQfjpF5.s page 9
+
+
+ 156 009e 596A ldr r1, [r3, #36]
+ 157 00a0 8022 movs r2, #128
+ 158 00a2 5204 lsls r2, r2, #17
+ 159 00a4 0A43 orrs r2, r1
+ 160 00a6 5A62 str r2, [r3, #36]
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 161 .loc 1 283 0
+ 162 00a8 BDE7 b .L3
+ 163 .L18:
+ 164 00aa C046 .align 2
+ 165 .L17:
+ 166 00ac 00100240 .word 1073876992
+ 167 00b0 0CF8FFF0 .word -251660276
+ 168 00b4 88130000 .word 5000
+ 169 00b8 00000000 .word SystemCoreClock
+ 170 00bc 00127A00 .word 8000000
+ 171 00c0 00000000 .word uwTickPrio
+ 172 00c4 FFFFF6FE .word -17367041
+ 173 00c8 FFFFFBFF .word -262145
+ 174 .cfi_endproc
+ 175 .LFE40:
+ 177 .section .text.HAL_RCC_OscConfig,"ax",%progbits
+ 178 .align 1
+ 179 .global HAL_RCC_OscConfig
+ 180 .syntax unified
+ 181 .code 16
+ 182 .thumb_func
+ 183 .fpu softvfp
+ 185 HAL_RCC_OscConfig:
+ 186 .LFB41:
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initializes the RCC Oscillators according to the specified parameters in the
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC_OscInitTypeDef.
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the configuration information for the RCC Oscillators.
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The PLL is not disabled when used as system clock.
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Transitions LSE Bypass to LSE On and LSE On to LSE Bypass are not
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * supported by this macro. User should request a transition to LSE Off
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * first and then LSE On or LSE Bypass.
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Transition HSE Bypass to HSE On and HSE On to HSE Bypass are not
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * supported by this macro. User should request a transition to HSE Off
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * first and then HSE On or HSE Bypass.
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 187 .loc 1 301 0
+ 188 .cfi_startproc
+ 189 @ args = 0, pretend = 0, frame = 8
+ 190 @ frame_needed = 0, uses_anonymous_args = 0
+ 191 .LVL14:
+ 192 0000 70B5 push {r4, r5, r6, lr}
+ 193 .LCFI1:
+ 194 .cfi_def_cfa_offset 16
+ 195 .cfi_offset 4, -16
+ 196 .cfi_offset 5, -12
+ ARM GAS /tmp/ccQfjpF5.s page 10
+
+
+ 197 .cfi_offset 6, -8
+ 198 .cfi_offset 14, -4
+ 199 0002 82B0 sub sp, sp, #8
+ 200 .LCFI2:
+ 201 .cfi_def_cfa_offset 24
+ 202 0004 041E subs r4, r0, #0
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart;
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t pll_config;
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t pll_config2;
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check Null pointer */
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct == NULL)
+ 203 .loc 1 307 0
+ 204 0006 00D1 bne .LCB169
+ 205 0008 85E2 b .L86 @long jump
+ 206 .LCB169:
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType));
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------- HSE Configuration ------------------------*/
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE)
+ 207 .loc 1 316 0
+ 208 000a 0368 ldr r3, [r0]
+ 209 000c DB07 lsls r3, r3, #31
+ 210 000e 2BD5 bpl .L21
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState));
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When the HSE is used as system clock or clock source for PLL in these cases it is not allowe
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE)
+ 211 .loc 1 322 0
+ 212 0010 B34B ldr r3, .L131
+ 213 0012 5A68 ldr r2, [r3, #4]
+ 214 0014 0C23 movs r3, #12
+ 215 0016 1340 ands r3, r2
+ 216 0018 042B cmp r3, #4
+ 217 001a 1DD0 beq .L22
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_
+ 218 .loc 1 323 0
+ 219 001c B04B ldr r3, .L131
+ 220 001e 5A68 ldr r2, [r3, #4]
+ 221 0020 0C23 movs r3, #12
+ 222 0022 1340 ands r3, r2
+ 223 0024 082B cmp r3, #8
+ 224 0026 0ED0 beq .L112
+ 225 .L23:
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ ARM GAS /tmp/ccQfjpF5.s page 11
+
+
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new HSE configuration ---------------------------------------*/
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState);
+ 226 .loc 1 333 0
+ 227 0028 6368 ldr r3, [r4, #4]
+ 228 002a 012B cmp r3, #1
+ 229 002c 41D0 beq .L113
+ 230 .loc 1 333 0 is_stmt 0 discriminator 2
+ 231 002e 002B cmp r3, #0
+ 232 0030 56D1 bne .L26
+ 233 .loc 1 333 0 discriminator 3
+ 234 0032 AB4B ldr r3, .L131
+ 235 0034 1A68 ldr r2, [r3]
+ 236 0036 AB49 ldr r1, .L131+4
+ 237 0038 0A40 ands r2, r1
+ 238 003a 1A60 str r2, [r3]
+ 239 003c 1A68 ldr r2, [r3]
+ 240 003e AA49 ldr r1, .L131+8
+ 241 0040 0A40 ands r2, r1
+ 242 0042 1A60 str r2, [r3]
+ 243 0044 3BE0 b .L25
+ 244 .L112:
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_
+ 245 .loc 1 323 0 is_stmt 1 discriminator 1
+ 246 0046 A64B ldr r3, .L131
+ 247 0048 5B68 ldr r3, [r3, #4]
+ 248 004a C022 movs r2, #192
+ 249 004c 5202 lsls r2, r2, #9
+ 250 004e 1340 ands r3, r2
+ 251 0050 8022 movs r2, #128
+ 252 0052 5202 lsls r2, r2, #9
+ 253 0054 9342 cmp r3, r2
+ 254 0056 E7D1 bne .L23
+ 255 .L22:
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 256 .loc 1 325 0
+ 257 0058 A14B ldr r3, .L131
+ 258 005a 1B68 ldr r3, [r3]
+ 259 005c 9B03 lsls r3, r3, #14
+ 260 005e 03D5 bpl .L21
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 261 .loc 1 325 0 is_stmt 0 discriminator 1
+ 262 0060 6368 ldr r3, [r4, #4]
+ 263 0062 002B cmp r3, #0
+ 264 0064 00D1 bne .LCB227
+ 265 0066 59E2 b .L114 @long jump
+ 266 .LCB227:
+ 267 .LVL15:
+ 268 .L21:
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSE State */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSEState != RCC_HSE_OFF)
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ ARM GAS /tmp/ccQfjpF5.s page 12
+
+
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSE is ready */
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSE is disabled */
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET)
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSE_TIMEOUT_VALUE)
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI Configuration --------------------------*/
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI)
+ 269 .loc 1 368 0 is_stmt 1
+ 270 0068 2368 ldr r3, [r4]
+ 271 006a 9B07 lsls r3, r3, #30
+ 272 006c 78D5 bpl .L33
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState));
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue));
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock *
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI)
+ 273 .loc 1 375 0
+ 274 006e 9C4B ldr r3, .L131
+ 275 0070 5B68 ldr r3, [r3, #4]
+ 276 0072 0C22 movs r2, #12
+ 277 0074 1A42 tst r2, r3
+ 278 0076 62D0 beq .L34
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_
+ 279 .loc 1 376 0
+ 280 0078 994B ldr r3, .L131
+ 281 007a 5A68 ldr r2, [r3, #4]
+ 282 007c 0C23 movs r3, #12
+ 283 007e 1340 ands r3, r2
+ 284 0080 082B cmp r3, #8
+ 285 0082 53D0 beq .L115
+ 286 .L35:
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When HSI is used as system clock it will not disabled */
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_
+ ARM GAS /tmp/ccQfjpF5.s page 13
+
+
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Otherwise, just the calibration is allowed */
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI State */
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSIState != RCC_HSI_OFF)
+ 287 .loc 1 393 0
+ 288 0084 E368 ldr r3, [r4, #12]
+ 289 0086 002B cmp r3, #0
+ 290 0088 00D1 bne .LCB252
+ 291 008a 8BE0 b .L37 @long jump
+ 292 .LCB252:
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_ENABLE();
+ 293 .loc 1 396 0
+ 294 008c 944A ldr r2, .L131
+ 295 008e 1368 ldr r3, [r2]
+ 296 0090 0121 movs r1, #1
+ 297 0092 0B43 orrs r3, r1
+ 298 0094 1360 str r3, [r2]
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 299 .loc 1 399 0
+ 300 0096 FFF7FEFF bl HAL_GetTick
+ 301 .LVL16:
+ 302 009a 0500 movs r5, r0
+ 303 .LVL17:
+ 304 .L38:
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
+ 305 .loc 1 402 0
+ 306 009c 904B ldr r3, .L131
+ 307 009e 1B68 ldr r3, [r3]
+ 308 00a0 9B07 lsls r3, r3, #30
+ 309 00a2 76D4 bmi .L116
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
+ 310 .loc 1 404 0
+ 311 00a4 FFF7FEFF bl HAL_GetTick
+ 312 .LVL18:
+ 313 00a8 401B subs r0, r0, r5
+ 314 00aa 0228 cmp r0, #2
+ 315 00ac F6D9 bls .L38
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 316 .loc 1 406 0
+ ARM GAS /tmp/ccQfjpF5.s page 14
+
+
+ 317 00ae 0320 movs r0, #3
+ 318 00b0 32E2 b .L20
+ 319 .LVL19:
+ 320 .L113:
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 321 .loc 1 333 0 discriminator 1
+ 322 00b2 8B4A ldr r2, .L131
+ 323 00b4 1168 ldr r1, [r2]
+ 324 00b6 8023 movs r3, #128
+ 325 00b8 5B02 lsls r3, r3, #9
+ 326 00ba 0B43 orrs r3, r1
+ 327 00bc 1360 str r3, [r2]
+ 328 .L25:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 329 .loc 1 337 0
+ 330 00be 6368 ldr r3, [r4, #4]
+ 331 00c0 002B cmp r3, #0
+ 332 00c2 25D0 beq .L28
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 333 .loc 1 340 0
+ 334 00c4 FFF7FEFF bl HAL_GetTick
+ 335 .LVL20:
+ 336 00c8 0500 movs r5, r0
+ 337 .LVL21:
+ 338 .L29:
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 339 .loc 1 343 0
+ 340 00ca 854B ldr r3, .L131
+ 341 00cc 1B68 ldr r3, [r3]
+ 342 00ce 9B03 lsls r3, r3, #14
+ 343 00d0 CAD4 bmi .L21
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 344 .loc 1 345 0
+ 345 00d2 FFF7FEFF bl HAL_GetTick
+ 346 .LVL22:
+ 347 00d6 401B subs r0, r0, r5
+ 348 00d8 6428 cmp r0, #100
+ 349 00da F6D9 bls .L29
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 350 .loc 1 347 0
+ 351 00dc 0320 movs r0, #3
+ 352 00de 1BE2 b .L20
+ 353 .LVL23:
+ 354 .L26:
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 355 .loc 1 333 0 discriminator 4
+ 356 00e0 052B cmp r3, #5
+ 357 00e2 09D0 beq .L117
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 358 .loc 1 333 0 is_stmt 0 discriminator 6
+ 359 00e4 7E4B ldr r3, .L131
+ 360 00e6 1A68 ldr r2, [r3]
+ 361 00e8 7E49 ldr r1, .L131+4
+ 362 00ea 0A40 ands r2, r1
+ 363 00ec 1A60 str r2, [r3]
+ 364 00ee 1A68 ldr r2, [r3]
+ 365 00f0 7D49 ldr r1, .L131+8
+ ARM GAS /tmp/ccQfjpF5.s page 15
+
+
+ 366 00f2 0A40 ands r2, r1
+ 367 00f4 1A60 str r2, [r3]
+ 368 00f6 E2E7 b .L25
+ 369 .L117:
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 370 .loc 1 333 0 discriminator 5
+ 371 00f8 794B ldr r3, .L131
+ 372 00fa 1968 ldr r1, [r3]
+ 373 00fc 8022 movs r2, #128
+ 374 00fe D202 lsls r2, r2, #11
+ 375 0100 0A43 orrs r2, r1
+ 376 0102 1A60 str r2, [r3]
+ 377 0104 1968 ldr r1, [r3]
+ 378 0106 8022 movs r2, #128
+ 379 0108 5202 lsls r2, r2, #9
+ 380 010a 0A43 orrs r2, r1
+ 381 010c 1A60 str r2, [r3]
+ 382 010e D6E7 b .L25
+ 383 .L28:
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 384 .loc 1 354 0 is_stmt 1
+ 385 0110 FFF7FEFF bl HAL_GetTick
+ 386 .LVL24:
+ 387 0114 0500 movs r5, r0
+ 388 .LVL25:
+ 389 .L31:
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 390 .loc 1 357 0
+ 391 0116 724B ldr r3, .L131
+ 392 0118 1B68 ldr r3, [r3]
+ 393 011a 9B03 lsls r3, r3, #14
+ 394 011c A4D5 bpl .L21
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 395 .loc 1 359 0
+ 396 011e FFF7FEFF bl HAL_GetTick
+ 397 .LVL26:
+ 398 0122 401B subs r0, r0, r5
+ 399 0124 6428 cmp r0, #100
+ 400 0126 F6D9 bls .L31
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 401 .loc 1 361 0
+ 402 0128 0320 movs r0, #3
+ 403 012a F5E1 b .L20
+ 404 .LVL27:
+ 405 .L115:
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 406 .loc 1 376 0 discriminator 1
+ 407 012c 6C4B ldr r3, .L131
+ 408 012e 5B68 ldr r3, [r3, #4]
+ 409 0130 C022 movs r2, #192
+ 410 0132 5202 lsls r2, r2, #9
+ 411 0134 1340 ands r3, r2
+ 412 0136 8022 movs r2, #128
+ 413 0138 1202 lsls r2, r2, #8
+ 414 013a 9342 cmp r3, r2
+ 415 013c A2D1 bne .L35
+ 416 .L34:
+ ARM GAS /tmp/ccQfjpF5.s page 16
+
+
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 417 .loc 1 379 0
+ 418 013e 684B ldr r3, .L131
+ 419 0140 1B68 ldr r3, [r3]
+ 420 0142 9B07 lsls r3, r3, #30
+ 421 0144 04D5 bpl .L36
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 422 .loc 1 379 0 is_stmt 0 discriminator 1
+ 423 0146 E368 ldr r3, [r4, #12]
+ 424 0148 012B cmp r3, #1
+ 425 014a 01D0 beq .L36
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 426 .loc 1 381 0 is_stmt 1
+ 427 014c 0120 movs r0, #1
+ 428 014e E3E1 b .L20
+ 429 .L36:
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 430 .loc 1 387 0
+ 431 0150 6349 ldr r1, .L131
+ 432 0152 0B68 ldr r3, [r1]
+ 433 0154 F822 movs r2, #248
+ 434 0156 9343 bics r3, r2
+ 435 0158 2269 ldr r2, [r4, #16]
+ 436 015a D200 lsls r2, r2, #3
+ 437 015c 1343 orrs r3, r2
+ 438 015e 0B60 str r3, [r1]
+ 439 .L33:
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue);
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI_DISABLE();
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is disabled */
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET)
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > HSI_TIMEOUT_VALUE)
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------ LSI Configuration -------------------------*/
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI)
+ 440 .loc 1 433 0
+ 441 0160 2368 ldr r3, [r4]
+ 442 0162 1B07 lsls r3, r3, #28
+ ARM GAS /tmp/ccQfjpF5.s page 17
+
+
+ 443 0164 44D5 bpl .L42
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState));
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSI State */
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSIState != RCC_LSI_OFF)
+ 444 .loc 1 439 0
+ 445 0166 E369 ldr r3, [r4, #28]
+ 446 0168 002B cmp r3, #0
+ 447 016a 2ED0 beq .L43
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal Low Speed oscillator (LSI). */
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSI_ENABLE();
+ 448 .loc 1 442 0
+ 449 016c 5C4A ldr r2, .L131
+ 450 016e 536A ldr r3, [r2, #36]
+ 451 0170 0121 movs r1, #1
+ 452 0172 0B43 orrs r3, r1
+ 453 0174 5362 str r3, [r2, #36]
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 454 .loc 1 445 0
+ 455 0176 FFF7FEFF bl HAL_GetTick
+ 456 .LVL28:
+ 457 017a 0500 movs r5, r0
+ 458 .LVL29:
+ 459 .L44:
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSI is ready */
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET)
+ 460 .loc 1 448 0
+ 461 017c 584B ldr r3, .L131
+ 462 017e 5B6A ldr r3, [r3, #36]
+ 463 0180 9B07 lsls r3, r3, #30
+ 464 0182 35D4 bmi .L42
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
+ 465 .loc 1 450 0
+ 466 0184 FFF7FEFF bl HAL_GetTick
+ 467 .LVL30:
+ 468 0188 401B subs r0, r0, r5
+ 469 018a 0228 cmp r0, #2
+ 470 018c F6D9 bls .L44
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 471 .loc 1 452 0
+ 472 018e 0320 movs r0, #3
+ 473 0190 C2E1 b .L20
+ 474 .L116:
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 475 .loc 1 411 0
+ 476 0192 5349 ldr r1, .L131
+ 477 0194 0B68 ldr r3, [r1]
+ 478 0196 F822 movs r2, #248
+ 479 0198 9343 bics r3, r2
+ ARM GAS /tmp/ccQfjpF5.s page 18
+
+
+ 480 019a 2269 ldr r2, [r4, #16]
+ 481 019c D200 lsls r2, r2, #3
+ 482 019e 1343 orrs r3, r2
+ 483 01a0 0B60 str r3, [r1]
+ 484 01a2 DDE7 b .L33
+ 485 .LVL31:
+ 486 .L37:
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 487 .loc 1 416 0
+ 488 01a4 4E4A ldr r2, .L131
+ 489 01a6 1368 ldr r3, [r2]
+ 490 01a8 0121 movs r1, #1
+ 491 01aa 8B43 bics r3, r1
+ 492 01ac 1360 str r3, [r2]
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 493 .loc 1 419 0
+ 494 01ae FFF7FEFF bl HAL_GetTick
+ 495 .LVL32:
+ 496 01b2 0500 movs r5, r0
+ 497 .LVL33:
+ 498 .L40:
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 499 .loc 1 422 0
+ 500 01b4 4A4B ldr r3, .L131
+ 501 01b6 1B68 ldr r3, [r3]
+ 502 01b8 9B07 lsls r3, r3, #30
+ 503 01ba D1D5 bpl .L33
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 504 .loc 1 424 0
+ 505 01bc FFF7FEFF bl HAL_GetTick
+ 506 .LVL34:
+ 507 01c0 401B subs r0, r0, r5
+ 508 01c2 0228 cmp r0, #2
+ 509 01c4 F6D9 bls .L40
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 510 .loc 1 426 0
+ 511 01c6 0320 movs r0, #3
+ 512 01c8 A6E1 b .L20
+ 513 .LVL35:
+ 514 .L43:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal Low Speed oscillator (LSI). */
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSI_DISABLE();
+ 515 .loc 1 459 0
+ 516 01ca 454A ldr r2, .L131
+ 517 01cc 536A ldr r3, [r2, #36]
+ 518 01ce 0121 movs r1, #1
+ 519 01d0 8B43 bics r3, r1
+ 520 01d2 5362 str r3, [r2, #36]
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 521 .loc 1 462 0
+ ARM GAS /tmp/ccQfjpF5.s page 19
+
+
+ 522 01d4 FFF7FEFF bl HAL_GetTick
+ 523 .LVL36:
+ 524 01d8 0500 movs r5, r0
+ 525 .LVL37:
+ 526 .L46:
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSI is disabled */
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET)
+ 527 .loc 1 465 0
+ 528 01da 414B ldr r3, .L131
+ 529 01dc 5B6A ldr r3, [r3, #36]
+ 530 01de 9B07 lsls r3, r3, #30
+ 531 01e0 06D5 bpl .L42
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > LSI_TIMEOUT_VALUE)
+ 532 .loc 1 467 0
+ 533 01e2 FFF7FEFF bl HAL_GetTick
+ 534 .LVL38:
+ 535 01e6 401B subs r0, r0, r5
+ 536 01e8 0228 cmp r0, #2
+ 537 01ea F6D9 bls .L46
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 538 .loc 1 469 0
+ 539 01ec 0320 movs r0, #3
+ 540 01ee 93E1 b .L20
+ 541 .LVL39:
+ 542 .L42:
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------------ LSE Configuration -------------------------*/
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE)
+ 543 .loc 1 475 0
+ 544 01f0 2368 ldr r3, [r4]
+ 545 01f2 5B07 lsls r3, r3, #29
+ 546 01f4 00D4 bmi .LCB535
+ 547 01f6 7FE0 b .L48 @long jump
+ 548 .LCB535:
+ 549 .LVL40:
+ 550 .LBB2:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** FlagStatus pwrclkchanged = RESET;
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState));
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update LSE configuration in Backup Domain control register */
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Requires to enable write access to Backup Domain of necessary */
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED())
+ 551 .loc 1 484 0
+ 552 01f8 394B ldr r3, .L131
+ 553 01fa DB69 ldr r3, [r3, #28]
+ 554 01fc DB00 lsls r3, r3, #3
+ 555 01fe 1DD4 bmi .L95
+ 556 .LBB3:
+ ARM GAS /tmp/ccQfjpF5.s page 20
+
+
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_ENABLE();
+ 557 .loc 1 486 0
+ 558 0200 374A ldr r2, .L131
+ 559 0202 D169 ldr r1, [r2, #28]
+ 560 0204 8020 movs r0, #128
+ 561 0206 4005 lsls r0, r0, #21
+ 562 0208 0143 orrs r1, r0
+ 563 020a D161 str r1, [r2, #28]
+ 564 020c D369 ldr r3, [r2, #28]
+ 565 020e 0340 ands r3, r0
+ 566 0210 0193 str r3, [sp, #4]
+ 567 0212 019B ldr r3, [sp, #4]
+ 568 .LVL41:
+ 569 .LBE3:
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pwrclkchanged = SET;
+ 570 .loc 1 487 0
+ 571 0214 0125 movs r5, #1
+ 572 .LVL42:
+ 573 .L49:
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP))
+ 574 .loc 1 490 0
+ 575 0216 354B ldr r3, .L131+12
+ 576 0218 1B68 ldr r3, [r3]
+ 577 021a DB05 lsls r3, r3, #23
+ 578 021c 10D5 bpl .L118
+ 579 .L50:
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable write access to Backup domain */
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(PWR->CR, PWR_CR_DBP);
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait for Backup domain Write protection disable */
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP))
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new LSE configuration -----------------------------------------*/
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState);
+ 580 .loc 1 508 0
+ 581 021e A368 ldr r3, [r4, #8]
+ 582 0220 012B cmp r3, #1
+ 583 0222 21D0 beq .L119
+ 584 .loc 1 508 0 is_stmt 0 discriminator 2
+ 585 0224 002B cmp r3, #0
+ 586 0226 36D1 bne .L55
+ 587 .loc 1 508 0 discriminator 3
+ 588 0228 2D4B ldr r3, .L131
+ 589 022a 1A6A ldr r2, [r3, #32]
+ ARM GAS /tmp/ccQfjpF5.s page 21
+
+
+ 590 022c 0121 movs r1, #1
+ 591 022e 8A43 bics r2, r1
+ 592 0230 1A62 str r2, [r3, #32]
+ 593 0232 1A6A ldr r2, [r3, #32]
+ 594 0234 0331 adds r1, r1, #3
+ 595 0236 8A43 bics r2, r1
+ 596 0238 1A62 str r2, [r3, #32]
+ 597 023a 1AE0 b .L54
+ 598 .LVL43:
+ 599 .L95:
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 600 .loc 1 477 0 is_stmt 1
+ 601 023c 0025 movs r5, #0
+ 602 023e EAE7 b .L49
+ 603 .LVL44:
+ 604 .L118:
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 605 .loc 1 493 0
+ 606 0240 2A4A ldr r2, .L131+12
+ 607 0242 1168 ldr r1, [r2]
+ 608 0244 8023 movs r3, #128
+ 609 0246 5B00 lsls r3, r3, #1
+ 610 0248 0B43 orrs r3, r1
+ 611 024a 1360 str r3, [r2]
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 612 .loc 1 496 0
+ 613 024c FFF7FEFF bl HAL_GetTick
+ 614 .LVL45:
+ 615 0250 0600 movs r6, r0
+ 616 .LVL46:
+ 617 .L51:
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 618 .loc 1 498 0
+ 619 0252 264B ldr r3, .L131+12
+ 620 0254 1B68 ldr r3, [r3]
+ 621 0256 DB05 lsls r3, r3, #23
+ 622 0258 E1D4 bmi .L50
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 623 .loc 1 500 0
+ 624 025a FFF7FEFF bl HAL_GetTick
+ 625 .LVL47:
+ 626 025e 801B subs r0, r0, r6
+ 627 0260 6428 cmp r0, #100
+ 628 0262 F6D9 bls .L51
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 629 .loc 1 502 0
+ 630 0264 0320 movs r0, #3
+ 631 0266 57E1 b .L20
+ 632 .LVL48:
+ 633 .L119:
+ 634 .loc 1 508 0 discriminator 1
+ 635 0268 1D4A ldr r2, .L131
+ 636 026a 136A ldr r3, [r2, #32]
+ 637 026c 0121 movs r1, #1
+ 638 026e 0B43 orrs r3, r1
+ 639 0270 1362 str r3, [r2, #32]
+ 640 .L54:
+ ARM GAS /tmp/ccQfjpF5.s page 22
+
+
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->LSEState != RCC_LSE_OFF)
+ 641 .loc 1 510 0
+ 642 0272 A368 ldr r3, [r4, #8]
+ 643 0274 002B cmp r3, #0
+ 644 0276 24D0 beq .L57
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 645 .loc 1 513 0
+ 646 0278 FFF7FEFF bl HAL_GetTick
+ 647 .LVL49:
+ 648 027c 0600 movs r6, r0
+ 649 .LVL50:
+ 650 .L58:
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSE is ready */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 651 .loc 1 516 0
+ 652 027e 184B ldr r3, .L131
+ 653 0280 1B6A ldr r3, [r3, #32]
+ 654 0282 9B07 lsls r3, r3, #30
+ 655 0284 36D4 bmi .L60
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
+ 656 .loc 1 518 0
+ 657 0286 FFF7FEFF bl HAL_GetTick
+ 658 .LVL51:
+ 659 028a 801B subs r0, r0, r6
+ 660 028c 184B ldr r3, .L131+16
+ 661 028e 9842 cmp r0, r3
+ 662 0290 F5D9 bls .L58
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 663 .loc 1 520 0
+ 664 0292 0320 movs r0, #3
+ 665 0294 40E1 b .L20
+ 666 .LVL52:
+ 667 .L55:
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */
+ 668 .loc 1 508 0 discriminator 4
+ 669 0296 052B cmp r3, #5
+ 670 0298 09D0 beq .L120
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */
+ 671 .loc 1 508 0 is_stmt 0 discriminator 6
+ 672 029a 114B ldr r3, .L131
+ 673 029c 1A6A ldr r2, [r3, #32]
+ 674 029e 0121 movs r1, #1
+ 675 02a0 8A43 bics r2, r1
+ 676 02a2 1A62 str r2, [r3, #32]
+ 677 02a4 1A6A ldr r2, [r3, #32]
+ 678 02a6 0331 adds r1, r1, #3
+ 679 02a8 8A43 bics r2, r1
+ 680 02aa 1A62 str r2, [r3, #32]
+ 681 02ac E1E7 b .L54
+ 682 .L120:
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the LSE State */
+ ARM GAS /tmp/ccQfjpF5.s page 23
+
+
+ 683 .loc 1 508 0 discriminator 5
+ 684 02ae 0C4B ldr r3, .L131
+ 685 02b0 1A6A ldr r2, [r3, #32]
+ 686 02b2 0421 movs r1, #4
+ 687 02b4 0A43 orrs r2, r1
+ 688 02b6 1A62 str r2, [r3, #32]
+ 689 02b8 1A6A ldr r2, [r3, #32]
+ 690 02ba 0339 subs r1, r1, #3
+ 691 02bc 0A43 orrs r2, r1
+ 692 02be 1A62 str r2, [r3, #32]
+ 693 02c0 D7E7 b .L54
+ 694 .L57:
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 695 .loc 1 527 0 is_stmt 1
+ 696 02c2 FFF7FEFF bl HAL_GetTick
+ 697 .LVL53:
+ 698 02c6 0600 movs r6, r0
+ 699 .LVL54:
+ 700 .L61:
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till LSE is disabled */
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET)
+ 701 .loc 1 530 0
+ 702 02c8 054B ldr r3, .L131
+ 703 02ca 1B6A ldr r3, [r3, #32]
+ 704 02cc 9B07 lsls r3, r3, #30
+ 705 02ce 11D5 bpl .L60
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE)
+ 706 .loc 1 532 0
+ 707 02d0 FFF7FEFF bl HAL_GetTick
+ 708 .LVL55:
+ 709 02d4 801B subs r0, r0, r6
+ 710 02d6 064B ldr r3, .L131+16
+ 711 02d8 9842 cmp r0, r3
+ 712 02da F5D9 bls .L61
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 713 .loc 1 534 0
+ 714 02dc 0320 movs r0, #3
+ 715 02de 1BE1 b .L20
+ 716 .L132:
+ 717 .align 2
+ 718 .L131:
+ 719 02e0 00100240 .word 1073876992
+ 720 02e4 FFFFFEFF .word -65537
+ 721 02e8 FFFFFBFF .word -262145
+ 722 02ec 00700040 .word 1073770496
+ 723 02f0 88130000 .word 5000
+ 724 .L60:
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ ARM GAS /tmp/ccQfjpF5.s page 24
+
+
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Require to disable power clock if necessary */
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(pwrclkchanged == SET)
+ 725 .loc 1 540 0
+ 726 02f4 012D cmp r5, #1
+ 727 02f6 3AD0 beq .L121
+ 728 .LVL56:
+ 729 .L48:
+ 730 .LBE2:
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PWR_CLK_DISABLE();
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI14 Configuration --------------------------*/
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI14) == RCC_OSCILLATORTYPE_HSI14)
+ 731 .loc 1 547 0
+ 732 02f8 2368 ldr r3, [r4]
+ 733 02fa DB06 lsls r3, r3, #27
+ 734 02fc 10D5 bpl .L63
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI14(RCC_OscInitStruct->HSI14State));
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSI14CalibrationValue));
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI14 State */
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI14State == RCC_HSI14_ON)
+ 735 .loc 1 554 0
+ 736 02fe 6369 ldr r3, [r4, #20]
+ 737 0300 012B cmp r3, #1
+ 738 0302 3AD0 beq .L122
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable ADC control of the Internal High Speed oscillator HSI14 */
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_DISABLE();
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI). */
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_ENABLE();
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI14RDY) == RESET)
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI14_TIMEOUT_VALUE)
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator 14Mhz (HSI14) calibration value. */
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSI14CalibrationValue);
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_OscInitStruct->HSI14State == RCC_HSI14_ADC_CONTROL)
+ 739 .loc 1 577 0
+ ARM GAS /tmp/ccQfjpF5.s page 25
+
+
+ 740 0304 0533 adds r3, r3, #5
+ 741 0306 58D1 bne .L67
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable ADC control of the Internal High Speed oscillator HSI14 */
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_ENABLE();
+ 742 .loc 1 580 0
+ 743 0308 884A ldr r2, .L133
+ 744 030a 536B ldr r3, [r2, #52]
+ 745 030c 0421 movs r1, #4
+ 746 030e 8B43 bics r3, r1
+ 747 0310 5363 str r3, [r2, #52]
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Adjusts the Internal High Speed oscillator 14Mhz (HSI14) calibration value. */
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSI14CalibrationValue);
+ 748 .loc 1 583 0
+ 749 0312 536B ldr r3, [r2, #52]
+ 750 0314 F431 adds r1, r1, #244
+ 751 0316 8B43 bics r3, r1
+ 752 0318 A169 ldr r1, [r4, #24]
+ 753 031a C900 lsls r1, r1, #3
+ 754 031c 0B43 orrs r3, r1
+ 755 031e 5363 str r3, [r2, #52]
+ 756 .L63:
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable ADC control of the Internal High Speed oscillator HSI14 */
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14ADC_DISABLE();
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI). */
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI14_DISABLE();
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI is ready */
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI14RDY) != RESET)
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI14_TIMEOUT_VALUE)
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT)
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*----------------------------- HSI48 Configuration --------------------------*/
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI48) == RCC_OSCILLATORTYPE_HSI48)
+ 757 .loc 1 609 0
+ 758 0320 2368 ldr r3, [r4]
+ 759 0322 9B06 lsls r3, r3, #26
+ 760 0324 00D4 bmi .LCB765
+ 761 0326 82E0 b .L70 @long jump
+ 762 .LCB765:
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ ARM GAS /tmp/ccQfjpF5.s page 26
+
+
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HSI48(RCC_OscInitStruct->HSI48State));
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* When the HSI48 is used as system clock it is not allowed to be disabled */
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI48) ||
+ 763 .loc 1 615 0
+ 764 0328 804B ldr r3, .L133
+ 765 032a 5A68 ldr r2, [r3, #4]
+ 766 032c 0C23 movs r3, #12
+ 767 032e 1340 ands r3, r2
+ 768 0330 0C2B cmp r3, #12
+ 769 0332 60D0 beq .L71
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_OSC
+ 770 .loc 1 616 0 discriminator 1
+ 771 0334 7D4B ldr r3, .L133
+ 772 0336 5A68 ldr r2, [r3, #4]
+ 773 0338 0C23 movs r3, #12
+ 774 033a 1340 ands r3, r2
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && (__HAL_RCC_GET_PLL_OSC
+ 775 .loc 1 615 0 discriminator 1
+ 776 033c 082B cmp r3, #8
+ 777 033e 53D0 beq .L123
+ 778 .L72:
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET) && (RCC_OscInitStruct->HSI48State != RCC_
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI48 State */
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_OscInitStruct->HSI48State != RCC_HSI48_OFF)
+ 779 .loc 1 626 0
+ 780 0340 236A ldr r3, [r4, #32]
+ 781 0342 002B cmp r3, #0
+ 782 0344 60D0 beq .L73
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the Internal High Speed oscillator (HSI48). */
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI48_ENABLE();
+ 783 .loc 1 629 0
+ 784 0346 794A ldr r2, .L133
+ 785 0348 516B ldr r1, [r2, #52]
+ 786 034a 8023 movs r3, #128
+ 787 034c 5B02 lsls r3, r3, #9
+ 788 034e 0B43 orrs r3, r1
+ 789 0350 5363 str r3, [r2, #52]
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 790 .loc 1 632 0
+ 791 0352 FFF7FEFF bl HAL_GetTick
+ 792 .LVL57:
+ 793 0356 0500 movs r5, r0
+ 794 .LVL58:
+ 795 .L74:
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI48 is ready */
+ ARM GAS /tmp/ccQfjpF5.s page 27
+
+
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET)
+ 796 .loc 1 635 0
+ 797 0358 744B ldr r3, .L133
+ 798 035a 5B6B ldr r3, [r3, #52]
+ 799 035c DB03 lsls r3, r3, #15
+ 800 035e 66D4 bmi .L70
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE)
+ 801 .loc 1 637 0
+ 802 0360 FFF7FEFF bl HAL_GetTick
+ 803 .LVL59:
+ 804 0364 401B subs r0, r0, r5
+ 805 0366 0228 cmp r0, #2
+ 806 0368 F6D9 bls .L74
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 807 .loc 1 639 0
+ 808 036a 0320 movs r0, #3
+ 809 036c D4E0 b .L20
+ 810 .LVL60:
+ 811 .L121:
+ 812 .LBB4:
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 813 .loc 1 542 0
+ 814 036e 6F4A ldr r2, .L133
+ 815 0370 D369 ldr r3, [r2, #28]
+ 816 0372 6F49 ldr r1, .L133+4
+ 817 0374 0B40 ands r3, r1
+ 818 0376 D361 str r3, [r2, #28]
+ 819 0378 BEE7 b .L48
+ 820 .LVL61:
+ 821 .L122:
+ 822 .LBE4:
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 823 .loc 1 557 0
+ 824 037a 6C4B ldr r3, .L133
+ 825 037c 5A6B ldr r2, [r3, #52]
+ 826 037e 0421 movs r1, #4
+ 827 0380 0A43 orrs r2, r1
+ 828 0382 5A63 str r2, [r3, #52]
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 829 .loc 1 560 0
+ 830 0384 5A6B ldr r2, [r3, #52]
+ 831 0386 0339 subs r1, r1, #3
+ 832 0388 0A43 orrs r2, r1
+ 833 038a 5A63 str r2, [r3, #52]
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 834 .loc 1 563 0
+ 835 038c FFF7FEFF bl HAL_GetTick
+ 836 .LVL62:
+ 837 0390 0500 movs r5, r0
+ 838 .LVL63:
+ 839 .L65:
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 840 .loc 1 566 0
+ 841 0392 664B ldr r3, .L133
+ 842 0394 5B6B ldr r3, [r3, #52]
+ ARM GAS /tmp/ccQfjpF5.s page 28
+
+
+ 843 0396 9B07 lsls r3, r3, #30
+ 844 0398 06D4 bmi .L124
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 845 .loc 1 568 0
+ 846 039a FFF7FEFF bl HAL_GetTick
+ 847 .LVL64:
+ 848 039e 401B subs r0, r0, r5
+ 849 03a0 0228 cmp r0, #2
+ 850 03a2 F6D9 bls .L65
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 851 .loc 1 570 0
+ 852 03a4 0320 movs r0, #3
+ 853 03a6 B7E0 b .L20
+ 854 .L124:
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 855 .loc 1 575 0
+ 856 03a8 6049 ldr r1, .L133
+ 857 03aa 4B6B ldr r3, [r1, #52]
+ 858 03ac F822 movs r2, #248
+ 859 03ae 9343 bics r3, r2
+ 860 03b0 A269 ldr r2, [r4, #24]
+ 861 03b2 D200 lsls r2, r2, #3
+ 862 03b4 1343 orrs r3, r2
+ 863 03b6 4B63 str r3, [r1, #52]
+ 864 03b8 B2E7 b .L63
+ 865 .LVL65:
+ 866 .L67:
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 867 .loc 1 588 0
+ 868 03ba 5C4B ldr r3, .L133
+ 869 03bc 5A6B ldr r2, [r3, #52]
+ 870 03be 0421 movs r1, #4
+ 871 03c0 0A43 orrs r2, r1
+ 872 03c2 5A63 str r2, [r3, #52]
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 873 .loc 1 591 0
+ 874 03c4 5A6B ldr r2, [r3, #52]
+ 875 03c6 0339 subs r1, r1, #3
+ 876 03c8 8A43 bics r2, r1
+ 877 03ca 5A63 str r2, [r3, #52]
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 878 .loc 1 594 0
+ 879 03cc FFF7FEFF bl HAL_GetTick
+ 880 .LVL66:
+ 881 03d0 0500 movs r5, r0
+ 882 .LVL67:
+ 883 .L68:
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 884 .loc 1 597 0
+ 885 03d2 564B ldr r3, .L133
+ 886 03d4 5B6B ldr r3, [r3, #52]
+ 887 03d6 9B07 lsls r3, r3, #30
+ 888 03d8 A2D5 bpl .L63
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 889 .loc 1 599 0
+ 890 03da FFF7FEFF bl HAL_GetTick
+ 891 .LVL68:
+ ARM GAS /tmp/ccQfjpF5.s page 29
+
+
+ 892 03de 401B subs r0, r0, r5
+ 893 03e0 0228 cmp r0, #2
+ 894 03e2 F6D9 bls .L68
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 895 .loc 1 601 0
+ 896 03e4 0320 movs r0, #3
+ 897 03e6 97E0 b .L20
+ 898 .LVL69:
+ 899 .L123:
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 900 .loc 1 616 0
+ 901 03e8 504B ldr r3, .L133
+ 902 03ea 5B68 ldr r3, [r3, #4]
+ 903 03ec C022 movs r2, #192
+ 904 03ee 5202 lsls r2, r2, #9
+ 905 03f0 1340 ands r3, r2
+ 906 03f2 9342 cmp r3, r2
+ 907 03f4 A4D1 bne .L72
+ 908 .L71:
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 909 .loc 1 618 0
+ 910 03f6 4D4B ldr r3, .L133
+ 911 03f8 5B6B ldr r3, [r3, #52]
+ 912 03fa DB03 lsls r3, r3, #15
+ 913 03fc 17D5 bpl .L70
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 914 .loc 1 618 0 is_stmt 0 discriminator 1
+ 915 03fe 236A ldr r3, [r4, #32]
+ 916 0400 012B cmp r3, #1
+ 917 0402 14D0 beq .L70
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 918 .loc 1 620 0 is_stmt 1
+ 919 0404 0120 movs r0, #1
+ 920 0406 87E0 b .L20
+ 921 .L73:
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the Internal High Speed oscillator (HSI48). */
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_HSI48_DISABLE();
+ 922 .loc 1 646 0
+ 923 0408 484A ldr r2, .L133
+ 924 040a 536B ldr r3, [r2, #52]
+ 925 040c 4949 ldr r1, .L133+8
+ 926 040e 0B40 ands r3, r1
+ 927 0410 5363 str r3, [r2, #52]
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 928 .loc 1 649 0
+ 929 0412 FFF7FEFF bl HAL_GetTick
+ 930 .LVL70:
+ 931 0416 0500 movs r5, r0
+ 932 .LVL71:
+ 933 .L76:
+ ARM GAS /tmp/ccQfjpF5.s page 30
+
+
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till HSI48 is ready */
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) != RESET)
+ 934 .loc 1 652 0
+ 935 0418 444B ldr r3, .L133
+ 936 041a 5B6B ldr r3, [r3, #52]
+ 937 041c DB03 lsls r3, r3, #15
+ 938 041e 06D5 bpl .L70
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart) > HSI48_TIMEOUT_VALUE)
+ 939 .loc 1 654 0
+ 940 0420 FFF7FEFF bl HAL_GetTick
+ 941 .LVL72:
+ 942 0424 401B subs r0, r0, r5
+ 943 0426 0228 cmp r0, #2
+ 944 0428 F6D9 bls .L76
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 945 .loc 1 656 0
+ 946 042a 0320 movs r0, #3
+ 947 042c 74E0 b .L20
+ 948 .LVL73:
+ 949 .L70:
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------------- PLL Configuration -----------------------*/
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState));
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE)
+ 950 .loc 1 667 0
+ 951 042e 636A ldr r3, [r4, #36]
+ 952 0430 002B cmp r3, #0
+ 953 0432 00D1 bne .LCB967
+ 954 0434 74E0 b .L104 @long jump
+ 955 .LCB967:
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if the PLL is used as system clock or not */
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK)
+ 956 .loc 1 670 0
+ 957 0436 3D4A ldr r2, .L133
+ 958 0438 5168 ldr r1, [r2, #4]
+ 959 043a 0C22 movs r2, #12
+ 960 043c 0A40 ands r2, r1
+ 961 043e 082A cmp r2, #8
+ 962 0440 4DD0 beq .L78
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON)
+ 963 .loc 1 672 0
+ 964 0442 022B cmp r3, #2
+ 965 0444 12D0 beq .L125
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ ARM GAS /tmp/ccQfjpF5.s page 31
+
+
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLLSOURCE(RCC_OscInitStruct->PLL.PLLSource));
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PLL_MUL(RCC_OscInitStruct->PLL.PLLMUL));
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PREDIV(RCC_OscInitStruct->PLL.PREDIV));
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the main PLL. */
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE();
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is disabled */
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the main PLL clock source, predivider and multiplication factor. */
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource,
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV,
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL);
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Enable the main PLL. */
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_ENABLE();
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is ready */
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Disable the main PLL. */
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_PLL_DISABLE();
+ 966 .loc 1 716 0
+ 967 0446 394A ldr r2, .L133
+ 968 0448 1368 ldr r3, [r2]
+ 969 044a 3B49 ldr r1, .L133+12
+ 970 044c 0B40 ands r3, r1
+ 971 044e 1360 str r3, [r2]
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 972 .loc 1 719 0
+ 973 0450 FFF7FEFF bl HAL_GetTick
+ 974 .LVL74:
+ 975 0454 0400 movs r4, r0
+ 976 .LVL75:
+ 977 .L84:
+ ARM GAS /tmp/ccQfjpF5.s page 32
+
+
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Wait till PLL is disabled */
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
+ 978 .loc 1 722 0
+ 979 0456 354B ldr r3, .L133
+ 980 0458 1B68 ldr r3, [r3]
+ 981 045a 9B01 lsls r3, r3, #6
+ 982 045c 3DD5 bpl .L126
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
+ 983 .loc 1 724 0
+ 984 045e FFF7FEFF bl HAL_GetTick
+ 985 .LVL76:
+ 986 0462 001B subs r0, r0, r4
+ 987 0464 0228 cmp r0, #2
+ 988 0466 F6D9 bls .L84
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 989 .loc 1 726 0
+ 990 0468 0320 movs r0, #3
+ 991 046a 55E0 b .L20
+ 992 .LVL77:
+ 993 .L125:
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 994 .loc 1 680 0
+ 995 046c 2F4A ldr r2, .L133
+ 996 046e 1368 ldr r3, [r2]
+ 997 0470 3149 ldr r1, .L133+12
+ 998 0472 0B40 ands r3, r1
+ 999 0474 1360 str r3, [r2]
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1000 .loc 1 683 0
+ 1001 0476 FFF7FEFF bl HAL_GetTick
+ 1002 .LVL78:
+ 1003 047a 0500 movs r5, r0
+ 1004 .LVL79:
+ 1005 .L80:
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1006 .loc 1 686 0
+ 1007 047c 2B4B ldr r3, .L133
+ 1008 047e 1B68 ldr r3, [r3]
+ 1009 0480 9B01 lsls r3, r3, #6
+ 1010 0482 06D5 bpl .L127
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1011 .loc 1 688 0
+ 1012 0484 FFF7FEFF bl HAL_GetTick
+ 1013 .LVL80:
+ 1014 0488 401B subs r0, r0, r5
+ 1015 048a 0228 cmp r0, #2
+ 1016 048c F6D9 bls .L80
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1017 .loc 1 690 0
+ 1018 048e 0320 movs r0, #3
+ 1019 0490 42E0 b .L20
+ 1020 .L127:
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV,
+ 1021 .loc 1 695 0
+ ARM GAS /tmp/ccQfjpF5.s page 33
+
+
+ 1022 0492 264B ldr r3, .L133
+ 1023 0494 DA6A ldr r2, [r3, #44]
+ 1024 0496 0F21 movs r1, #15
+ 1025 0498 8A43 bics r2, r1
+ 1026 049a 216B ldr r1, [r4, #48]
+ 1027 049c 0A43 orrs r2, r1
+ 1028 049e DA62 str r2, [r3, #44]
+ 1029 04a0 5A68 ldr r2, [r3, #4]
+ 1030 04a2 2649 ldr r1, .L133+16
+ 1031 04a4 0A40 ands r2, r1
+ 1032 04a6 E16A ldr r1, [r4, #44]
+ 1033 04a8 A06A ldr r0, [r4, #40]
+ 1034 04aa 0143 orrs r1, r0
+ 1035 04ac 0A43 orrs r2, r1
+ 1036 04ae 5A60 str r2, [r3, #4]
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1037 .loc 1 699 0
+ 1038 04b0 1968 ldr r1, [r3]
+ 1039 04b2 8022 movs r2, #128
+ 1040 04b4 5204 lsls r2, r2, #17
+ 1041 04b6 0A43 orrs r2, r1
+ 1042 04b8 1A60 str r2, [r3]
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1043 .loc 1 702 0
+ 1044 04ba FFF7FEFF bl HAL_GetTick
+ 1045 .LVL81:
+ 1046 04be 0400 movs r4, r0
+ 1047 .LVL82:
+ 1048 .L82:
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1049 .loc 1 705 0
+ 1050 04c0 1A4B ldr r3, .L133
+ 1051 04c2 1B68 ldr r3, [r3]
+ 1052 04c4 9B01 lsls r3, r3, #6
+ 1053 04c6 06D4 bmi .L128
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1054 .loc 1 707 0
+ 1055 04c8 FFF7FEFF bl HAL_GetTick
+ 1056 .LVL83:
+ 1057 04cc 001B subs r0, r0, r4
+ 1058 04ce 0228 cmp r0, #2
+ 1059 04d0 F6D9 bls .L82
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1060 .loc 1 709 0
+ 1061 04d2 0320 movs r0, #3
+ 1062 04d4 20E0 b .L20
+ 1063 .L128:
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check if there is a request to disable the PLL used as System clock source */
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF)
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ ARM GAS /tmp/ccQfjpF5.s page 34
+
+
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Do not return HAL_ERROR if request repeats the current configuration */
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config = RCC->CFGR;
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config2 = RCC->CFGR2;
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) ||
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) ||
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL))
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK;
+ 1064 .loc 1 753 0
+ 1065 04d6 0020 movs r0, #0
+ 1066 04d8 1EE0 b .L20
+ 1067 .L126:
+ 1068 04da 0020 movs r0, #0
+ 1069 04dc 1CE0 b .L20
+ 1070 .LVL84:
+ 1071 .L78:
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1072 .loc 1 734 0
+ 1073 04de 012B cmp r3, #1
+ 1074 04e0 20D0 beq .L108
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pll_config2 = RCC->CFGR2;
+ 1075 .loc 1 741 0
+ 1076 04e2 124B ldr r3, .L133
+ 1077 04e4 5A68 ldr r2, [r3, #4]
+ 1078 .LVL85:
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((READ_BIT(pll_config, RCC_CFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) ||
+ 1079 .loc 1 742 0
+ 1080 04e6 D96A ldr r1, [r3, #44]
+ 1081 .LVL86:
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) ||
+ 1082 .loc 1 743 0
+ 1083 04e8 C023 movs r3, #192
+ 1084 04ea 5B02 lsls r3, r3, #9
+ 1085 04ec 1340 ands r3, r2
+ 1086 04ee A06A ldr r0, [r4, #40]
+ 1087 04f0 8342 cmp r3, r0
+ 1088 04f2 01D0 beq .L129
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1089 .loc 1 747 0
+ 1090 04f4 0120 movs r0, #1
+ 1091 04f6 0FE0 b .L20
+ 1092 .L129:
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL))
+ 1093 .loc 1 744 0 discriminator 1
+ 1094 04f8 0F23 movs r3, #15
+ 1095 04fa 0B40 ands r3, r1
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config2, RCC_CFGR2_PREDIV) != RCC_OscInitStruct->PLL.PREDIV) ||
+ 1096 .loc 1 743 0 discriminator 1
+ ARM GAS /tmp/ccQfjpF5.s page 35
+
+
+ 1097 04fc 216B ldr r1, [r4, #48]
+ 1098 .LVL87:
+ 1099 04fe 8B42 cmp r3, r1
+ 1100 0500 01D0 beq .L130
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1101 .loc 1 747 0
+ 1102 0502 0120 movs r0, #1
+ 1103 0504 08E0 b .L20
+ 1104 .L130:
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1105 .loc 1 745 0
+ 1106 0506 F023 movs r3, #240
+ 1107 0508 9B03 lsls r3, r3, #14
+ 1108 050a 1A40 ands r2, r3
+ 1109 .LVL88:
+ 1110 050c E36A ldr r3, [r4, #44]
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (READ_BIT(pll_config, RCC_CFGR_PLLMUL) != RCC_OscInitStruct->PLL.PLLMUL))
+ 1111 .loc 1 744 0
+ 1112 050e 9A42 cmp r2, r3
+ 1113 0510 0AD0 beq .L111
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1114 .loc 1 747 0
+ 1115 0512 0120 movs r0, #1
+ 1116 0514 00E0 b .L20
+ 1117 .LVL89:
+ 1118 .L86:
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1119 .loc 1 309 0
+ 1120 0516 0120 movs r0, #1
+ 1121 .LVL90:
+ 1122 .L20:
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1123 .loc 1 754 0
+ 1124 0518 02B0 add sp, sp, #8
+ 1125 @ sp needed
+ 1126 051a 70BD pop {r4, r5, r6, pc}
+ 1127 .LVL91:
+ 1128 .L114:
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1129 .loc 1 327 0
+ 1130 051c 0120 movs r0, #1
+ 1131 .LVL92:
+ 1132 051e FBE7 b .L20
+ 1133 .L104:
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1134 .loc 1 753 0
+ 1135 0520 0020 movs r0, #0
+ 1136 0522 F9E7 b .L20
+ 1137 .L108:
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1138 .loc 1 736 0
+ 1139 0524 0120 movs r0, #1
+ 1140 0526 F7E7 b .L20
+ 1141 .L111:
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1142 .loc 1 753 0
+ 1143 0528 0020 movs r0, #0
+ ARM GAS /tmp/ccQfjpF5.s page 36
+
+
+ 1144 052a F5E7 b .L20
+ 1145 .L134:
+ 1146 .align 2
+ 1147 .L133:
+ 1148 052c 00100240 .word 1073876992
+ 1149 0530 FFFFFFEF .word -268435457
+ 1150 0534 FFFFFEFF .word -65537
+ 1151 0538 FFFFFFFE .word -16777217
+ 1152 053c FF7FC2FF .word -4030465
+ 1153 .cfi_endproc
+ 1154 .LFE41:
+ 1156 .section .text.HAL_RCC_MCOConfig,"ax",%progbits
+ 1157 .align 1
+ 1158 .global HAL_RCC_MCOConfig
+ 1159 .syntax unified
+ 1160 .code 16
+ 1161 .thumb_func
+ 1162 .fpu softvfp
+ 1164 HAL_RCC_MCOConfig:
+ 1165 .LFB43:
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Initializes the CPU, AHB and APB buses clocks according to the specified
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * parameters in the RCC_ClkInitStruct.
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_OscInitTypeDef structure that
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the configuration information for the RCC peripheral.
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param FLatency FLASH Latency
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * The value of this parameter depend on device used within the same series
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * and updated by @ref HAL_RCC_GetHCLKFreq() function called within this function
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The HSI is used (enabled by hardware) as system clock source after
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * start-up from Reset, wake-up from STOP and STANDBY mode, or in case
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * of failure of the HSE used directly or indirectly as system clock
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * (if the Clock Security System CSS is enabled).
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note A switch from one clock source to another occurs only if the target
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * clock source is ready (clock stable after start-up delay or PLL locked).
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * If a clock source which is not yet ready is selected, the switch will
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * occur when the clock source will be ready.
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * You can use @ref HAL_RCC_GetClockConfig() function to know which clock is
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * currently used as system clock source.
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HAL status
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency)
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart;
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check Null pointer */
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_ClkInitStruct == NULL)
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_CLOCKTYPE(RCC_ClkInitStruct->ClockType));
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_FLASH_LATENCY(FLatency));
+ ARM GAS /tmp/ccQfjpF5.s page 37
+
+
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* To correctly read data from FLASH memory, the number of wait states (LATENCY)
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** must be correctly programmed according to the frequency of the CPU clock
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** (HCLK) of the device. */
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Increasing the number of wait states because of higher CPU frequency */
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(FLatency > __HAL_FLASH_GET_LATENCY())
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency);
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency)
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------- HCLK Configuration --------------------------*/
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK)
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the highest APB divider in order to ensure that we do not go through
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** a non-spec phase whatever we decrease or increase HCLK. */
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE, RCC_HCLK_DIV16);
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set the new HCLK clock divider */
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider));
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider);
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*------------------------- SYSCLK Configuration ---------------------------*/
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK)
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource));
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSE is selected as System Clock Source */
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE)
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSE ready flag */
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET)
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* PLL is selected as System Clock Source */
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK)
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the PLL ready flag */
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ ARM GAS /tmp/ccQfjpF5.s page 38
+
+
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_SWS_HSI48)
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI48 is selected as System Clock Source */
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if(RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSI48)
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI48 ready flag */
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSI48RDY) == RESET)
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_SWS_HSI48 */
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI is selected as System Clock Source */
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the HSI ready flag */
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET)
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource);
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get Start Tick */
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tickstart = HAL_GetTick();
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos))
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((HAL_GetTick() - tickstart ) > CLOCKSWITCH_TIMEOUT_VALUE)
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_TIMEOUT;
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Decreasing the number of wait states because of lower CPU frequency */
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(FLatency < __HAL_FLASH_GET_LATENCY())
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_FLASH_SET_LATENCY(FLatency);
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check that the new number of wait states is taken into account to access the Flash
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** memory by reading the FLASH_ACR register */
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_FLASH_GET_LATENCY() != FLatency)
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_ERROR;
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /*-------------------------- PCLK1 Configuration ---------------------------*/
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1)
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider));
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE, RCC_ClkInitStruct->APB1CLKDivider);
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Update the SystemCoreClock global variable */
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE)>> RCC_CF
+ ARM GAS /tmp/ccQfjpF5.s page 39
+
+
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the source of time base considering new system clocks settings*/
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_InitTick (TICK_INT_PRIORITY);
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return HAL_OK;
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @}
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /** @defgroup RCC_Exported_Functions_Group2 Peripheral Control functions
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC clocks control functions
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @verbatim
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ===============================================================================
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ##### Peripheral Control functions #####
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** ===============================================================================
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** [..]
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** This subsection provides a set of functions allowing to control the RCC Clocks
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** frequencies.
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endverbatim
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @{
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_MCOPRE)
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin.
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode.
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source.
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8).
+ 939:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output.
+ 940:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+ 941:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected
+ 942:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System Clock selected as MCO clock
+ 943:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock
+ 944:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock
+ 945:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI selected as MCO clock
+ 946:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE selected as MCO clock
+ 947:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI14 HSI14 selected as MCO clock
+ 948:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @if STM32F042x6
+ 949:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 950:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 951:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F048xx
+ 952:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 953:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 954:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F071xB
+ 955:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 956:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 957:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F072xB
+ 958:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 959:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 960:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F078xx
+ 961:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 962:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ ARM GAS /tmp/ccQfjpF5.s page 40
+
+
+ 963:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F091xC
+ 964:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 965:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 966:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elseif STM32F098xx
+ 967:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI48 HSI48 selected as MCO clock
+ 968:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 969:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F030x6
+ 970:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 971:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F030xC
+ 972:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 973:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F031x6
+ 974:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 975:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F038xx
+ 976:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 977:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F070x6
+ 978:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 979:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @elif STM32F070xB
+ 980:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK PLLCLK selected as MCO clock
+ 981:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** @endif
+ 982:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK_DIV2 PLLCLK Divided by 2 selected as MCO clock
+ 983:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV.
+ 984:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+ 985:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock
+ 986:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_2 division by 2 applied to MCO clock
+ 987:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_4 division by 4 applied to MCO clock
+ 988:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_8 division by 8 applied to MCO clock
+ 989:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_16 division by 16 applied to MCO clock
+ 990:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_32 division by 32 applied to MCO clock
+ 991:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_64 division by 64 applied to MCO clock
+ 992:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_128 division by 128 applied to MCO clock
+ 993:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+ 994:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+ 995:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else
+ 996:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+ 997:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Selects the clock source to output on MCO pin.
+ 998:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note MCO pin should be configured in alternate function mode.
+ 999:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOx specifies the output direction for the clock source.
+1000:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+1001:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1 Clock source to output on MCO1 pin(PA8).
+1002:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCOSource specifies the clock source to output.
+1003:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+1004:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_NOCLOCK No clock selected as MCO clock
+1005:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_SYSCLK System clock selected as MCO clock
+1006:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI HSI selected as MCO clock
+1007:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSE HSE selected as MCO clock
+1008:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSI LSI selected as MCO clock
+1009:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_LSE LSE selected as MCO clock
+1010:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_HSI14 HSI14 selected as MCO clock
+1011:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCO1SOURCE_PLLCLK_DIV2 PLLCLK Divided by 2 selected as MCO clock
+1012:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_MCODiv specifies the MCO DIV.
+1013:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * This parameter can be one of the following values:
+1014:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @arg @ref RCC_MCODIV_1 no division applied to MCO clock
+1015:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+1016:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1017:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif
+1018:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_MCOConfig(uint32_t RCC_MCOx, uint32_t RCC_MCOSource, uint32_t RCC_MCODiv)
+1019:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ ARM GAS /tmp/ccQfjpF5.s page 41
+
+
+ 1166 .loc 1 1019 0
+ 1167 .cfi_startproc
+ 1168 @ args = 0, pretend = 0, frame = 24
+ 1169 @ frame_needed = 0, uses_anonymous_args = 0
+ 1170 .LVL93:
+ 1171 0000 70B5 push {r4, r5, r6, lr}
+ 1172 .LCFI3:
+ 1173 .cfi_def_cfa_offset 16
+ 1174 .cfi_offset 4, -16
+ 1175 .cfi_offset 5, -12
+ 1176 .cfi_offset 6, -8
+ 1177 .cfi_offset 14, -4
+ 1178 0002 86B0 sub sp, sp, #24
+ 1179 .LCFI4:
+ 1180 .cfi_def_cfa_offset 40
+ 1181 0004 0D00 movs r5, r1
+ 1182 0006 1600 movs r6, r2
+1020:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** GPIO_InitTypeDef gpio;
+1021:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1022:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+1023:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCO(RCC_MCOx));
+1024:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCODIV(RCC_MCODiv));
+1025:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(IS_RCC_MCO1SOURCE(RCC_MCOSource));
+1026:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1027:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the MCO1 pin in alternate function mode */
+1028:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Mode = GPIO_MODE_AF_PP;
+ 1183 .loc 1 1028 0
+ 1184 0008 0223 movs r3, #2
+ 1185 000a 0293 str r3, [sp, #8]
+1029:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Speed = GPIO_SPEED_FREQ_HIGH;
+ 1186 .loc 1 1029 0
+ 1187 000c 0133 adds r3, r3, #1
+ 1188 000e 0493 str r3, [sp, #16]
+1030:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Pull = GPIO_NOPULL;
+ 1189 .loc 1 1030 0
+ 1190 0010 0023 movs r3, #0
+ 1191 0012 0393 str r3, [sp, #12]
+1031:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Pin = MCO1_PIN;
+ 1192 .loc 1 1031 0
+ 1193 0014 8022 movs r2, #128
+ 1194 .LVL94:
+ 1195 0016 5200 lsls r2, r2, #1
+ 1196 0018 0192 str r2, [sp, #4]
+1032:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** gpio.Alternate = GPIO_AF0_MCO;
+ 1197 .loc 1 1032 0
+ 1198 001a 0593 str r3, [sp, #20]
+ 1199 .LBB5:
+1033:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1034:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* MCO1 Clock Enable */
+1035:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** MCO1_CLK_ENABLE();
+ 1200 .loc 1 1035 0
+ 1201 001c 0B4C ldr r4, .L136
+ 1202 001e 6269 ldr r2, [r4, #20]
+ 1203 0020 8021 movs r1, #128
+ 1204 .LVL95:
+ 1205 0022 8902 lsls r1, r1, #10
+ 1206 0024 0A43 orrs r2, r1
+ ARM GAS /tmp/ccQfjpF5.s page 42
+
+
+ 1207 0026 6261 str r2, [r4, #20]
+ 1208 0028 6369 ldr r3, [r4, #20]
+ 1209 002a 0B40 ands r3, r1
+ 1210 002c 0093 str r3, [sp]
+ 1211 002e 009B ldr r3, [sp]
+ 1212 .LBE5:
+1036:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1037:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_GPIO_Init(MCO1_GPIO_PORT, &gpio);
+ 1213 .loc 1 1037 0
+ 1214 0030 9020 movs r0, #144
+ 1215 .LVL96:
+ 1216 0032 01A9 add r1, sp, #4
+ 1217 0034 C005 lsls r0, r0, #23
+ 1218 0036 FFF7FEFF bl HAL_GPIO_Init
+ 1219 .LVL97:
+1038:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1039:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Configure the MCO clock source */
+1040:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_MCO1_CONFIG(RCC_MCOSource, RCC_MCODiv);
+ 1220 .loc 1 1040 0
+ 1221 003a 6268 ldr r2, [r4, #4]
+ 1222 003c 044B ldr r3, .L136+4
+ 1223 003e 1A40 ands r2, r3
+ 1224 0040 3543 orrs r5, r6
+ 1225 .LVL98:
+ 1226 0042 2A43 orrs r2, r5
+ 1227 0044 6260 str r2, [r4, #4]
+1041:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1228 .loc 1 1041 0
+ 1229 0046 06B0 add sp, sp, #24
+ 1230 @ sp needed
+ 1231 .LVL99:
+ 1232 0048 70BD pop {r4, r5, r6, pc}
+ 1233 .L137:
+ 1234 004a C046 .align 2
+ 1235 .L136:
+ 1236 004c 00100240 .word 1073876992
+ 1237 0050 FFFFFF80 .word -2130706433
+ 1238 .cfi_endproc
+ 1239 .LFE43:
+ 1241 .section .text.HAL_RCC_EnableCSS,"ax",%progbits
+ 1242 .align 1
+ 1243 .global HAL_RCC_EnableCSS
+ 1244 .syntax unified
+ 1245 .code 16
+ 1246 .thumb_func
+ 1247 .fpu softvfp
+ 1249 HAL_RCC_EnableCSS:
+ 1250 .LFB44:
+1042:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1043:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1044:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Enables the Clock Security System.
+1045:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If a failure is detected on the HSE oscillator clock, this oscillator
+1046:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * is automatically disabled and an interrupt is generated to inform the
+1047:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * software about the failure (Clock Security System Interrupt, CSSI),
+1048:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * allowing the MCU to perform rescue operations. The CSSI is linked to
+1049:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * the Cortex-M0 NMI (Non-Maskable Interrupt) exception vector.
+1050:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+ ARM GAS /tmp/ccQfjpF5.s page 43
+
+
+1051:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1052:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_EnableCSS(void)
+1053:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1251 .loc 1 1053 0
+ 1252 .cfi_startproc
+ 1253 @ args = 0, pretend = 0, frame = 0
+ 1254 @ frame_needed = 0, uses_anonymous_args = 0
+ 1255 @ link register save eliminated.
+1054:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** SET_BIT(RCC->CR, RCC_CR_CSSON) ;
+ 1256 .loc 1 1054 0
+ 1257 0000 034A ldr r2, .L139
+ 1258 0002 1168 ldr r1, [r2]
+ 1259 0004 8023 movs r3, #128
+ 1260 0006 1B03 lsls r3, r3, #12
+ 1261 0008 0B43 orrs r3, r1
+ 1262 000a 1360 str r3, [r2]
+1055:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1263 .loc 1 1055 0
+ 1264 @ sp needed
+ 1265 000c 7047 bx lr
+ 1266 .L140:
+ 1267 000e C046 .align 2
+ 1268 .L139:
+ 1269 0010 00100240 .word 1073876992
+ 1270 .cfi_endproc
+ 1271 .LFE44:
+ 1273 .section .text.HAL_RCC_DisableCSS,"ax",%progbits
+ 1274 .align 1
+ 1275 .global HAL_RCC_DisableCSS
+ 1276 .syntax unified
+ 1277 .code 16
+ 1278 .thumb_func
+ 1279 .fpu softvfp
+ 1281 HAL_RCC_DisableCSS:
+ 1282 .LFB45:
+1056:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1057:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1058:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Disables the Clock Security System.
+1059:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+1060:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1061:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_DisableCSS(void)
+1062:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1283 .loc 1 1062 0
+ 1284 .cfi_startproc
+ 1285 @ args = 0, pretend = 0, frame = 0
+ 1286 @ frame_needed = 0, uses_anonymous_args = 0
+ 1287 @ link register save eliminated.
+1063:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** CLEAR_BIT(RCC->CR, RCC_CR_CSSON) ;
+ 1288 .loc 1 1063 0
+ 1289 0000 024A ldr r2, .L142
+ 1290 0002 1368 ldr r3, [r2]
+ 1291 0004 0249 ldr r1, .L142+4
+ 1292 0006 0B40 ands r3, r1
+ 1293 0008 1360 str r3, [r2]
+1064:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1294 .loc 1 1064 0
+ 1295 @ sp needed
+ ARM GAS /tmp/ccQfjpF5.s page 44
+
+
+ 1296 000a 7047 bx lr
+ 1297 .L143:
+ 1298 .align 2
+ 1299 .L142:
+ 1300 000c 00100240 .word 1073876992
+ 1301 0010 FFFFF7FF .word -524289
+ 1302 .cfi_endproc
+ 1303 .LFE45:
+ 1305 .global __aeabi_uidiv
+ 1306 .section .text.HAL_RCC_GetSysClockFreq,"ax",%progbits
+ 1307 .align 1
+ 1308 .global HAL_RCC_GetSysClockFreq
+ 1309 .syntax unified
+ 1310 .code 16
+ 1311 .thumb_func
+ 1312 .fpu softvfp
+ 1314 HAL_RCC_GetSysClockFreq:
+ 1315 .LFB46:
+1065:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1066:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1067:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the SYSCLK frequency
+1068:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The system frequency computed by this function is not the real
+1069:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * frequency in the chip. It is calculated based on the predefined
+1070:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * constant and the selected clock source:
+1071:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is HSI, function returns values based on HSI_VALUE(*)
+1072:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is HSE, function returns a value based on HSE_VALUE
+1073:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * divided by PREDIV factor(**)
+1074:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note If SYSCLK source is PLL, function returns a value based on HSE_VALUE
+1075:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * divided by PREDIV factor(**) or depending on STM32F0xxxx devices either a value based
+1076:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * on HSI_VALUE divided by 2 or HSI_VALUE divided by PREDIV factor(*) multiplied by the
+1077:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * PLL factor.
+1078:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note (*) HSI_VALUE is a constant defined in stm32f0xx_hal_conf.h file (default value
+1079:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * 8 MHz) but the real value may vary depending on the variations
+1080:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * in voltage and temperature.
+1081:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note (**) HSE_VALUE is a constant defined in stm32f0xx_hal_conf.h file (default value
+1082:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+1083:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * frequency of the crystal used. Otherwise, this function may
+1084:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * have wrong result.
+1085:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+1086:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The result of this function could be not correct when using fractional
+1087:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * value for HSE crystal.
+1088:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+1089:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This function can be used by the user application to compute the
+1090:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * baud-rate for the communication peripherals or configure other parameters.
+1091:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+1092:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time SYSCLK changes, this function must be called to update the
+1093:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right SYSCLK value. Otherwise, any configuration based on this function will be incorre
+1094:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+1095:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval SYSCLK frequency
+1096:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1097:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetSysClockFreq(void)
+1098:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1316 .loc 1 1098 0
+ 1317 .cfi_startproc
+ 1318 @ args = 0, pretend = 0, frame = 32
+ 1319 @ frame_needed = 0, uses_anonymous_args = 0
+ 1320 0000 30B5 push {r4, r5, lr}
+ ARM GAS /tmp/ccQfjpF5.s page 45
+
+
+ 1321 .LCFI5:
+ 1322 .cfi_def_cfa_offset 12
+ 1323 .cfi_offset 4, -12
+ 1324 .cfi_offset 5, -8
+ 1325 .cfi_offset 14, -4
+ 1326 0002 89B0 sub sp, sp, #36
+ 1327 .LCFI6:
+ 1328 .cfi_def_cfa_offset 48
+1099:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** const uint8_t aPLLMULFactorTable[16] = { 2U, 3U, 4U, 5U, 6U, 7U, 8U, 9U,
+ 1329 .loc 1 1099 0
+ 1330 0004 04AA add r2, sp, #16
+ 1331 0006 1F4B ldr r3, .L153
+ 1332 0008 1800 movs r0, r3
+ 1333 000a 32C8 ldmia r0!, {r1, r4, r5}
+ 1334 000c 32C2 stmia r2!, {r1, r4, r5}
+ 1335 000e 1100 movs r1, r2
+ 1336 0010 0268 ldr r2, [r0]
+ 1337 0012 0A60 str r2, [r1]
+1100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** 10U, 11U, 12U, 13U, 14U, 15U, 16U, 16U};
+1101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** const uint8_t aPredivFactorTable[16] = { 1U, 2U, 3U, 4U, 5U, 6U, 7U, 8U,
+ 1338 .loc 1 1101 0
+ 1339 0014 6A46 mov r2, sp
+ 1340 0016 1033 adds r3, r3, #16
+ 1341 0018 13CB ldmia r3!, {r0, r1, r4}
+ 1342 001a 13C2 stmia r2!, {r0, r1, r4}
+ 1343 001c 1B68 ldr r3, [r3]
+ 1344 001e 1360 str r3, [r2]
+ 1345 .LVL100:
+1102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** 9U,10U, 11U, 12U, 13U, 14U, 15U, 16U};
+1103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tmpreg = 0U, prediv = 0U, pllclk = 0U, pllmul = 0U;
+1105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t sysclockfreq = 0U;
+1106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** tmpreg = RCC->CFGR;
+ 1346 .loc 1 1107 0
+ 1347 0020 194B ldr r3, .L153+4
+ 1348 0022 5A68 ldr r2, [r3, #4]
+ 1349 .LVL101:
+1108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get SYSCLK source -------------------------------------------------------*/
+1110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** switch (tmpreg & RCC_CFGR_SWS)
+ 1350 .loc 1 1110 0
+ 1351 0024 0C23 movs r3, #12
+ 1352 0026 1340 ands r3, r2
+ 1353 0028 082B cmp r3, #8
+ 1354 002a 04D0 beq .L146
+ 1355 002c 0C2B cmp r3, #12
+ 1356 002e 26D0 beq .L150
+1111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock */
+1113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSE_VALUE;
+ 1357 .loc 1 1114 0
+ 1358 0030 1648 ldr r0, .L153+8
+ 1359 .LVL102:
+ 1360 .L144:
+1115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break;
+ ARM GAS /tmp/ccQfjpF5.s page 46
+
+
+1116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock */
+1118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllmul = aPLLMULFactorTable[(uint32_t)(tmpreg & RCC_CFGR_PLLMUL) >> RCC_CFGR_PLLMUL_BITNUMBER
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV) >> RCC_CFGR2_PREDIV_BIT
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSE)
+1122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSE used as PLL clock source : PLLCLK = HSE/PREDIV * PLLMUL */
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSE_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul);
+1125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_PLLSRC_HSI48_PREDIV)
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSI48)
+1128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI48 used as PLL clock source : PLLCLK = HSI48/PREDIV * PLLMUL */
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSI48_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul);
+1131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_PLLSRC_HSI48_PREDIV */
+1133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if (defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6) || defined(STM32F071xB)
+1136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI used as PLL clock source : PLLCLK = HSI/PREDIV * PLLMUL */
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) HSI_VALUE / (uint64_t) (prediv)) * ((uint64_t) pllmul);
+1138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else
+1139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* HSI used as PLL clock source : PLLCLK = HSI/2 * PLLMUL */
+1140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** pllclk = (uint32_t)((uint64_t) (HSI_VALUE >> 1U) * ((uint64_t) pllmul));
+1141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif
+1142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = pllclk;
+1144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break;
+1145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_CFGR_SWS_HSI48)
+1147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI48: /* HSI48 used as system clock source */
+1148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSI48_VALUE;
+1150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break;
+1151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_CFGR_SWS_HSI48 */
+1153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */
+1154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** default: /* HSI used as system clock */
+1155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** sysclockfreq = HSI_VALUE;
+1157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break;
+1158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return sysclockfreq;
+1161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1361 .loc 1 1161 0
+ 1362 0032 09B0 add sp, sp, #36
+ 1363 @ sp needed
+ 1364 0034 30BD pop {r4, r5, pc}
+ 1365 .LVL103:
+ 1366 .L146:
+1119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** prediv = aPredivFactorTable[(uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV) >> RCC_CFGR2_PREDIV_BIT
+ 1367 .loc 1 1119 0
+ 1368 0036 910C lsrs r1, r2, #18
+ 1369 0038 0F23 movs r3, #15
+ 1370 003a 1940 ands r1, r3
+ ARM GAS /tmp/ccQfjpF5.s page 47
+
+
+ 1371 003c 04A8 add r0, sp, #16
+ 1372 003e 445C ldrb r4, [r0, r1]
+ 1373 .LVL104:
+1120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if ((tmpreg & RCC_CFGR_PLLSRC) == RCC_PLLSOURCE_HSE)
+ 1374 .loc 1 1120 0
+ 1375 0040 1149 ldr r1, .L153+4
+ 1376 0042 C96A ldr r1, [r1, #44]
+ 1377 0044 0B40 ands r3, r1
+ 1378 0046 6946 mov r1, sp
+ 1379 0048 C95C ldrb r1, [r1, r3]
+ 1380 .LVL105:
+1121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1381 .loc 1 1121 0
+ 1382 004a C023 movs r3, #192
+ 1383 004c 5B02 lsls r3, r3, #9
+ 1384 004e 1A40 ands r2, r3
+ 1385 .LVL106:
+ 1386 0050 8023 movs r3, #128
+ 1387 0052 5B02 lsls r3, r3, #9
+ 1388 0054 9A42 cmp r2, r3
+ 1389 0056 08D0 beq .L151
+1127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1390 .loc 1 1127 0
+ 1391 0058 C023 movs r3, #192
+ 1392 005a 5B02 lsls r3, r3, #9
+ 1393 005c 9A42 cmp r2, r3
+ 1394 005e 09D0 beq .L152
+1137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #else
+ 1395 .loc 1 1137 0
+ 1396 0060 0A48 ldr r0, .L153+8
+ 1397 0062 FFF7FEFF bl __aeabi_uidiv
+ 1398 .LVL107:
+ 1399 0066 6043 muls r0, r4
+ 1400 .LVL108:
+ 1401 0068 E3E7 b .L144
+ 1402 .LVL109:
+ 1403 .L151:
+1124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1404 .loc 1 1124 0
+ 1405 006a 0848 ldr r0, .L153+8
+ 1406 006c FFF7FEFF bl __aeabi_uidiv
+ 1407 .LVL110:
+ 1408 0070 6043 muls r0, r4
+ 1409 .LVL111:
+ 1410 0072 DEE7 b .L144
+ 1411 .LVL112:
+ 1412 .L152:
+1130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1413 .loc 1 1130 0
+ 1414 0074 0648 ldr r0, .L153+12
+ 1415 0076 FFF7FEFF bl __aeabi_uidiv
+ 1416 .LVL113:
+ 1417 007a 6043 muls r0, r4
+ 1418 .LVL114:
+ 1419 007c D9E7 b .L144
+ 1420 .LVL115:
+ 1421 .L150:
+ ARM GAS /tmp/ccQfjpF5.s page 48
+
+
+1149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** break;
+ 1422 .loc 1 1149 0
+ 1423 007e 0448 ldr r0, .L153+12
+ 1424 .LVL116:
+1160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1425 .loc 1 1160 0
+ 1426 0080 D7E7 b .L144
+ 1427 .L154:
+ 1428 0082 C046 .align 2
+ 1429 .L153:
+ 1430 0084 00000000 .word .LANCHOR0
+ 1431 0088 00100240 .word 1073876992
+ 1432 008c 00127A00 .word 8000000
+ 1433 0090 006CDC02 .word 48000000
+ 1434 .cfi_endproc
+ 1435 .LFE46:
+ 1437 .section .text.HAL_RCC_ClockConfig,"ax",%progbits
+ 1438 .align 1
+ 1439 .global HAL_RCC_ClockConfig
+ 1440 .syntax unified
+ 1441 .code 16
+ 1442 .thumb_func
+ 1443 .fpu softvfp
+ 1445 HAL_RCC_ClockConfig:
+ 1446 .LFB42:
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t tickstart;
+ 1447 .loc 1 780 0
+ 1448 .cfi_startproc
+ 1449 @ args = 0, pretend = 0, frame = 0
+ 1450 @ frame_needed = 0, uses_anonymous_args = 0
+ 1451 .LVL117:
+ 1452 0000 70B5 push {r4, r5, r6, lr}
+ 1453 .LCFI7:
+ 1454 .cfi_def_cfa_offset 16
+ 1455 .cfi_offset 4, -16
+ 1456 .cfi_offset 5, -12
+ 1457 .cfi_offset 6, -8
+ 1458 .cfi_offset 14, -4
+ 1459 0002 0400 movs r4, r0
+ 1460 0004 0D00 movs r5, r1
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1461 .loc 1 784 0
+ 1462 0006 0028 cmp r0, #0
+ 1463 0008 00D1 bne .LCB1473
+ 1464 000a 89E0 b .L169 @long jump
+ 1465 .LCB1473:
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1466 .loc 1 798 0
+ 1467 000c 464B ldr r3, .L181
+ 1468 000e 1A68 ldr r2, [r3]
+ 1469 0010 0123 movs r3, #1
+ 1470 0012 1340 ands r3, r2
+ 1471 0014 8B42 cmp r3, r1
+ 1472 0016 0BD2 bcs .L157
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1473 .loc 1 801 0
+ 1474 0018 4349 ldr r1, .L181
+ ARM GAS /tmp/ccQfjpF5.s page 49
+
+
+ 1475 .LVL118:
+ 1476 001a 0B68 ldr r3, [r1]
+ 1477 001c 0122 movs r2, #1
+ 1478 001e 9343 bics r3, r2
+ 1479 0020 2B43 orrs r3, r5
+ 1480 0022 0B60 str r3, [r1]
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1481 .loc 1 805 0
+ 1482 0024 0B68 ldr r3, [r1]
+ 1483 0026 1A40 ands r2, r3
+ 1484 0028 AA42 cmp r2, r5
+ 1485 002a 01D0 beq .L157
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1486 .loc 1 807 0
+ 1487 002c 0120 movs r0, #1
+ 1488 .LVL119:
+ 1489 002e 78E0 b .L156
+ 1490 .LVL120:
+ 1491 .L157:
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1492 .loc 1 812 0
+ 1493 0030 2368 ldr r3, [r4]
+ 1494 0032 9A07 lsls r2, r3, #30
+ 1495 0034 0ED5 bpl .L158
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1496 .loc 1 816 0
+ 1497 0036 5B07 lsls r3, r3, #29
+ 1498 0038 05D5 bpl .L159
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1499 .loc 1 818 0
+ 1500 003a 3C4A ldr r2, .L181+4
+ 1501 003c 5168 ldr r1, [r2, #4]
+ 1502 003e E023 movs r3, #224
+ 1503 0040 DB00 lsls r3, r3, #3
+ 1504 0042 0B43 orrs r3, r1
+ 1505 0044 5360 str r3, [r2, #4]
+ 1506 .L159:
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1507 .loc 1 823 0
+ 1508 0046 394A ldr r2, .L181+4
+ 1509 0048 5368 ldr r3, [r2, #4]
+ 1510 004a F021 movs r1, #240
+ 1511 004c 8B43 bics r3, r1
+ 1512 004e A168 ldr r1, [r4, #8]
+ 1513 0050 0B43 orrs r3, r1
+ 1514 0052 5360 str r3, [r2, #4]
+ 1515 .L158:
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1516 .loc 1 827 0
+ 1517 0054 2368 ldr r3, [r4]
+ 1518 0056 DB07 lsls r3, r3, #31
+ 1519 0058 35D5 bpl .L160
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1520 .loc 1 832 0
+ 1521 005a 6368 ldr r3, [r4, #4]
+ 1522 005c 012B cmp r3, #1
+ 1523 005e 09D0 beq .L177
+ ARM GAS /tmp/ccQfjpF5.s page 50
+
+
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1524 .loc 1 841 0
+ 1525 0060 022B cmp r3, #2
+ 1526 0062 24D0 beq .L178
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1527 .loc 1 851 0
+ 1528 0064 032B cmp r3, #3
+ 1529 0066 28D0 beq .L179
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1530 .loc 1 864 0
+ 1531 0068 304A ldr r2, .L181+4
+ 1532 006a 1268 ldr r2, [r2]
+ 1533 006c 9207 lsls r2, r2, #30
+ 1534 006e 05D4 bmi .L162
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1535 .loc 1 866 0
+ 1536 0070 0120 movs r0, #1
+ 1537 .LVL121:
+ 1538 0072 56E0 b .L156
+ 1539 .LVL122:
+ 1540 .L177:
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1541 .loc 1 835 0
+ 1542 0074 2D4A ldr r2, .L181+4
+ 1543 0076 1268 ldr r2, [r2]
+ 1544 0078 9203 lsls r2, r2, #14
+ 1545 007a 53D5 bpl .L180
+ 1546 .L162:
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1547 .loc 1 869 0
+ 1548 007c 2B49 ldr r1, .L181+4
+ 1549 007e 4A68 ldr r2, [r1, #4]
+ 1550 0080 0320 movs r0, #3
+ 1551 .LVL123:
+ 1552 0082 8243 bics r2, r0
+ 1553 0084 1343 orrs r3, r2
+ 1554 0086 4B60 str r3, [r1, #4]
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1555 .loc 1 872 0
+ 1556 0088 FFF7FEFF bl HAL_GetTick
+ 1557 .LVL124:
+ 1558 008c 0600 movs r6, r0
+ 1559 .LVL125:
+ 1560 .L165:
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1561 .loc 1 874 0
+ 1562 008e 274B ldr r3, .L181+4
+ 1563 0090 5B68 ldr r3, [r3, #4]
+ 1564 0092 0C22 movs r2, #12
+ 1565 0094 1A40 ands r2, r3
+ 1566 0096 6368 ldr r3, [r4, #4]
+ 1567 0098 9B00 lsls r3, r3, #2
+ 1568 009a 9A42 cmp r2, r3
+ 1569 009c 13D0 beq .L160
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1570 .loc 1 876 0
+ 1571 009e FFF7FEFF bl HAL_GetTick
+ ARM GAS /tmp/ccQfjpF5.s page 51
+
+
+ 1572 .LVL126:
+ 1573 00a2 801B subs r0, r0, r6
+ 1574 00a4 224B ldr r3, .L181+8
+ 1575 00a6 9842 cmp r0, r3
+ 1576 00a8 F1D9 bls .L165
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1577 .loc 1 878 0
+ 1578 00aa 0320 movs r0, #3
+ 1579 00ac 39E0 b .L156
+ 1580 .LVL127:
+ 1581 .L178:
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1582 .loc 1 844 0
+ 1583 00ae 1F4A ldr r2, .L181+4
+ 1584 00b0 1268 ldr r2, [r2]
+ 1585 00b2 9201 lsls r2, r2, #6
+ 1586 00b4 E2D4 bmi .L162
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1587 .loc 1 846 0
+ 1588 00b6 0120 movs r0, #1
+ 1589 .LVL128:
+ 1590 00b8 33E0 b .L156
+ 1591 .LVL129:
+ 1592 .L179:
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1593 .loc 1 854 0
+ 1594 00ba 1C4A ldr r2, .L181+4
+ 1595 00bc 526B ldr r2, [r2, #52]
+ 1596 00be D203 lsls r2, r2, #15
+ 1597 00c0 DCD4 bmi .L162
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1598 .loc 1 856 0
+ 1599 00c2 0120 movs r0, #1
+ 1600 .LVL130:
+ 1601 00c4 2DE0 b .L156
+ 1602 .L160:
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1603 .loc 1 884 0
+ 1604 00c6 184B ldr r3, .L181
+ 1605 00c8 1A68 ldr r2, [r3]
+ 1606 00ca 0123 movs r3, #1
+ 1607 00cc 1340 ands r3, r2
+ 1608 00ce AB42 cmp r3, r5
+ 1609 00d0 0BD9 bls .L167
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1610 .loc 1 887 0
+ 1611 00d2 1549 ldr r1, .L181
+ 1612 00d4 0B68 ldr r3, [r1]
+ 1613 00d6 0122 movs r2, #1
+ 1614 00d8 9343 bics r3, r2
+ 1615 00da 2B43 orrs r3, r5
+ 1616 00dc 0B60 str r3, [r1]
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1617 .loc 1 891 0
+ 1618 00de 0B68 ldr r3, [r1]
+ 1619 00e0 1A40 ands r2, r3
+ 1620 00e2 AA42 cmp r2, r5
+ ARM GAS /tmp/ccQfjpF5.s page 52
+
+
+ 1621 00e4 01D0 beq .L167
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1622 .loc 1 893 0
+ 1623 00e6 0120 movs r0, #1
+ 1624 00e8 1BE0 b .L156
+ 1625 .L167:
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1626 .loc 1 898 0
+ 1627 00ea 2368 ldr r3, [r4]
+ 1628 00ec 5B07 lsls r3, r3, #29
+ 1629 00ee 06D5 bpl .L168
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1630 .loc 1 901 0
+ 1631 00f0 0E4A ldr r2, .L181+4
+ 1632 00f2 5368 ldr r3, [r2, #4]
+ 1633 00f4 0F49 ldr r1, .L181+12
+ 1634 00f6 0B40 ands r3, r1
+ 1635 00f8 E168 ldr r1, [r4, #12]
+ 1636 00fa 0B43 orrs r3, r1
+ 1637 00fc 5360 str r3, [r2, #4]
+ 1638 .L168:
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1639 .loc 1 905 0
+ 1640 00fe FFF7FEFF bl HAL_RCC_GetSysClockFreq
+ 1641 .LVL131:
+ 1642 0102 0A4B ldr r3, .L181+4
+ 1643 0104 5A68 ldr r2, [r3, #4]
+ 1644 0106 1209 lsrs r2, r2, #4
+ 1645 0108 0F23 movs r3, #15
+ 1646 010a 1340 ands r3, r2
+ 1647 010c 0A4A ldr r2, .L181+16
+ 1648 010e D35C ldrb r3, [r2, r3]
+ 1649 0110 D840 lsrs r0, r0, r3
+ 1650 0112 0A4B ldr r3, .L181+20
+ 1651 0114 1860 str r0, [r3]
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1652 .loc 1 908 0
+ 1653 0116 0020 movs r0, #0
+ 1654 0118 FFF7FEFF bl HAL_InitTick
+ 1655 .LVL132:
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1656 .loc 1 910 0
+ 1657 011c 0020 movs r0, #0
+ 1658 011e 00E0 b .L156
+ 1659 .LVL133:
+ 1660 .L169:
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1661 .loc 1 786 0
+ 1662 0120 0120 movs r0, #1
+ 1663 .LVL134:
+ 1664 .L156:
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 1665 .loc 1 911 0
+ 1666 @ sp needed
+ 1667 .LVL135:
+ 1668 .LVL136:
+ 1669 0122 70BD pop {r4, r5, r6, pc}
+ ARM GAS /tmp/ccQfjpF5.s page 53
+
+
+ 1670 .LVL137:
+ 1671 .L180:
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1672 .loc 1 837 0
+ 1673 0124 0120 movs r0, #1
+ 1674 .LVL138:
+ 1675 0126 FCE7 b .L156
+ 1676 .L182:
+ 1677 .align 2
+ 1678 .L181:
+ 1679 0128 00200240 .word 1073881088
+ 1680 012c 00100240 .word 1073876992
+ 1681 0130 88130000 .word 5000
+ 1682 0134 FFF8FFFF .word -1793
+ 1683 0138 00000000 .word AHBPrescTable
+ 1684 013c 00000000 .word SystemCoreClock
+ 1685 .cfi_endproc
+ 1686 .LFE42:
+ 1688 .section .text.HAL_RCC_GetHCLKFreq,"ax",%progbits
+ 1689 .align 1
+ 1690 .global HAL_RCC_GetHCLKFreq
+ 1691 .syntax unified
+ 1692 .code 16
+ 1693 .thumb_func
+ 1694 .fpu softvfp
+ 1696 HAL_RCC_GetHCLKFreq:
+ 1697 .LFB47:
+1162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the HCLK frequency
+1165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time HCLK changes, this function must be called to update the
+1166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right HCLK value. Otherwise, any configuration based on this function will be incorrect
+1167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *
+1168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency
+1169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * and updated within this function
+1170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval HCLK frequency
+1171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetHCLKFreq(void)
+1173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1698 .loc 1 1173 0
+ 1699 .cfi_startproc
+ 1700 @ args = 0, pretend = 0, frame = 0
+ 1701 @ frame_needed = 0, uses_anonymous_args = 0
+ 1702 @ link register save eliminated.
+1174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return SystemCoreClock;
+ 1703 .loc 1 1174 0
+ 1704 0000 014B ldr r3, .L184
+ 1705 0002 1868 ldr r0, [r3]
+1175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1706 .loc 1 1175 0
+ 1707 @ sp needed
+ 1708 0004 7047 bx lr
+ 1709 .L185:
+ 1710 0006 C046 .align 2
+ 1711 .L184:
+ 1712 0008 00000000 .word SystemCoreClock
+ 1713 .cfi_endproc
+ ARM GAS /tmp/ccQfjpF5.s page 54
+
+
+ 1714 .LFE47:
+ 1716 .section .text.HAL_RCC_GetPCLK1Freq,"ax",%progbits
+ 1717 .align 1
+ 1718 .global HAL_RCC_GetPCLK1Freq
+ 1719 .syntax unified
+ 1720 .code 16
+ 1721 .thumb_func
+ 1722 .fpu softvfp
+ 1724 HAL_RCC_GetPCLK1Freq:
+ 1725 .LFB48:
+1176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Returns the PCLK1 frequency
+1179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note Each time PCLK1 changes, this function must be called to update the
+1180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * right PCLK1 value. Otherwise, any configuration based on this function will be incorrec
+1181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval PCLK1 frequency
+1182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** uint32_t HAL_RCC_GetPCLK1Freq(void)
+1184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1726 .loc 1 1184 0
+ 1727 .cfi_startproc
+ 1728 @ args = 0, pretend = 0, frame = 0
+ 1729 @ frame_needed = 0, uses_anonymous_args = 0
+ 1730 0000 10B5 push {r4, lr}
+ 1731 .LCFI8:
+ 1732 .cfi_def_cfa_offset 8
+ 1733 .cfi_offset 4, -8
+ 1734 .cfi_offset 14, -4
+1185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get HCLK source and Compute PCLK1 frequency ---------------------------*/
+1186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** return (HAL_RCC_GetHCLKFreq() >> APBPrescTable[(RCC->CFGR & RCC_CFGR_PPRE) >> RCC_CFGR_PPRE_BITNU
+ 1735 .loc 1 1186 0
+ 1736 0002 FFF7FEFF bl HAL_RCC_GetHCLKFreq
+ 1737 .LVL139:
+ 1738 0006 044B ldr r3, .L187
+ 1739 0008 5A68 ldr r2, [r3, #4]
+ 1740 000a 120A lsrs r2, r2, #8
+ 1741 000c 0723 movs r3, #7
+ 1742 000e 1340 ands r3, r2
+ 1743 0010 024A ldr r2, .L187+4
+ 1744 0012 D35C ldrb r3, [r2, r3]
+ 1745 0014 D840 lsrs r0, r0, r3
+1187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1746 .loc 1 1187 0
+ 1747 @ sp needed
+ 1748 0016 10BD pop {r4, pc}
+ 1749 .L188:
+ 1750 .align 2
+ 1751 .L187:
+ 1752 0018 00100240 .word 1073876992
+ 1753 001c 00000000 .word APBPrescTable
+ 1754 .cfi_endproc
+ 1755 .LFE48:
+ 1757 .section .text.HAL_RCC_GetOscConfig,"ax",%progbits
+ 1758 .align 1
+ 1759 .global HAL_RCC_GetOscConfig
+ 1760 .syntax unified
+ 1761 .code 16
+ ARM GAS /tmp/ccQfjpF5.s page 55
+
+
+ 1762 .thumb_func
+ 1763 .fpu softvfp
+ 1765 HAL_RCC_GetOscConfig:
+ 1766 .LFB49:
+1188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Configures the RCC_OscInitStruct according to the internal
+1191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC configuration registers.
+1192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_OscInitStruct pointer to an RCC_OscInitTypeDef structure that
+1193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * will be configured.
+1194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+1195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_GetOscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct)
+1197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1767 .loc 1 1197 0
+ 1768 .cfi_startproc
+ 1769 @ args = 0, pretend = 0, frame = 0
+ 1770 @ frame_needed = 0, uses_anonymous_args = 0
+ 1771 @ link register save eliminated.
+ 1772 .LVL140:
+1198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+1199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(RCC_OscInitStruct != NULL);
+1200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set all possible values for the Oscillator type parameter ---------------*/
+1202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType = RCC_OSCILLATORTYPE_HSE | RCC_OSCILLATORTYPE_HSI \
+1203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** | RCC_OSCILLATORTYPE_LSE | RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_HSI14;
+1204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT)
+1205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->OscillatorType |= RCC_OSCILLATORTYPE_HSI48;
+ 1773 .loc 1 1205 0
+ 1774 0000 3F23 movs r3, #63
+ 1775 0002 0360 str r3, [r0]
+1206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */
+1207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSE configuration -----------------------------------------------*/
+1210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSEBYP) == RCC_CR_HSEBYP)
+ 1776 .loc 1 1210 0
+ 1777 0004 324B ldr r3, .L205
+ 1778 0006 1B68 ldr r3, [r3]
+ 1779 0008 5B03 lsls r3, r3, #13
+ 1780 000a 40D5 bpl .L190
+1211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_BYPASS;
+ 1781 .loc 1 1212 0
+ 1782 000c 0523 movs r3, #5
+ 1783 000e 4360 str r3, [r0, #4]
+ 1784 .L191:
+1213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if((RCC->CR &RCC_CR_HSEON) == RCC_CR_HSEON)
+1215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_ON;
+1217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSEState = RCC_HSE_OFF;
+1221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ ARM GAS /tmp/ccQfjpF5.s page 56
+
+
+1223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI configuration -----------------------------------------------*/
+1224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_HSION) == RCC_CR_HSION)
+ 1785 .loc 1 1224 0
+ 1786 0010 2F4B ldr r3, .L205
+ 1787 0012 1B68 ldr r3, [r3]
+ 1788 0014 DB07 lsls r3, r3, #31
+ 1789 0016 44D5 bpl .L193
+1225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_ON;
+ 1790 .loc 1 1226 0
+ 1791 0018 0123 movs r3, #1
+ 1792 001a C360 str r3, [r0, #12]
+ 1793 .L194:
+1227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSIState = RCC_HSI_OFF;
+1231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSICalibrationValue = (uint32_t)((RCC->CR &RCC_CR_HSITRIM) >> RCC_CR_HSITRIM_B
+ 1794 .loc 1 1233 0
+ 1795 001c 2C49 ldr r1, .L205
+ 1796 001e 0A68 ldr r2, [r1]
+ 1797 0020 D208 lsrs r2, r2, #3
+ 1798 0022 1F23 movs r3, #31
+ 1799 0024 1340 ands r3, r2
+ 1800 0026 0361 str r3, [r0, #16]
+1234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the LSE configuration -----------------------------------------------*/
+1236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->BDCR &RCC_BDCR_LSEBYP) == RCC_BDCR_LSEBYP)
+ 1801 .loc 1 1236 0
+ 1802 0028 0B6A ldr r3, [r1, #32]
+ 1803 002a 5B07 lsls r3, r3, #29
+ 1804 002c 3CD5 bpl .L195
+1237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_BYPASS;
+ 1805 .loc 1 1238 0
+ 1806 002e 0523 movs r3, #5
+ 1807 0030 8360 str r3, [r0, #8]
+ 1808 .L196:
+1239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else if((RCC->BDCR &RCC_BDCR_LSEON) == RCC_BDCR_LSEON)
+1241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_ON;
+1243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSEState = RCC_LSE_OFF;
+1247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the LSI configuration -----------------------------------------------*/
+1250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CSR &RCC_CSR_LSION) == RCC_CSR_LSION)
+ 1809 .loc 1 1250 0
+ 1810 0032 274B ldr r3, .L205
+ 1811 0034 5B6A ldr r3, [r3, #36]
+ 1812 0036 DB07 lsls r3, r3, #31
+ 1813 0038 40D5 bpl .L198
+ ARM GAS /tmp/ccQfjpF5.s page 57
+
+
+1251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_ON;
+ 1814 .loc 1 1252 0
+ 1815 003a 0123 movs r3, #1
+ 1816 003c C361 str r3, [r0, #28]
+ 1817 .L199:
+1253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->LSIState = RCC_LSI_OFF;
+1257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI14 configuration -----------------------------------------------*/
+1260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR2 & RCC_CR2_HSI14ON) == RCC_CR2_HSI14ON)
+ 1818 .loc 1 1260 0
+ 1819 003e 244B ldr r3, .L205
+ 1820 0040 5B6B ldr r3, [r3, #52]
+ 1821 0042 DB07 lsls r3, r3, #31
+ 1822 0044 3DD5 bpl .L200
+1261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14State = RCC_HSI_ON;
+ 1823 .loc 1 1262 0
+ 1824 0046 0123 movs r3, #1
+ 1825 0048 4361 str r3, [r0, #20]
+ 1826 .L201:
+1263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14State = RCC_HSI_OFF;
+1267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI14CalibrationValue = (uint32_t)((RCC->CR2 & RCC_CR2_HSI14TRIM) >> RCC_HSI14
+ 1827 .loc 1 1269 0
+ 1828 004a 214A ldr r2, .L205
+ 1829 004c 516B ldr r1, [r2, #52]
+ 1830 004e C908 lsrs r1, r1, #3
+ 1831 0050 1F23 movs r3, #31
+ 1832 0052 0B40 ands r3, r1
+ 1833 0054 8361 str r3, [r0, #24]
+1270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #if defined(RCC_HSI48_SUPPORT)
+1272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HSI48 configuration if any-----------------------------------------*/
+1273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->HSI48State = __HAL_RCC_GET_HSI48_STATE();
+ 1834 .loc 1 1273 0
+ 1835 0056 536B ldr r3, [r2, #52]
+ 1836 0058 8021 movs r1, #128
+ 1837 005a 4902 lsls r1, r1, #9
+ 1838 005c 0B40 ands r3, r1
+ 1839 005e 591E subs r1, r3, #1
+ 1840 0060 8B41 sbcs r3, r3, r1
+ 1841 0062 0362 str r3, [r0, #32]
+1274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** #endif /* RCC_HSI48_SUPPORT */
+1275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the PLL configuration -----------------------------------------------*/
+1277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if((RCC->CR &RCC_CR_PLLON) == RCC_CR_PLLON)
+ 1842 .loc 1 1277 0
+ 1843 0064 1368 ldr r3, [r2]
+ ARM GAS /tmp/ccQfjpF5.s page 58
+
+
+ 1844 0066 DB01 lsls r3, r3, #7
+ 1845 0068 2ED4 bmi .L204
+1278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_ON;
+1280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** else
+1282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLState = RCC_PLL_OFF;
+ 1846 .loc 1 1283 0
+ 1847 006a 0123 movs r3, #1
+ 1848 006c 4362 str r3, [r0, #36]
+ 1849 .L203:
+1284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLSource = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLSRC);
+ 1850 .loc 1 1285 0
+ 1851 006e 184B ldr r3, .L205
+ 1852 0070 5A68 ldr r2, [r3, #4]
+ 1853 0072 C021 movs r1, #192
+ 1854 0074 4902 lsls r1, r1, #9
+ 1855 0076 0A40 ands r2, r1
+ 1856 0078 8262 str r2, [r0, #40]
+1286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PLLMUL = (uint32_t)(RCC->CFGR & RCC_CFGR_PLLMUL);
+ 1857 .loc 1 1286 0
+ 1858 007a 5A68 ldr r2, [r3, #4]
+ 1859 007c F021 movs r1, #240
+ 1860 007e 8903 lsls r1, r1, #14
+ 1861 0080 0A40 ands r2, r1
+ 1862 0082 C262 str r2, [r0, #44]
+1287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_OscInitStruct->PLL.PREDIV = (uint32_t)(RCC->CFGR2 & RCC_CFGR2_PREDIV);
+ 1863 .loc 1 1287 0
+ 1864 0084 DA6A ldr r2, [r3, #44]
+ 1865 0086 0F23 movs r3, #15
+ 1866 0088 1340 ands r3, r2
+ 1867 008a 0363 str r3, [r0, #48]
+1288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1868 .loc 1 1288 0
+ 1869 @ sp needed
+ 1870 008c 7047 bx lr
+ 1871 .L190:
+1214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1872 .loc 1 1214 0
+ 1873 008e 104B ldr r3, .L205
+ 1874 0090 1B68 ldr r3, [r3]
+ 1875 0092 DB03 lsls r3, r3, #15
+ 1876 0094 02D5 bpl .L192
+1216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1877 .loc 1 1216 0
+ 1878 0096 0123 movs r3, #1
+ 1879 0098 4360 str r3, [r0, #4]
+ 1880 009a B9E7 b .L191
+ 1881 .L192:
+1220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1882 .loc 1 1220 0
+ 1883 009c 0023 movs r3, #0
+ 1884 009e 4360 str r3, [r0, #4]
+ 1885 00a0 B6E7 b .L191
+ 1886 .L193:
+ ARM GAS /tmp/ccQfjpF5.s page 59
+
+
+1230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1887 .loc 1 1230 0
+ 1888 00a2 0023 movs r3, #0
+ 1889 00a4 C360 str r3, [r0, #12]
+ 1890 00a6 B9E7 b .L194
+ 1891 .L195:
+1240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1892 .loc 1 1240 0
+ 1893 00a8 094B ldr r3, .L205
+ 1894 00aa 1B6A ldr r3, [r3, #32]
+ 1895 00ac DB07 lsls r3, r3, #31
+ 1896 00ae 02D5 bpl .L197
+1242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1897 .loc 1 1242 0
+ 1898 00b0 0123 movs r3, #1
+ 1899 00b2 8360 str r3, [r0, #8]
+ 1900 00b4 BDE7 b .L196
+ 1901 .L197:
+1246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1902 .loc 1 1246 0
+ 1903 00b6 0023 movs r3, #0
+ 1904 00b8 8360 str r3, [r0, #8]
+ 1905 00ba BAE7 b .L196
+ 1906 .L198:
+1256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1907 .loc 1 1256 0
+ 1908 00bc 0023 movs r3, #0
+ 1909 00be C361 str r3, [r0, #28]
+ 1910 00c0 BDE7 b .L199
+ 1911 .L200:
+1266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1912 .loc 1 1266 0
+ 1913 00c2 0023 movs r3, #0
+ 1914 00c4 4361 str r3, [r0, #20]
+ 1915 00c6 C0E7 b .L201
+ 1916 .L204:
+1279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1917 .loc 1 1279 0
+ 1918 00c8 0223 movs r3, #2
+ 1919 00ca 4362 str r3, [r0, #36]
+ 1920 00cc CFE7 b .L203
+ 1921 .L206:
+ 1922 00ce C046 .align 2
+ 1923 .L205:
+ 1924 00d0 00100240 .word 1073876992
+ 1925 .cfi_endproc
+ 1926 .LFE49:
+ 1928 .section .text.HAL_RCC_GetClockConfig,"ax",%progbits
+ 1929 .align 1
+ 1930 .global HAL_RCC_GetClockConfig
+ 1931 .syntax unified
+ 1932 .code 16
+ 1933 .thumb_func
+ 1934 .fpu softvfp
+ 1936 HAL_RCC_GetClockConfig:
+ 1937 .LFB50:
+1289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ ARM GAS /tmp/ccQfjpF5.s page 60
+
+
+1290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief Get the RCC_ClkInitStruct according to the internal
+1292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * RCC configuration registers.
+1293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param RCC_ClkInitStruct pointer to an RCC_ClkInitTypeDef structure that
+1294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * contains the current clock configuration.
+1295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @param pFLatency Pointer on the Flash Latency.
+1296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+1297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_GetClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t *pFLatency)
+1299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1938 .loc 1 1299 0
+ 1939 .cfi_startproc
+ 1940 @ args = 0, pretend = 0, frame = 0
+ 1941 @ frame_needed = 0, uses_anonymous_args = 0
+ 1942 .LVL141:
+ 1943 0000 10B5 push {r4, lr}
+ 1944 .LCFI9:
+ 1945 .cfi_def_cfa_offset 8
+ 1946 .cfi_offset 4, -8
+ 1947 .cfi_offset 14, -4
+1300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check the parameters */
+1301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(RCC_ClkInitStruct != NULL);
+1302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** assert_param(pFLatency != NULL);
+1303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Set all possible values for the Clock type parameter --------------------*/
+1305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1;
+ 1948 .loc 1 1305 0
+ 1949 0002 0723 movs r3, #7
+ 1950 0004 0360 str r3, [r0]
+1306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the SYSCLK configuration --------------------------------------------*/
+1308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->SYSCLKSource = (uint32_t)(RCC->CFGR & RCC_CFGR_SW);
+ 1951 .loc 1 1308 0
+ 1952 0006 0A4B ldr r3, .L208
+ 1953 0008 5C68 ldr r4, [r3, #4]
+ 1954 000a 0322 movs r2, #3
+ 1955 000c 2240 ands r2, r4
+ 1956 000e 4260 str r2, [r0, #4]
+1309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the HCLK configuration ----------------------------------------------*/
+1311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->AHBCLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_HPRE);
+ 1957 .loc 1 1311 0
+ 1958 0010 5C68 ldr r4, [r3, #4]
+ 1959 0012 F022 movs r2, #240
+ 1960 0014 2240 ands r2, r4
+ 1961 0016 8260 str r2, [r0, #8]
+1312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the APB1 configuration ----------------------------------------------*/
+1314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** RCC_ClkInitStruct->APB1CLKDivider = (uint32_t)(RCC->CFGR & RCC_CFGR_PPRE);
+ 1962 .loc 1 1314 0
+ 1963 0018 5B68 ldr r3, [r3, #4]
+ 1964 001a E022 movs r2, #224
+ 1965 001c D200 lsls r2, r2, #3
+ 1966 001e 1340 ands r3, r2
+ 1967 0020 C360 str r3, [r0, #12]
+1315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Get the Flash Wait State (Latency) configuration ------------------------*/
+1316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** *pFLatency = __HAL_FLASH_GET_LATENCY();
+ ARM GAS /tmp/ccQfjpF5.s page 61
+
+
+ 1968 .loc 1 1316 0
+ 1969 0022 044B ldr r3, .L208+4
+ 1970 0024 1A68 ldr r2, [r3]
+ 1971 0026 0123 movs r3, #1
+ 1972 0028 1340 ands r3, r2
+ 1973 002a 0B60 str r3, [r1]
+1317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 1974 .loc 1 1317 0
+ 1975 @ sp needed
+ 1976 002c 10BD pop {r4, pc}
+ 1977 .L209:
+ 1978 002e C046 .align 2
+ 1979 .L208:
+ 1980 0030 00100240 .word 1073876992
+ 1981 0034 00200240 .word 1073881088
+ 1982 .cfi_endproc
+ 1983 .LFE50:
+ 1985 .section .text.HAL_RCC_CSSCallback,"ax",%progbits
+ 1986 .align 1
+ 1987 .weak HAL_RCC_CSSCallback
+ 1988 .syntax unified
+ 1989 .code 16
+ 1990 .thumb_func
+ 1991 .fpu softvfp
+ 1993 HAL_RCC_CSSCallback:
+ 1994 .LFB52:
+1318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief This function handles the RCC CSS interrupt request.
+1321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @note This API should be called under the NMI_Handler().
+1322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval None
+1323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** void HAL_RCC_NMI_IRQHandler(void)
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check RCC CSSF flag */
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** if(__HAL_RCC_GET_IT(RCC_IT_CSS))
+1328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+1329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* RCC Clock Security System interrupt user callback */
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** HAL_RCC_CSSCallback();
+1331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Clear RCC CSS pending bit */
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __HAL_RCC_CLEAR_IT(RCC_IT_CSS);
+1334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+1336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+1337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /**
+1338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @brief RCC Clock Security System interrupt callback
+1339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** * @retval none
+1340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** __weak void HAL_RCC_CSSCallback(void)
+1342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 1995 .loc 1 1342 0
+ 1996 .cfi_startproc
+ 1997 @ args = 0, pretend = 0, frame = 0
+ 1998 @ frame_needed = 0, uses_anonymous_args = 0
+ 1999 @ link register save eliminated.
+1343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* NOTE : This function Should not be modified, when the callback is needed,
+ ARM GAS /tmp/ccQfjpF5.s page 62
+
+
+1344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** the HAL_RCC_CSSCallback could be implemented in the user file
+1345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** */
+1346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 2000 .loc 1 1346 0
+ 2001 @ sp needed
+ 2002 0000 7047 bx lr
+ 2003 .cfi_endproc
+ 2004 .LFE52:
+ 2006 .section .text.HAL_RCC_NMI_IRQHandler,"ax",%progbits
+ 2007 .align 1
+ 2008 .global HAL_RCC_NMI_IRQHandler
+ 2009 .syntax unified
+ 2010 .code 16
+ 2011 .thumb_func
+ 2012 .fpu softvfp
+ 2014 HAL_RCC_NMI_IRQHandler:
+ 2015 .LFB51:
+1325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** /* Check RCC CSSF flag */
+ 2016 .loc 1 1325 0
+ 2017 .cfi_startproc
+ 2018 @ args = 0, pretend = 0, frame = 0
+ 2019 @ frame_needed = 0, uses_anonymous_args = 0
+ 2020 0000 10B5 push {r4, lr}
+ 2021 .LCFI10:
+ 2022 .cfi_def_cfa_offset 8
+ 2023 .cfi_offset 4, -8
+ 2024 .cfi_offset 14, -4
+1327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** {
+ 2025 .loc 1 1327 0
+ 2026 0002 054B ldr r3, .L214
+ 2027 0004 9B68 ldr r3, [r3, #8]
+ 2028 0006 1B06 lsls r3, r3, #24
+ 2029 0008 00D4 bmi .L213
+ 2030 .L211:
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 2031 .loc 1 1335 0
+ 2032 @ sp needed
+ 2033 000a 10BD pop {r4, pc}
+ 2034 .L213:
+1330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 2035 .loc 1 1330 0
+ 2036 000c FFF7FEFF bl HAL_RCC_CSSCallback
+ 2037 .LVL142:
+1333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c **** }
+ 2038 .loc 1 1333 0
+ 2039 0010 024B ldr r3, .L214+4
+ 2040 0012 8022 movs r2, #128
+ 2041 0014 1A70 strb r2, [r3]
+1335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc.c ****
+ 2042 .loc 1 1335 0
+ 2043 0016 F8E7 b .L211
+ 2044 .L215:
+ 2045 .align 2
+ 2046 .L214:
+ 2047 0018 00100240 .word 1073876992
+ 2048 001c 0A100240 .word 1073877002
+ 2049 .cfi_endproc
+ ARM GAS /tmp/ccQfjpF5.s page 63
+
+
+ 2050 .LFE51:
+ 2052 .section .rodata
+ 2053 .align 2
+ 2054 .set .LANCHOR0,. + 0
+ 2055 .LC0:
+ 2056 0000 02 .byte 2
+ 2057 0001 03 .byte 3
+ 2058 0002 04 .byte 4
+ 2059 0003 05 .byte 5
+ 2060 0004 06 .byte 6
+ 2061 0005 07 .byte 7
+ 2062 0006 08 .byte 8
+ 2063 0007 09 .byte 9
+ 2064 0008 0A .byte 10
+ 2065 0009 0B .byte 11
+ 2066 000a 0C .byte 12
+ 2067 000b 0D .byte 13
+ 2068 000c 0E .byte 14
+ 2069 000d 0F .byte 15
+ 2070 000e 10 .byte 16
+ 2071 000f 10 .byte 16
+ 2072 .LC1:
+ 2073 0010 01 .byte 1
+ 2074 0011 02 .byte 2
+ 2075 0012 03 .byte 3
+ 2076 0013 04 .byte 4
+ 2077 0014 05 .byte 5
+ 2078 0015 06 .byte 6
+ 2079 0016 07 .byte 7
+ 2080 0017 08 .byte 8
+ 2081 0018 09 .byte 9
+ 2082 0019 0A .byte 10
+ 2083 001a 0B .byte 11
+ 2084 001b 0C .byte 12
+ 2085 001c 0D .byte 13
+ 2086 001d 0E .byte 14
+ 2087 001e 0F .byte 15
+ 2088 001f 10 .byte 16
+ 2089 .text
+ 2090 .Letext0:
+ 2091 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 2092 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 2093 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 2094 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 2095 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 2096 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 2097 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
+ 2098 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h"
+ 2099 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccQfjpF5.s page 64
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_rcc.c
+ /tmp/ccQfjpF5.s:16 .text.HAL_RCC_DeInit:0000000000000000 $t
+ /tmp/ccQfjpF5.s:23 .text.HAL_RCC_DeInit:0000000000000000 HAL_RCC_DeInit
+ /tmp/ccQfjpF5.s:166 .text.HAL_RCC_DeInit:00000000000000ac $d
+ /tmp/ccQfjpF5.s:178 .text.HAL_RCC_OscConfig:0000000000000000 $t
+ /tmp/ccQfjpF5.s:185 .text.HAL_RCC_OscConfig:0000000000000000 HAL_RCC_OscConfig
+ /tmp/ccQfjpF5.s:719 .text.HAL_RCC_OscConfig:00000000000002e0 $d
+ /tmp/ccQfjpF5.s:726 .text.HAL_RCC_OscConfig:00000000000002f4 $t
+ /tmp/ccQfjpF5.s:1148 .text.HAL_RCC_OscConfig:000000000000052c $d
+ /tmp/ccQfjpF5.s:1157 .text.HAL_RCC_MCOConfig:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1164 .text.HAL_RCC_MCOConfig:0000000000000000 HAL_RCC_MCOConfig
+ /tmp/ccQfjpF5.s:1236 .text.HAL_RCC_MCOConfig:000000000000004c $d
+ /tmp/ccQfjpF5.s:1242 .text.HAL_RCC_EnableCSS:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1249 .text.HAL_RCC_EnableCSS:0000000000000000 HAL_RCC_EnableCSS
+ /tmp/ccQfjpF5.s:1269 .text.HAL_RCC_EnableCSS:0000000000000010 $d
+ /tmp/ccQfjpF5.s:1274 .text.HAL_RCC_DisableCSS:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1281 .text.HAL_RCC_DisableCSS:0000000000000000 HAL_RCC_DisableCSS
+ /tmp/ccQfjpF5.s:1300 .text.HAL_RCC_DisableCSS:000000000000000c $d
+ /tmp/ccQfjpF5.s:1307 .text.HAL_RCC_GetSysClockFreq:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1314 .text.HAL_RCC_GetSysClockFreq:0000000000000000 HAL_RCC_GetSysClockFreq
+ /tmp/ccQfjpF5.s:1430 .text.HAL_RCC_GetSysClockFreq:0000000000000084 $d
+ /tmp/ccQfjpF5.s:1438 .text.HAL_RCC_ClockConfig:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1445 .text.HAL_RCC_ClockConfig:0000000000000000 HAL_RCC_ClockConfig
+ /tmp/ccQfjpF5.s:1679 .text.HAL_RCC_ClockConfig:0000000000000128 $d
+ /tmp/ccQfjpF5.s:1689 .text.HAL_RCC_GetHCLKFreq:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1696 .text.HAL_RCC_GetHCLKFreq:0000000000000000 HAL_RCC_GetHCLKFreq
+ /tmp/ccQfjpF5.s:1712 .text.HAL_RCC_GetHCLKFreq:0000000000000008 $d
+ /tmp/ccQfjpF5.s:1717 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1724 .text.HAL_RCC_GetPCLK1Freq:0000000000000000 HAL_RCC_GetPCLK1Freq
+ /tmp/ccQfjpF5.s:1752 .text.HAL_RCC_GetPCLK1Freq:0000000000000018 $d
+ /tmp/ccQfjpF5.s:1758 .text.HAL_RCC_GetOscConfig:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1765 .text.HAL_RCC_GetOscConfig:0000000000000000 HAL_RCC_GetOscConfig
+ /tmp/ccQfjpF5.s:1924 .text.HAL_RCC_GetOscConfig:00000000000000d0 $d
+ /tmp/ccQfjpF5.s:1929 .text.HAL_RCC_GetClockConfig:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1936 .text.HAL_RCC_GetClockConfig:0000000000000000 HAL_RCC_GetClockConfig
+ /tmp/ccQfjpF5.s:1980 .text.HAL_RCC_GetClockConfig:0000000000000030 $d
+ /tmp/ccQfjpF5.s:1986 .text.HAL_RCC_CSSCallback:0000000000000000 $t
+ /tmp/ccQfjpF5.s:1993 .text.HAL_RCC_CSSCallback:0000000000000000 HAL_RCC_CSSCallback
+ /tmp/ccQfjpF5.s:2007 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 $t
+ /tmp/ccQfjpF5.s:2014 .text.HAL_RCC_NMI_IRQHandler:0000000000000000 HAL_RCC_NMI_IRQHandler
+ /tmp/ccQfjpF5.s:2047 .text.HAL_RCC_NMI_IRQHandler:0000000000000018 $d
+ /tmp/ccQfjpF5.s:2053 .rodata:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+HAL_InitTick
+SystemCoreClock
+uwTickPrio
+HAL_GPIO_Init
+__aeabi_uidiv
+AHBPrescTable
+APBPrescTable
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc.o b/fw/midi-dials/build/stm32f0xx_hal_rcc.o
new file mode 100644
index 0000000..e423e35
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.d b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.d
new file mode 100644
index 0000000..602483b
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_rcc_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.lst
new file mode 100644
index 0000000..7929525
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.lst
@@ -0,0 +1,2572 @@
+ARM GAS /tmp/ccgjfOns.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 "stm32f0xx_hal_rcc_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_RCCEx_PeriphCLKConfig,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_RCCEx_PeriphCLKConfig
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_RCCEx_PeriphCLKConfig:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @file stm32f0xx_hal_rcc_ex.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended RCC HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This file provides firmware functions to manage the following
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * functionalities RCC extension peripheral:
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * + Extended Peripheral Control functions
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * + Extended Clock Recovery System Control functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ******************************************************************************
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @attention
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * All rights reserved.</center></h2>
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the "License"; You may not use this file except in compliance with the
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * License. You may obtain a copy of the License at:
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * opensource.org/licenses/BSD-3-Clause
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ******************************************************************************
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Includes ------------------------------------------------------------------*/
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #include "stm32f0xx_hal.h"
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @addtogroup STM32F0xx_HAL_Driver
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #ifdef HAL_RCC_MODULE_ENABLED
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ ARM GAS /tmp/ccgjfOns.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx RCCEx
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCC Extension HAL module driver.
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private typedef -----------------------------------------------------------*/
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private define ------------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CRS)
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Private_Constants RCCEx Private Constants
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Bit position in register */
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_CFGR_FELIM_BITNUMBER 16
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_CR_TRIM_BITNUMBER 8
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #define CRS_ISR_FECAP_BITNUMBER 16
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @}
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* CRS */
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private macro -------------------------------------------------------------*/
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Private_Macros RCCEx Private Macros
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @}
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private variables ---------------------------------------------------------*/
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private function prototypes -----------------------------------------------*/
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Private functions ---------------------------------------------------------*/
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions RCCEx Exported Functions
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions_Group1 Extended Peripheral Control functions
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended Peripheral Control functions
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @verbatim
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ===============================================================================
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ##### Extended Peripheral Control functions #####
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ===============================================================================
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..]
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** This subsection provides a set of functions allowing to control the RCC Clocks
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequencies.
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..]
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (@) Important note: Care must be taken when HAL_RCCEx_PeriphCLKConfig() is used to
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** select the RTC clock source; in this case the Backup domain will be reset in
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** order to modify the RTC Clock source, as consequence RTC registers (including
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the backup registers) are set to their reset values.
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endverbatim
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ ARM GAS /tmp/ccgjfOns.s page 3
+
+
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Initializes the RCC extended peripherals clocks according to the specified
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * parameters in the RCC_PeriphCLKInitTypeDef.
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClkInit pointer to an RCC_PeriphCLKInitTypeDef structure that
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * contains the configuration information for the Extended Peripherals clocks
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * (USART, RTC, I2C, CEC and USB).
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Care must be taken when @ref HAL_RCCEx_PeriphCLKConfig() is used to select
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the RTC clock source; in this case the Backup domain will be reset in
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * order to modify the RTC Clock source, as consequence RTC registers (including
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * the backup registers) and RCC_BDCR register are set to their reset values.
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval HAL status
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 26 .loc 1 105 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 8
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 70B5 push {r4, r5, r6, lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 16
+ 34 .cfi_offset 4, -16
+ 35 .cfi_offset 5, -12
+ 36 .cfi_offset 6, -8
+ 37 .cfi_offset 14, -4
+ 38 0002 82B0 sub sp, sp, #8
+ 39 .LCFI1:
+ 40 .cfi_def_cfa_offset 24
+ 41 0004 0400 movs r4, r0
+ 42 .LVL1:
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t tickstart = 0U;
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t temp_reg = 0U;
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection));
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*---------------------------- RTC configuration -------------------------------*/
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC))
+ 43 .loc 1 113 0
+ 44 0006 0368 ldr r3, [r0]
+ 45 0008 DB03 lsls r3, r3, #15
+ 46 000a 35D5 bpl .L2
+ 47 .LVL2:
+ 48 .LBB2:
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* check for RTC Parameters used to output RTCCLK */
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection));
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** FlagStatus pwrclkchanged = RESET;
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* As soon as function is called to change RTC clock source, activation of the
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** power domain is done. */
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Requires to enable write access to Backup Domain of necessary */
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_PWR_IS_CLK_DISABLED())
+ 49 .loc 1 123 0
+ ARM GAS /tmp/ccgjfOns.s page 4
+
+
+ 50 000c 4B4B ldr r3, .L22
+ 51 000e DB69 ldr r3, [r3, #28]
+ 52 0010 DB00 lsls r3, r3, #3
+ 53 0012 66D4 bmi .L15
+ 54 .LBB3:
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_PWR_CLK_ENABLE();
+ 55 .loc 1 125 0
+ 56 0014 494A ldr r2, .L22
+ 57 0016 D169 ldr r1, [r2, #28]
+ 58 0018 8020 movs r0, #128
+ 59 .LVL3:
+ 60 001a 4005 lsls r0, r0, #21
+ 61 001c 0143 orrs r1, r0
+ 62 001e D161 str r1, [r2, #28]
+ 63 0020 D369 ldr r3, [r2, #28]
+ 64 0022 0340 ands r3, r0
+ 65 0024 0193 str r3, [sp, #4]
+ 66 0026 019B ldr r3, [sp, #4]
+ 67 .LVL4:
+ 68 .LBE3:
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pwrclkchanged = SET;
+ 69 .loc 1 126 0
+ 70 0028 0125 movs r5, #1
+ 71 .LVL5:
+ 72 .L3:
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP))
+ 73 .loc 1 129 0
+ 74 002a 454B ldr r3, .L22+4
+ 75 002c 1B68 ldr r3, [r3]
+ 76 002e DB05 lsls r3, r3, #23
+ 77 0030 59D5 bpl .L19
+ 78 .LVL6:
+ 79 .L4:
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Enable write access to Backup domain */
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(PWR->CR, PWR_CR_DBP);
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for Backup domain Write protection disable */
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick();
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** while(HAL_IS_BIT_CLR(PWR->CR, PWR_CR_DBP))
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE)
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_TIMEOUT;
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Reset the Backup domain only if the RTC Clock source selection is modified from reset value
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** temp_reg = (RCC->BDCR & RCC_BDCR_RTCSEL);
+ 80 .loc 1 147 0
+ 81 0032 424B ldr r3, .L22
+ 82 0034 1B6A ldr r3, [r3, #32]
+ ARM GAS /tmp/ccgjfOns.s page 5
+
+
+ 83 0036 C022 movs r2, #192
+ 84 0038 9200 lsls r2, r2, #2
+ 85 003a 1340 ands r3, r2
+ 86 .LVL7:
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((temp_reg != 0x00000000U) && (temp_reg != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSE
+ 87 .loc 1 148 0
+ 88 003c 13D0 beq .L8
+ 89 .loc 1 148 0 is_stmt 0 discriminator 1
+ 90 003e 6168 ldr r1, [r4, #4]
+ 91 0040 0A40 ands r2, r1
+ 92 0042 9A42 cmp r2, r3
+ 93 0044 0FD0 beq .L8
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Store the content of BDCR register before the reset of Backup Domain */
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** temp_reg = (RCC->BDCR & ~(RCC_BDCR_RTCSEL));
+ 94 .loc 1 151 0 is_stmt 1
+ 95 0046 3D4B ldr r3, .L22
+ 96 .LVL8:
+ 97 0048 186A ldr r0, [r3, #32]
+ 98 004a 3E4A ldr r2, .L22+8
+ 99 004c 0240 ands r2, r0
+ 100 .LVL9:
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* RTC Clock selection can be changed only if the Backup Domain is reset */
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_BACKUPRESET_FORCE();
+ 101 .loc 1 153 0
+ 102 004e 1E6A ldr r6, [r3, #32]
+ 103 0050 8021 movs r1, #128
+ 104 0052 4902 lsls r1, r1, #9
+ 105 0054 3143 orrs r1, r6
+ 106 0056 1962 str r1, [r3, #32]
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_BACKUPRESET_RELEASE();
+ 107 .loc 1 154 0
+ 108 0058 196A ldr r1, [r3, #32]
+ 109 005a 3B4E ldr r6, .L22+12
+ 110 005c 3140 ands r1, r6
+ 111 005e 1962 str r1, [r3, #32]
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Restore the Content of BDCR register */
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** RCC->BDCR = temp_reg;
+ 112 .loc 1 156 0
+ 113 0060 1A62 str r2, [r3, #32]
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for LSERDY if LSE was enabled */
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (HAL_IS_BIT_SET(temp_reg, RCC_BDCR_LSEON))
+ 114 .loc 1 159 0
+ 115 0062 C307 lsls r3, r0, #31
+ 116 0064 53D4 bmi .L20
+ 117 .LVL10:
+ 118 .L8:
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Start Tick */
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick();
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait till LSE is ready */
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET)
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE)
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ ARM GAS /tmp/ccgjfOns.s page 6
+
+
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_TIMEOUT;
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection);
+ 119 .loc 1 174 0
+ 120 0066 354A ldr r2, .L22
+ 121 0068 136A ldr r3, [r2, #32]
+ 122 006a 3649 ldr r1, .L22+8
+ 123 006c 0B40 ands r3, r1
+ 124 006e 6168 ldr r1, [r4, #4]
+ 125 0070 0B43 orrs r3, r1
+ 126 0072 1362 str r3, [r2, #32]
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Require to disable power clock if necessary */
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(pwrclkchanged == SET)
+ 127 .loc 1 177 0
+ 128 0074 012D cmp r5, #1
+ 129 0076 59D0 beq .L21
+ 130 .LVL11:
+ 131 .L2:
+ 132 .LBE2:
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_PWR_CLK_DISABLE();
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------- USART1 Configuration ------------------------*/
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1)
+ 133 .loc 1 184 0
+ 134 0078 2368 ldr r3, [r4]
+ 135 007a DB07 lsls r3, r3, #31
+ 136 007c 06D5 bpl .L11
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection));
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART1 clock source */
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection);
+ 137 .loc 1 190 0
+ 138 007e 2F4A ldr r2, .L22
+ 139 0080 136B ldr r3, [r2, #48]
+ 140 0082 0321 movs r1, #3
+ 141 0084 8B43 bics r3, r1
+ 142 0086 A168 ldr r1, [r4, #8]
+ 143 0088 0B43 orrs r3, r1
+ 144 008a 1363 str r3, [r2, #48]
+ 145 .L11:
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx)
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*----------------------------- USART2 Configuration --------------------------*/
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2)
+ 146 .loc 1 196 0
+ 147 008c 2368 ldr r3, [r4]
+ ARM GAS /tmp/ccgjfOns.s page 7
+
+
+ 148 008e 9B07 lsls r3, r3, #30
+ 149 0090 06D5 bpl .L12
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection));
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART2 clock source */
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection);
+ 150 .loc 1 202 0
+ 151 0092 2A4A ldr r2, .L22
+ 152 0094 136B ldr r3, [r2, #48]
+ 153 0096 2D49 ldr r1, .L22+16
+ 154 0098 0B40 ands r3, r1
+ 155 009a E168 ldr r1, [r4, #12]
+ 156 009c 0B43 orrs r3, r1
+ 157 009e 1363 str r3, [r2, #48]
+ 158 .L12:
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F091xC) || defined(STM32F098xx)
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*----------------------------- USART3 Configuration --------------------------*/
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3)
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection));
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USART3 clock source */
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection);
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F091xC || STM32F098xx */
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ I2C1 Configuration ------------------------*/
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1)
+ 159 .loc 1 220 0
+ 160 00a0 2368 ldr r3, [r4]
+ 161 00a2 9B06 lsls r3, r3, #26
+ 162 00a4 06D5 bpl .L13
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection));
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the I2C1 clock source */
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection);
+ 163 .loc 1 226 0
+ 164 00a6 254A ldr r2, .L22
+ 165 00a8 136B ldr r3, [r2, #48]
+ 166 00aa 1021 movs r1, #16
+ 167 00ac 8B43 bics r3, r1
+ 168 00ae 2169 ldr r1, [r4, #16]
+ 169 00b0 0B43 orrs r3, r1
+ 170 00b2 1363 str r3, [r2, #48]
+ 171 .L13:
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) ||
+ ARM GAS /tmp/ccgjfOns.s page 8
+
+
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ USB Configuration ------------------------*/
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USB) == RCC_PERIPHCLK_USB)
+ 172 .loc 1 231 0
+ 173 00b4 2368 ldr r3, [r4]
+ 174 00b6 9B03 lsls r3, r3, #14
+ 175 00b8 06D5 bpl .L14
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_USBCLKSOURCE(PeriphClkInit->UsbClockSelection));
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the USB clock source */
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_USB_CONFIG(PeriphClkInit->UsbClockSelection);
+ 176 .loc 1 237 0
+ 177 00ba 204A ldr r2, .L22
+ 178 00bc 136B ldr r3, [r2, #48]
+ 179 00be 8021 movs r1, #128
+ 180 00c0 8B43 bics r3, r1
+ 181 00c2 A169 ldr r1, [r4, #24]
+ 182 00c4 0B43 orrs r3, r1
+ 183 00c6 1363 str r3, [r2, #48]
+ 184 .L14:
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB || STM32F070x6 */
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx)\
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F051x8) || defined(STM32F058xx)\
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx)
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /*------------------------------ CEC clock Configuration -------------------*/
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC)
+ 185 .loc 1 246 0
+ 186 00c8 2368 ldr r3, [r4]
+ 187 00ca 5B05 lsls r3, r3, #21
+ 188 00cc 33D5 bpl .L18
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection));
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Configure the CEC clock source */
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection);
+ 189 .loc 1 252 0
+ 190 00ce 1B4A ldr r2, .L22
+ 191 00d0 136B ldr r3, [r2, #48]
+ 192 00d2 4021 movs r1, #64
+ 193 00d4 8B43 bics r3, r1
+ 194 00d6 6169 ldr r1, [r4, #20]
+ 195 00d8 0B43 orrs r3, r1
+ 196 00da 1363 str r3, [r2, #48]
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || */
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F051x8 || STM32F058xx || */
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F071xB || STM32F072xB || STM32F078xx || */
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return HAL_OK;
+ 197 .loc 1 259 0
+ 198 00dc 0020 movs r0, #0
+ ARM GAS /tmp/ccgjfOns.s page 9
+
+
+ 199 .L6:
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 200 .loc 1 260 0
+ 201 00de 02B0 add sp, sp, #8
+ 202 @ sp needed
+ 203 .LVL12:
+ 204 00e0 70BD pop {r4, r5, r6, pc}
+ 205 .LVL13:
+ 206 .L15:
+ 207 .LBB4:
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 208 .loc 1 118 0
+ 209 00e2 0025 movs r5, #0
+ 210 00e4 A1E7 b .L3
+ 211 .LVL14:
+ 212 .L19:
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 213 .loc 1 132 0
+ 214 00e6 164A ldr r2, .L22+4
+ 215 00e8 1168 ldr r1, [r2]
+ 216 00ea 8023 movs r3, #128
+ 217 00ec 5B00 lsls r3, r3, #1
+ 218 00ee 0B43 orrs r3, r1
+ 219 00f0 1360 str r3, [r2]
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 220 .loc 1 135 0
+ 221 00f2 FFF7FEFF bl HAL_GetTick
+ 222 .LVL15:
+ 223 00f6 0600 movs r6, r0
+ 224 .LVL16:
+ 225 .L5:
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 226 .loc 1 137 0
+ 227 00f8 114B ldr r3, .L22+4
+ 228 00fa 1B68 ldr r3, [r3]
+ 229 00fc DB05 lsls r3, r3, #23
+ 230 00fe 98D4 bmi .L4
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 231 .loc 1 139 0
+ 232 0100 FFF7FEFF bl HAL_GetTick
+ 233 .LVL17:
+ 234 0104 801B subs r0, r0, r6
+ 235 0106 6428 cmp r0, #100
+ 236 0108 F6D9 bls .L5
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 237 .loc 1 141 0
+ 238 010a 0320 movs r0, #3
+ 239 010c E7E7 b .L6
+ 240 .LVL18:
+ 241 .L20:
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 242 .loc 1 162 0
+ 243 010e FFF7FEFF bl HAL_GetTick
+ 244 .LVL19:
+ 245 0112 0600 movs r6, r0
+ 246 .LVL20:
+ 247 .L9:
+ ARM GAS /tmp/ccgjfOns.s page 10
+
+
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 248 .loc 1 165 0
+ 249 0114 094B ldr r3, .L22
+ 250 0116 1B6A ldr r3, [r3, #32]
+ 251 0118 9B07 lsls r3, r3, #30
+ 252 011a A4D4 bmi .L8
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 253 .loc 1 167 0
+ 254 011c FFF7FEFF bl HAL_GetTick
+ 255 .LVL21:
+ 256 0120 801B subs r0, r0, r6
+ 257 0122 0B4B ldr r3, .L22+20
+ 258 0124 9842 cmp r0, r3
+ 259 0126 F5D9 bls .L9
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 260 .loc 1 169 0
+ 261 0128 0320 movs r0, #3
+ 262 012a D8E7 b .L6
+ 263 .LVL22:
+ 264 .L21:
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 265 .loc 1 179 0
+ 266 012c D369 ldr r3, [r2, #28]
+ 267 012e 0949 ldr r1, .L22+24
+ 268 0130 0B40 ands r3, r1
+ 269 0132 D361 str r3, [r2, #28]
+ 270 0134 A0E7 b .L2
+ 271 .LVL23:
+ 272 .L18:
+ 273 .LBE4:
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 274 .loc 1 259 0
+ 275 0136 0020 movs r0, #0
+ 276 0138 D1E7 b .L6
+ 277 .L23:
+ 278 013a C046 .align 2
+ 279 .L22:
+ 280 013c 00100240 .word 1073876992
+ 281 0140 00700040 .word 1073770496
+ 282 0144 FFFCFFFF .word -769
+ 283 0148 FFFFFEFF .word -65537
+ 284 014c FFFFFCFF .word -196609
+ 285 0150 88130000 .word 5000
+ 286 0154 FFFFFFEF .word -268435457
+ 287 .cfi_endproc
+ 288 .LFE40:
+ 290 .section .text.HAL_RCCEx_GetPeriphCLKConfig,"ax",%progbits
+ 291 .align 1
+ 292 .global HAL_RCCEx_GetPeriphCLKConfig
+ 293 .syntax unified
+ 294 .code 16
+ 295 .thumb_func
+ 296 .fpu softvfp
+ 298 HAL_RCCEx_GetPeriphCLKConfig:
+ 299 .LFB41:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ ARM GAS /tmp/ccgjfOns.s page 11
+
+
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Get the RCC_ClkInitStruct according to the internal
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * RCC configuration registers.
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClkInit pointer to an RCC_PeriphCLKInitTypeDef structure that
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * returns the configuration information for the Extended Peripherals clocks
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * (USART, RTC, I2C, CEC and USB).
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_GetPeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit)
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 300 .loc 1 271 0
+ 301 .cfi_startproc
+ 302 @ args = 0, pretend = 0, frame = 0
+ 303 @ frame_needed = 0, uses_anonymous_args = 0
+ 304 @ link register save eliminated.
+ 305 .LVL24:
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set all possible values for the extended clock type parameter------------*/
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Common part first */
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection = RCC_PERIPHCLK_USART1 | RCC_PERIPHCLK_I2C1 | RCC_PERIPHCLK
+ 306 .loc 1 274 0
+ 307 0000 114B ldr r3, .L25
+ 308 0002 0360 str r3, [r0]
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the RTC configuration --------------------------------------------*/
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->RTCClockSelection = __HAL_RCC_GET_RTC_SOURCE();
+ 309 .loc 1 276 0
+ 310 0004 114B ldr r3, .L25+4
+ 311 0006 1A6A ldr r2, [r3, #32]
+ 312 0008 C021 movs r1, #192
+ 313 000a 8900 lsls r1, r1, #2
+ 314 000c 0A40 ands r2, r1
+ 315 000e 4260 str r2, [r0, #4]
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART1 clock configuration --------------------------------------------*/
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart1ClockSelection = __HAL_RCC_GET_USART1_SOURCE();
+ 316 .loc 1 278 0
+ 317 0010 196B ldr r1, [r3, #48]
+ 318 0012 0322 movs r2, #3
+ 319 0014 0A40 ands r2, r1
+ 320 0016 8260 str r2, [r0, #8]
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the I2C1 clock source -----------------------------------------------*/
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->I2c1ClockSelection = __HAL_RCC_GET_I2C1_SOURCE();
+ 321 .loc 1 280 0
+ 322 0018 196B ldr r1, [r3, #48]
+ 323 001a 1022 movs r2, #16
+ 324 001c 0A40 ands r2, r1
+ 325 001e 0261 str r2, [r0, #16]
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx)
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USART2;
+ 326 .loc 1 284 0
+ 327 0020 0B4A ldr r2, .L25+8
+ 328 0022 0260 str r2, [r0]
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART2 clock source ---------------------------------------------*/
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart2ClockSelection = __HAL_RCC_GET_USART2_SOURCE();
+ 329 .loc 1 286 0
+ 330 0024 1A6B ldr r2, [r3, #48]
+ 331 0026 C021 movs r1, #192
+ 332 0028 8902 lsls r1, r1, #10
+ ARM GAS /tmp/ccgjfOns.s page 12
+
+
+ 333 002a 0A40 ands r2, r1
+ 334 002c C260 str r2, [r0, #12]
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F071xB || STM32F072xB || STM32F078xx || */
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F091xC) || defined(STM32F098xx)
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USART3;
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USART3 clock source ---------------------------------------------*/
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->Usart3ClockSelection = __HAL_RCC_GET_USART3_SOURCE();
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F091xC || STM32F098xx */
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) ||
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_USB;
+ 335 .loc 1 297 0
+ 336 002e 094A ldr r2, .L25+12
+ 337 0030 0260 str r2, [r0]
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the USB clock source ---------------------------------------------*/
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->UsbClockSelection = __HAL_RCC_GET_USB_SOURCE();
+ 338 .loc 1 299 0
+ 339 0032 196B ldr r1, [r3, #48]
+ 340 0034 8022 movs r2, #128
+ 341 0036 0A40 ands r2, r1
+ 342 0038 8261 str r2, [r0, #24]
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB || STM32F070x6 */
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx)\
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F051x8) || defined(STM32F058xx)\
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F071xB) || defined(STM32F072xB) || defined(STM32F078xx)\
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** || defined(STM32F091xC) || defined(STM32F098xx)
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->PeriphClockSelection |= RCC_PERIPHCLK_CEC;
+ 343 .loc 1 306 0
+ 344 003a 074A ldr r2, .L25+16
+ 345 003c 0260 str r2, [r0]
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the CEC clock source ------------------------------------------------*/
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** PeriphClkInit->CecClockSelection = __HAL_RCC_GET_CEC_SOURCE();
+ 346 .loc 1 308 0
+ 347 003e 1A6B ldr r2, [r3, #48]
+ 348 0040 4023 movs r3, #64
+ 349 0042 1340 ands r3, r2
+ 350 0044 4361 str r3, [r0, #20]
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || */
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F051x8 || STM32F058xx || */
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F071xB || STM32F072xB || STM32F078xx || */
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* STM32F091xC || STM32F098xx */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 351 .loc 1 314 0
+ 352 @ sp needed
+ 353 0046 7047 bx lr
+ 354 .L26:
+ 355 .align 2
+ 356 .L25:
+ 357 0048 21000100 .word 65569
+ 358 004c 00100240 .word 1073876992
+ 359 0050 23000100 .word 65571
+ 360 0054 23000300 .word 196643
+ 361 0058 23040300 .word 197667
+ ARM GAS /tmp/ccgjfOns.s page 13
+
+
+ 362 .cfi_endproc
+ 363 .LFE41:
+ 365 .global __aeabi_uidiv
+ 366 .section .text.HAL_RCCEx_GetPeriphCLKFreq,"ax",%progbits
+ 367 .align 1
+ 368 .global HAL_RCCEx_GetPeriphCLKFreq
+ 369 .syntax unified
+ 370 .code 16
+ 371 .thumb_func
+ 372 .fpu softvfp
+ 374 HAL_RCCEx_GetPeriphCLKFreq:
+ 375 .LFB42:
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Returns the peripheral clock frequency
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Returns 0 if peripheral clock is unknown
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param PeriphClk Peripheral clock identifier
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be one of the following values:
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_RTC RTC peripheral clock
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART1 USART1 peripheral clock
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_I2C1 I2C1 peripheral clock
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F042x6
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F048xx
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F051x8
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F058xx
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F070x6
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F070xB
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F071xB
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F072xB
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F078xx
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USB USB peripheral clock
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F091xC
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock
+ ARM GAS /tmp/ccgjfOns.s page 14
+
+
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART3 USART2 peripheral clock
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @if STM32F098xx
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART2 USART2 peripheral clock
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_USART3 USART2 peripheral clock
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_PERIPHCLK_CEC CEC peripheral clock
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endif
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval Frequency in Hz (0: means that no available frequency for the peripheral)
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t HAL_RCCEx_GetPeriphCLKFreq(uint32_t PeriphClk)
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 376 .loc 1 371 0
+ 377 .cfi_startproc
+ 378 @ args = 0, pretend = 0, frame = 0
+ 379 @ frame_needed = 0, uses_anonymous_args = 0
+ 380 .LVL25:
+ 381 0000 10B5 push {r4, lr}
+ 382 .LCFI2:
+ 383 .cfi_def_cfa_offset 8
+ 384 .cfi_offset 4, -8
+ 385 .cfi_offset 14, -4
+ 386 .LVL26:
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency == 0 : means that no available frequency for the peripheral */
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t frequency = 0U;
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t srcclk = 0U;
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(USB)
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t pllmull = 0U, pllsource = 0U, predivfactor = 0U;
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* USB */
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_PERIPHCLOCK(PeriphClk));
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** switch (PeriphClk)
+ 387 .loc 1 383 0
+ 388 0002 2028 cmp r0, #32
+ 389 0004 00D1 bne .LCB374
+ 390 0006 80E0 b .L29 @long jump
+ 391 .LCB374:
+ 392 0008 0FD9 bls .L67
+ 393 000a 8023 movs r3, #128
+ 394 000c 5B02 lsls r3, r3, #9
+ 395 000e 9842 cmp r0, r3
+ 396 0010 23D0 beq .L33
+ 397 0012 8023 movs r3, #128
+ 398 0014 9B02 lsls r3, r3, #10
+ 399 0016 9842 cmp r0, r3
+ 400 0018 00D1 bne .LCB384
+ 401 001a 86E0 b .L34 @long jump
+ 402 .LCB384:
+ 403 001c 8023 movs r3, #128
+ 404 001e DB00 lsls r3, r3, #3
+ 405 0020 9842 cmp r0, r3
+ 406 0022 00D1 bne .LCB388
+ 407 0024 B7E0 b .L68 @long jump
+ 408 .LCB388:
+ ARM GAS /tmp/ccgjfOns.s page 15
+
+
+ 409 .L49:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 410 .loc 1 373 0
+ 411 0026 0020 movs r0, #0
+ 412 .LVL27:
+ 413 .L27:
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_RTC:
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current RTC source */
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_RTC_SOURCE();
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if RTC clock selection is LSE */
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_RTCCLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY)))
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE;
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSI is ready and if RTC clock selection is LSI */
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_RTCCLKSOURCE_LSI) && (HAL_IS_BIT_SET(RCC->CSR, RCC_CSR_LSIRDY)))
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSI_VALUE;
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSE is ready and if RTC clock selection is HSI_DIV32*/
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_RTCCLKSOURCE_HSE_DIV32) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSERDY)))
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSE_VALUE / 32U;
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART1:
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART1 source */
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART1_SOURCE();
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART1 clock selection is PCLK1 */
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART1CLKSOURCE_PCLK1)
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq();
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART1 clock selection is HSI */
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART1CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY)))
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE;
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART1 clock selection is SYSCLK */
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART1CLKSOURCE_SYSCLK)
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq();
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART1 clock selection is LSE */
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART1CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY)))
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE;
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CFGR3_USART2SW)
+ ARM GAS /tmp/ccgjfOns.s page 16
+
+
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART2:
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART2 source */
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART2_SOURCE();
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART2 clock selection is PCLK1 */
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART2CLKSOURCE_PCLK1)
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq();
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART2 clock selection is HSI */
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART2CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY)))
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE;
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART2 clock selection is SYSCLK */
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART2CLKSOURCE_SYSCLK)
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq();
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART2 clock selection is LSE */
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART2CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY)))
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE;
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CFGR3_USART2SW */
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CFGR3_USART3SW)
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USART3:
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USART3 source */
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USART3_SOURCE();
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART3 clock selection is PCLK1 */
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (srcclk == RCC_USART3CLKSOURCE_PCLK1)
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetPCLK1Freq();
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if USART3 clock selection is HSI */
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART3CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY)))
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE;
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if USART3 clock selection is SYSCLK */
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_USART3CLKSOURCE_SYSCLK)
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq();
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if USART3 clock selection is LSE */
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USART3CLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY)))
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE;
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CFGR3_USART3SW */
+ ARM GAS /tmp/ccgjfOns.s page 17
+
+
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_I2C1:
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current I2C1 source */
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_I2C1_SOURCE();
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if I2C1 clock selection is HSI */
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_I2C1CLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY)))
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE;
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if I2C1 clock selection is SYSCLK */
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (srcclk == RCC_I2C1CLKSOURCE_SYSCLK)
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HAL_RCC_GetSysClockFreq();
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(USB)
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_USB:
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current USB source */
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_USB_SOURCE();
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if PLL is ready and if USB clock selection is PLL */
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_USBCLKSOURCE_PLL) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_PLLRDY)))
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get PLL clock source and multiplication factor ----------------------*/
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL;
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = (pllmull >> RCC_CFGR_PLLMUL_BITNUMBER) + 2U;
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1U;
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV)
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSE used as PLL clock source : frequency = HSE/PREDIV * PLLMUL */
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSE_VALUE/predivfactor) * pllmull;
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CR2_HSI48ON)
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if (pllsource == RCC_CFGR_PLLSRC_HSI48_PREDIV)
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI48 used as PLL clock source : frequency = HSI48/PREDIV * PLLMUL */
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI48_VALUE / predivfactor) * pllmull;
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CR2_HSI48ON */
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F078xx) || defined(STM32F072xB) ||
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI used as PLL clock source : frequency = HSI/PREDIV * PLLMUL */
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI_VALUE / predivfactor) * pllmull;
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #else
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* HSI used as PLL clock source : frequency = HSI/2U * PLLMUL */
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = (HSI_VALUE >> 1U) * pllmull;
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F070xB */
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(RCC_CR2_HSI48ON)
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI48 is ready and if USB clock selection is HSI48 */
+ ARM GAS /tmp/ccgjfOns.s page 18
+
+
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_USBCLKSOURCE_HSI48) && (HAL_IS_BIT_SET(RCC->CR2, RCC_CR2_HSI48RDY)))
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI48_VALUE;
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* RCC_CR2_HSI48ON */
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* USB */
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CEC)
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** case RCC_PERIPHCLK_CEC:
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the current CEC source */
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** srcclk = __HAL_RCC_GET_CEC_SOURCE();
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if HSI is ready and if CEC clock selection is HSI */
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if ((srcclk == RCC_CECCLKSOURCE_HSI) && (HAL_IS_BIT_SET(RCC->CR, RCC_CR_HSIRDY)))
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = HSI_VALUE;
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check if LSE is ready and if CEC clock selection is LSE */
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if ((srcclk == RCC_CECCLKSOURCE_LSE) && (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSERDY)))
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** frequency = LSE_VALUE;
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #endif /* CEC */
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** default:
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** break;
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return(frequency);
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 414 .loc 1 582 0
+ 415 @ sp needed
+ 416 0028 10BD pop {r4, pc}
+ 417 .LVL28:
+ 418 .L67:
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 419 .loc 1 383 0
+ 420 002a 0128 cmp r0, #1
+ 421 002c 3CD0 beq .L31
+ 422 002e 0228 cmp r0, #2
+ 423 0030 F9D1 bne .L49
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 424 .loc 1 438 0
+ 425 0032 6B4B ldr r3, .L83
+ 426 0034 1B6B ldr r3, [r3, #48]
+ 427 0036 C022 movs r2, #192
+ 428 0038 9202 lsls r2, r2, #10
+ 429 003a 1340 ands r3, r2
+ 430 .LVL29:
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 431 .loc 1 441 0
+ 432 003c 53D0 beq .L69
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ ARM GAS /tmp/ccgjfOns.s page 19
+
+
+ 433 .loc 1 446 0
+ 434 003e C022 movs r2, #192
+ 435 0040 9202 lsls r2, r2, #10
+ 436 0042 9342 cmp r3, r2
+ 437 0044 52D0 beq .L70
+ 438 .L42:
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 439 .loc 1 451 0
+ 440 0046 8022 movs r2, #128
+ 441 0048 5202 lsls r2, r2, #9
+ 442 004a 9342 cmp r3, r2
+ 443 004c 54D0 beq .L71
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 444 .loc 1 456 0
+ 445 004e 8022 movs r2, #128
+ 446 0050 9202 lsls r2, r2, #10
+ 447 0052 9342 cmp r3, r2
+ 448 0054 53D0 beq .L72
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 449 .loc 1 373 0
+ 450 0056 0020 movs r0, #0
+ 451 .LVL30:
+ 452 0058 E6E7 b .L27
+ 453 .LVL31:
+ 454 .L33:
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 455 .loc 1 388 0
+ 456 005a 614B ldr r3, .L83
+ 457 005c 1B6A ldr r3, [r3, #32]
+ 458 005e C022 movs r2, #192
+ 459 0060 9200 lsls r2, r2, #2
+ 460 0062 1340 ands r3, r2
+ 461 .LVL32:
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 462 .loc 1 391 0
+ 463 0064 8022 movs r2, #128
+ 464 0066 5200 lsls r2, r2, #1
+ 465 0068 9342 cmp r3, r2
+ 466 006a 09D0 beq .L73
+ 467 .L36:
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 468 .loc 1 396 0
+ 469 006c 8022 movs r2, #128
+ 470 006e 9200 lsls r2, r2, #2
+ 471 0070 9342 cmp r3, r2
+ 472 0072 0CD0 beq .L74
+ 473 .L37:
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 474 .loc 1 401 0
+ 475 0074 C022 movs r2, #192
+ 476 0076 9200 lsls r2, r2, #2
+ 477 0078 9342 cmp r3, r2
+ 478 007a 0ED0 beq .L75
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 479 .loc 1 373 0
+ 480 007c 0020 movs r0, #0
+ 481 .LVL33:
+ ARM GAS /tmp/ccgjfOns.s page 20
+
+
+ 482 007e D3E7 b .L27
+ 483 .LVL34:
+ 484 .L73:
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 485 .loc 1 391 0 discriminator 1
+ 486 0080 574A ldr r2, .L83
+ 487 0082 126A ldr r2, [r2, #32]
+ 488 0084 9207 lsls r2, r2, #30
+ 489 0086 F1D5 bpl .L36
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 490 .loc 1 393 0
+ 491 0088 8020 movs r0, #128
+ 492 .LVL35:
+ 493 008a 0002 lsls r0, r0, #8
+ 494 008c CCE7 b .L27
+ 495 .LVL36:
+ 496 .L74:
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 497 .loc 1 396 0 discriminator 1
+ 498 008e 544A ldr r2, .L83
+ 499 0090 526A ldr r2, [r2, #36]
+ 500 0092 9207 lsls r2, r2, #30
+ 501 0094 EED5 bpl .L37
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 502 .loc 1 398 0
+ 503 0096 5348 ldr r0, .L83+4
+ 504 .LVL37:
+ 505 0098 C6E7 b .L27
+ 506 .LVL38:
+ 507 .L75:
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 508 .loc 1 401 0 discriminator 1
+ 509 009a 514B ldr r3, .L83
+ 510 .LVL39:
+ 511 009c 1B68 ldr r3, [r3]
+ 512 009e 9B03 lsls r3, r3, #14
+ 513 00a0 00D5 bpl .LCB506
+ 514 00a2 89E0 b .L53 @long jump
+ 515 .LCB506:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 516 .loc 1 373 0
+ 517 00a4 0020 movs r0, #0
+ 518 .LVL40:
+ 519 00a6 BFE7 b .L27
+ 520 .LVL41:
+ 521 .L31:
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 522 .loc 1 410 0
+ 523 00a8 4D4B ldr r3, .L83
+ 524 00aa 1A6B ldr r2, [r3, #48]
+ 525 00ac 0323 movs r3, #3
+ 526 00ae 1340 ands r3, r2
+ 527 .LVL42:
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 528 .loc 1 413 0
+ 529 00b0 07D0 beq .L76
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ ARM GAS /tmp/ccgjfOns.s page 21
+
+
+ 530 .loc 1 418 0
+ 531 00b2 032B cmp r3, #3
+ 532 00b4 08D0 beq .L77
+ 533 .L39:
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 534 .loc 1 423 0
+ 535 00b6 012B cmp r3, #1
+ 536 00b8 0CD0 beq .L78
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 537 .loc 1 428 0
+ 538 00ba 022B cmp r3, #2
+ 539 00bc 0DD0 beq .L79
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 540 .loc 1 373 0
+ 541 00be 0020 movs r0, #0
+ 542 .LVL43:
+ 543 00c0 B2E7 b .L27
+ 544 .LVL44:
+ 545 .L76:
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 546 .loc 1 415 0
+ 547 00c2 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
+ 548 .LVL45:
+ 549 00c6 AFE7 b .L27
+ 550 .LVL46:
+ 551 .L77:
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 552 .loc 1 418 0 discriminator 1
+ 553 00c8 454A ldr r2, .L83
+ 554 00ca 1268 ldr r2, [r2]
+ 555 00cc 9207 lsls r2, r2, #30
+ 556 00ce F2D5 bpl .L39
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 557 .loc 1 420 0
+ 558 00d0 4548 ldr r0, .L83+8
+ 559 .LVL47:
+ 560 00d2 A9E7 b .L27
+ 561 .LVL48:
+ 562 .L78:
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 563 .loc 1 425 0
+ 564 00d4 FFF7FEFF bl HAL_RCC_GetSysClockFreq
+ 565 .LVL49:
+ 566 00d8 A6E7 b .L27
+ 567 .LVL50:
+ 568 .L79:
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 569 .loc 1 428 0 discriminator 1
+ 570 00da 414B ldr r3, .L83
+ 571 .LVL51:
+ 572 00dc 1B6A ldr r3, [r3, #32]
+ 573 00de 9B07 lsls r3, r3, #30
+ 574 00e0 6CD4 bmi .L56
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 575 .loc 1 373 0
+ 576 00e2 0020 movs r0, #0
+ 577 .LVL52:
+ ARM GAS /tmp/ccgjfOns.s page 22
+
+
+ 578 00e4 A0E7 b .L27
+ 579 .LVL53:
+ 580 .L69:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 581 .loc 1 443 0
+ 582 00e6 FFF7FEFF bl HAL_RCC_GetPCLK1Freq
+ 583 .LVL54:
+ 584 00ea 9DE7 b .L27
+ 585 .LVL55:
+ 586 .L70:
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 587 .loc 1 446 0 discriminator 1
+ 588 00ec 3C4A ldr r2, .L83
+ 589 00ee 1268 ldr r2, [r2]
+ 590 00f0 9207 lsls r2, r2, #30
+ 591 00f2 A8D5 bpl .L42
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 592 .loc 1 448 0
+ 593 00f4 3C48 ldr r0, .L83+8
+ 594 .LVL56:
+ 595 00f6 97E7 b .L27
+ 596 .LVL57:
+ 597 .L71:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 598 .loc 1 453 0
+ 599 00f8 FFF7FEFF bl HAL_RCC_GetSysClockFreq
+ 600 .LVL58:
+ 601 00fc 94E7 b .L27
+ 602 .LVL59:
+ 603 .L72:
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 604 .loc 1 456 0 discriminator 1
+ 605 00fe 384B ldr r3, .L83
+ 606 .LVL60:
+ 607 0100 1B6A ldr r3, [r3, #32]
+ 608 0102 9B07 lsls r3, r3, #30
+ 609 0104 5DD4 bmi .L59
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 610 .loc 1 373 0
+ 611 0106 0020 movs r0, #0
+ 612 .LVL61:
+ 613 0108 8EE7 b .L27
+ 614 .LVL62:
+ 615 .L29:
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 616 .loc 1 495 0
+ 617 010a 354B ldr r3, .L83
+ 618 010c 1A6B ldr r2, [r3, #48]
+ 619 010e 1023 movs r3, #16
+ 620 0110 1340 ands r3, r2
+ 621 .LVL63:
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 622 .loc 1 498 0
+ 623 0112 03D1 bne .L44
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 624 .loc 1 498 0 is_stmt 0 discriminator 1
+ 625 0114 324A ldr r2, .L83
+ ARM GAS /tmp/ccgjfOns.s page 23
+
+
+ 626 0116 1268 ldr r2, [r2]
+ 627 0118 9207 lsls r2, r2, #30
+ 628 011a 55D4 bmi .L60
+ 629 .L44:
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 630 .loc 1 503 0 is_stmt 1
+ 631 011c 002B cmp r3, #0
+ 632 011e 01D1 bne .L80
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 633 .loc 1 373 0
+ 634 0120 0020 movs r0, #0
+ 635 .LVL64:
+ 636 0122 81E7 b .L27
+ 637 .LVL65:
+ 638 .L80:
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 639 .loc 1 505 0
+ 640 0124 FFF7FEFF bl HAL_RCC_GetSysClockFreq
+ 641 .LVL66:
+ 642 0128 7EE7 b .L27
+ 643 .LVL67:
+ 644 .L34:
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 645 .loc 1 513 0
+ 646 012a 2D4B ldr r3, .L83
+ 647 012c 1B6B ldr r3, [r3, #48]
+ 648 012e 8020 movs r0, #128
+ 649 .LVL68:
+ 650 0130 1840 ands r0, r3
+ 651 .LVL69:
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 652 .loc 1 516 0
+ 653 0132 27D0 beq .L45
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 654 .loc 1 516 0 is_stmt 0 discriminator 1
+ 655 0134 2A4B ldr r3, .L83
+ 656 0136 1B68 ldr r3, [r3]
+ 657 0138 9B01 lsls r3, r3, #6
+ 658 013a 23D5 bpl .L45
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
+ 659 .loc 1 519 0 is_stmt 1
+ 660 013c 284A ldr r2, .L83
+ 661 013e 5068 ldr r0, [r2, #4]
+ 662 .LVL70:
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pllmull = (pllmull >> RCC_CFGR_PLLMUL_BITNUMBER) + 2U;
+ 663 .loc 1 520 0
+ 664 0140 5368 ldr r3, [r2, #4]
+ 665 0142 C021 movs r1, #192
+ 666 0144 4902 lsls r1, r1, #9
+ 667 0146 0B40 ands r3, r1
+ 668 .LVL71:
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1U;
+ 669 .loc 1 521 0
+ 670 0148 800C lsrs r0, r0, #18
+ 671 .LVL72:
+ 672 014a 0F21 movs r1, #15
+ 673 014c 0840 ands r0, r1
+ ARM GAS /tmp/ccgjfOns.s page 24
+
+
+ 674 014e 841C adds r4, r0, #2
+ 675 .LVL73:
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 676 .loc 1 522 0
+ 677 0150 D26A ldr r2, [r2, #44]
+ 678 0152 1140 ands r1, r2
+ 679 0154 0131 adds r1, r1, #1
+ 680 .LVL74:
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 681 .loc 1 524 0
+ 682 0156 8022 movs r2, #128
+ 683 0158 5202 lsls r2, r2, #9
+ 684 015a 9342 cmp r3, r2
+ 685 015c 08D0 beq .L81
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 686 .loc 1 530 0
+ 687 015e C022 movs r2, #192
+ 688 0160 5202 lsls r2, r2, #9
+ 689 0162 9342 cmp r3, r2
+ 690 0164 09D0 beq .L82
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #else
+ 691 .loc 1 540 0
+ 692 0166 2048 ldr r0, .L83+8
+ 693 0168 FFF7FEFF bl __aeabi_uidiv
+ 694 .LVL75:
+ 695 016c 6043 muls r0, r4
+ 696 .LVL76:
+ 697 016e 5BE7 b .L27
+ 698 .LVL77:
+ 699 .L81:
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 700 .loc 1 527 0
+ 701 0170 1D48 ldr r0, .L83+8
+ 702 0172 FFF7FEFF bl __aeabi_uidiv
+ 703 .LVL78:
+ 704 0176 6043 muls r0, r4
+ 705 .LVL79:
+ 706 0178 56E7 b .L27
+ 707 .LVL80:
+ 708 .L82:
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 709 .loc 1 533 0
+ 710 017a 1C48 ldr r0, .L83+12
+ 711 017c FFF7FEFF bl __aeabi_uidiv
+ 712 .LVL81:
+ 713 0180 6043 muls r0, r4
+ 714 .LVL82:
+ 715 0182 51E7 b .L27
+ 716 .LVL83:
+ 717 .L45:
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 718 .loc 1 549 0
+ 719 0184 0028 cmp r0, #0
+ 720 0186 21D1 bne .L62
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 721 .loc 1 549 0 is_stmt 0 discriminator 1
+ 722 0188 154B ldr r3, .L83
+ ARM GAS /tmp/ccgjfOns.s page 25
+
+
+ 723 018a 5B6B ldr r3, [r3, #52]
+ 724 018c 9B03 lsls r3, r3, #14
+ 725 018e 00D4 bmi .LCB770
+ 726 0190 4AE7 b .L27 @long jump
+ 727 .LCB770:
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 728 .loc 1 551 0 is_stmt 1
+ 729 0192 1648 ldr r0, .L83+12
+ 730 .LVL84:
+ 731 0194 48E7 b .L27
+ 732 .LVL85:
+ 733 .L68:
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 734 .loc 1 561 0
+ 735 0196 124B ldr r3, .L83
+ 736 0198 1A6B ldr r2, [r3, #48]
+ 737 019a 4023 movs r3, #64
+ 738 019c 1340 ands r3, r2
+ 739 .LVL86:
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 740 .loc 1 564 0
+ 741 019e 03D1 bne .L48
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 742 .loc 1 564 0 is_stmt 0 discriminator 1
+ 743 01a0 0F4A ldr r2, .L83
+ 744 01a2 1268 ldr r2, [r2]
+ 745 01a4 9207 lsls r2, r2, #30
+ 746 01a6 13D4 bmi .L64
+ 747 .L48:
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 748 .loc 1 569 0 is_stmt 1
+ 749 01a8 002B cmp r3, #0
+ 750 01aa 13D0 beq .L65
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 751 .loc 1 569 0 is_stmt 0 discriminator 1
+ 752 01ac 0C4B ldr r3, .L83
+ 753 .LVL87:
+ 754 01ae 1B6A ldr r3, [r3, #32]
+ 755 01b0 9B07 lsls r3, r3, #30
+ 756 01b2 11D4 bmi .L66
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 757 .loc 1 373 0 is_stmt 1
+ 758 01b4 0020 movs r0, #0
+ 759 .LVL88:
+ 760 01b6 37E7 b .L27
+ 761 .LVL89:
+ 762 .L53:
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 763 .loc 1 403 0
+ 764 01b8 0D48 ldr r0, .L83+16
+ 765 .LVL90:
+ 766 01ba 35E7 b .L27
+ 767 .LVL91:
+ 768 .L56:
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 769 .loc 1 430 0
+ 770 01bc 8020 movs r0, #128
+ ARM GAS /tmp/ccgjfOns.s page 26
+
+
+ 771 .LVL92:
+ 772 01be 0002 lsls r0, r0, #8
+ 773 01c0 32E7 b .L27
+ 774 .LVL93:
+ 775 .L59:
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 776 .loc 1 458 0
+ 777 01c2 8020 movs r0, #128
+ 778 .LVL94:
+ 779 01c4 0002 lsls r0, r0, #8
+ 780 01c6 2FE7 b .L27
+ 781 .LVL95:
+ 782 .L60:
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 783 .loc 1 500 0
+ 784 01c8 0748 ldr r0, .L83+8
+ 785 .LVL96:
+ 786 01ca 2DE7 b .L27
+ 787 .LVL97:
+ 788 .L62:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 789 .loc 1 373 0
+ 790 01cc 0020 movs r0, #0
+ 791 .LVL98:
+ 792 01ce 2BE7 b .L27
+ 793 .LVL99:
+ 794 .L64:
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 795 .loc 1 566 0
+ 796 01d0 0548 ldr r0, .L83+8
+ 797 .LVL100:
+ 798 01d2 29E7 b .L27
+ 799 .LVL101:
+ 800 .L65:
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 801 .loc 1 373 0
+ 802 01d4 0020 movs r0, #0
+ 803 .LVL102:
+ 804 01d6 27E7 b .L27
+ 805 .LVL103:
+ 806 .L66:
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 807 .loc 1 571 0
+ 808 01d8 8020 movs r0, #128
+ 809 .LVL104:
+ 810 01da 0002 lsls r0, r0, #8
+ 811 .LVL105:
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 812 .loc 1 581 0
+ 813 01dc 24E7 b .L27
+ 814 .L84:
+ 815 01de C046 .align 2
+ 816 .L83:
+ 817 01e0 00100240 .word 1073876992
+ 818 01e4 409C0000 .word 40000
+ 819 01e8 00127A00 .word 8000000
+ 820 01ec 006CDC02 .word 48000000
+ ARM GAS /tmp/ccgjfOns.s page 27
+
+
+ 821 01f0 90D00300 .word 250000
+ 822 .cfi_endproc
+ 823 .LFE42:
+ 825 .section .text.HAL_RCCEx_CRSConfig,"ax",%progbits
+ 826 .align 1
+ 827 .global HAL_RCCEx_CRSConfig
+ 828 .syntax unified
+ 829 .code 16
+ 830 .thumb_func
+ 831 .fpu softvfp
+ 833 HAL_RCCEx_CRSConfig:
+ 834 .LFB43:
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @}
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** #if defined(CRS)
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /** @defgroup RCCEx_Exported_Functions_Group3 Extended Clock Recovery System Control functions
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Extended Clock Recovery System Control functions
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** *
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @verbatim
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ===============================================================================
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ##### Extended Clock Recovery System Control functions #####
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** ===============================================================================
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** [..]
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** For devices with Clock Recovery System feature (CRS), RCC Extention HAL driver can be used as
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) In System clock config, HSI48 needs to be enabled
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Enable CRS clock in IP MSP init which will use CRS functions
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Call CRS functions as follows:
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) Prepare synchronization configuration necessary for HSI48 calibration
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Default values can be set for frequency Error Measurement (reload and error lim
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** and also HSI48 oscillator smooth trimming.
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Macro @ref __HAL_RCC_CRS_RELOADVALUE_CALCULATE can be also used to calculate
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** directly reload value with target and synchronization frequencies values
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) Call function @ref HAL_RCCEx_CRSConfig which
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Reset CRS registers to their default values.
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Configure CRS registers with synchronization configuration
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Enable automatic calibration and frequency error counter feature
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** Note: When using USB LPM (Link Power Management) and the device is in Sleep mode, the
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** periodic USB SOF will not be generated by the host. No SYNC signal will therefore be
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** provided to the CRS to calibrate the HSI48 on the run. To guarantee the required clock
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** precision after waking up from Sleep mode, the LSE or reference clock on the GPIOs
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** should be used as SYNC signal.
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (##) A polling function is provided to wait for complete synchronization
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) Call function @ref HAL_RCCEx_CRSWaitSynchronization()
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) According to CRS status, user can decide to adjust again the calibration or con
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** application if synchronization is OK
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) User can retrieve information related to synchronization in calling function
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @ref HAL_RCCEx_CRSGetSynchronizationInfo()
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ ARM GAS /tmp/ccgjfOns.s page 28
+
+
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) Regarding synchronization status and synchronization information, user can try a new cali
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** in changing synchronization configuration and call again HAL_RCCEx_CRSConfig.
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** Note: When the SYNC event is detected during the downcounting phase (before reaching the
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** it means that the actual frequency is lower than the target (and so, that the TRIM value
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** incremented), while when it is detected during the upcounting phase it means that the ac
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** is higher (and that the TRIM value should be decremented).
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) In interrupt mode, user can resort to the available macros (__HAL_RCC_CRS_XXX_IT). Interr
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** through CRS Handler (RCC_IRQn/RCC_IRQHandler)
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Call function @ref HAL_RCCEx_CRSConfig()
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Enable RCC_IRQn (thanks to NVIC functions)
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Enable CRS interrupt (@ref __HAL_RCC_CRS_ENABLE_IT)
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (++) Implement CRS status management in the following user callbacks called from
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_IRQHandler():
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_SyncOkCallback()
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_SyncWarnCallback()
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_ExpectedSyncCallback()
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (+++) @ref HAL_RCCEx_CRS_ErrorCallback()
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** (#) To force a SYNC EVENT, user can use the function @ref HAL_RCCEx_CRSSoftwareSynchronizatio
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** This function can be called before calling @ref HAL_RCCEx_CRSConfig (for instance in Syst
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** @endverbatim
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @{
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Start automatic synchronization for polling mode
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param pInit Pointer on RCC_CRSInitTypeDef structure
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSConfig(RCC_CRSInitTypeDef *pInit)
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 835 .loc 1 660 0
+ 836 .cfi_startproc
+ 837 @ args = 0, pretend = 0, frame = 0
+ 838 @ frame_needed = 0, uses_anonymous_args = 0
+ 839 @ link register save eliminated.
+ 840 .LVL106:
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t value = 0U;
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameters */
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_DIV(pInit->Prescaler));
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_SOURCE(pInit->Source));
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_SYNC_POLARITY(pInit->Polarity));
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_RELOADVALUE(pInit->ReloadValue));
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_ERRORLIMIT(pInit->ErrorLimitValue));
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(IS_RCC_CRS_HSI48CALIBRATION(pInit->HSI48CalibrationValue));
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CONFIGURATION */
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Before configuration, reset CRS registers to their default values*/
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_FORCE_RESET();
+ 841 .loc 1 674 0
+ 842 0000 104B ldr r3, .L86
+ 843 0002 1969 ldr r1, [r3, #16]
+ 844 0004 8022 movs r2, #128
+ ARM GAS /tmp/ccgjfOns.s page 29
+
+
+ 845 0006 1205 lsls r2, r2, #20
+ 846 0008 0A43 orrs r2, r1
+ 847 000a 1A61 str r2, [r3, #16]
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_RELEASE_RESET();
+ 848 .loc 1 675 0
+ 849 000c 1A69 ldr r2, [r3, #16]
+ 850 000e 0E49 ldr r1, .L86+4
+ 851 0010 0A40 ands r2, r1
+ 852 0012 1A61 str r2, [r3, #16]
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCDIV[2:0] bits according to Prescaler value */
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCSRC[1:0] bits according to Source value */
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the SYNCSPOL bit according to Polarity value */
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value = (pInit->Prescaler | pInit->Source | pInit->Polarity);
+ 853 .loc 1 680 0
+ 854 0014 0268 ldr r2, [r0]
+ 855 0016 4368 ldr r3, [r0, #4]
+ 856 0018 1A43 orrs r2, r3
+ 857 001a 8368 ldr r3, [r0, #8]
+ 858 001c 1A43 orrs r2, r3
+ 859 .LVL107:
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the RELOAD[15:0] bits according to ReloadValue value */
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value |= pInit->ReloadValue;
+ 860 .loc 1 682 0
+ 861 001e C368 ldr r3, [r0, #12]
+ 862 0020 1343 orrs r3, r2
+ 863 .LVL108:
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the FELIM[7:0] bits according to ErrorLimitValue value */
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** value |= (pInit->ErrorLimitValue << CRS_CFGR_FELIM_BITNUMBER);
+ 864 .loc 1 684 0
+ 865 0022 0269 ldr r2, [r0, #16]
+ 866 0024 1204 lsls r2, r2, #16
+ 867 0026 1A43 orrs r2, r3
+ 868 .LVL109:
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->CFGR, value);
+ 869 .loc 1 685 0
+ 870 0028 084B ldr r3, .L86+8
+ 871 002a 5A60 str r2, [r3, #4]
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Adjust HSI48 oscillator smooth trimming */
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Set the TRIM[5:0] bits according to RCC_CRS_HSI48CalibrationValue value */
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** MODIFY_REG(CRS->CR, CRS_CR_TRIM, (pInit->HSI48CalibrationValue << CRS_CR_TRIM_BITNUMBER));
+ 872 .loc 1 689 0
+ 873 002c 1A68 ldr r2, [r3]
+ 874 .LVL110:
+ 875 002e 0849 ldr r1, .L86+12
+ 876 0030 0A40 ands r2, r1
+ 877 0032 4169 ldr r1, [r0, #20]
+ 878 0034 0902 lsls r1, r1, #8
+ 879 0036 0A43 orrs r2, r1
+ 880 0038 1A60 str r2, [r3]
+ 881 .LVL111:
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* START AUTOMATIC SYNCHRONIZATION*/
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Enable Automatic trimming & Frequency error counter */
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(CRS->CR, CRS_CR_AUTOTRIMEN | CRS_CR_CEN);
+ ARM GAS /tmp/ccgjfOns.s page 30
+
+
+ 882 .loc 1 694 0
+ 883 003a 1A68 ldr r2, [r3]
+ 884 003c 6021 movs r1, #96
+ 885 003e 0A43 orrs r2, r1
+ 886 0040 1A60 str r2, [r3]
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 887 .loc 1 695 0
+ 888 @ sp needed
+ 889 0042 7047 bx lr
+ 890 .L87:
+ 891 .align 2
+ 892 .L86:
+ 893 0044 00100240 .word 1073876992
+ 894 0048 FFFFFFF7 .word -134217729
+ 895 004c 006C0040 .word 1073769472
+ 896 0050 FFC0FFFF .word -16129
+ 897 .cfi_endproc
+ 898 .LFE43:
+ 900 .section .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate,"ax",%progbits
+ 901 .align 1
+ 902 .global HAL_RCCEx_CRSSoftwareSynchronizationGenerate
+ 903 .syntax unified
+ 904 .code 16
+ 905 .thumb_func
+ 906 .fpu softvfp
+ 908 HAL_RCCEx_CRSSoftwareSynchronizationGenerate:
+ 909 .LFB44:
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Generate the software synchronization event
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSSoftwareSynchronizationGenerate(void)
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 910 .loc 1 702 0
+ 911 .cfi_startproc
+ 912 @ args = 0, pretend = 0, frame = 0
+ 913 @ frame_needed = 0, uses_anonymous_args = 0
+ 914 @ link register save eliminated.
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** SET_BIT(CRS->CR, CRS_CR_SWSYNC);
+ 915 .loc 1 703 0
+ 916 0000 024A ldr r2, .L89
+ 917 0002 1368 ldr r3, [r2]
+ 918 0004 8021 movs r1, #128
+ 919 0006 0B43 orrs r3, r1
+ 920 0008 1360 str r3, [r2]
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 921 .loc 1 704 0
+ 922 @ sp needed
+ 923 000a 7047 bx lr
+ 924 .L90:
+ 925 .align 2
+ 926 .L89:
+ 927 000c 006C0040 .word 1073769472
+ 928 .cfi_endproc
+ 929 .LFE44:
+ 931 .section .text.HAL_RCCEx_CRSGetSynchronizationInfo,"ax",%progbits
+ ARM GAS /tmp/ccgjfOns.s page 31
+
+
+ 932 .align 1
+ 933 .global HAL_RCCEx_CRSGetSynchronizationInfo
+ 934 .syntax unified
+ 935 .code 16
+ 936 .thumb_func
+ 937 .fpu softvfp
+ 939 HAL_RCCEx_CRSGetSynchronizationInfo:
+ 940 .LFB45:
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Return synchronization info
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param pSynchroInfo Pointer on RCC_CRSSynchroInfoTypeDef structure
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRSGetSynchronizationInfo(RCC_CRSSynchroInfoTypeDef *pSynchroInfo)
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 941 .loc 1 712 0
+ 942 .cfi_startproc
+ 943 @ args = 0, pretend = 0, frame = 0
+ 944 @ frame_needed = 0, uses_anonymous_args = 0
+ 945 @ link register save eliminated.
+ 946 .LVL112:
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check the parameter */
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** assert_param(pSynchroInfo != NULL);
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get the reload value */
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->ReloadValue = (uint32_t)(READ_BIT(CRS->CFGR, CRS_CFGR_RELOAD));
+ 947 .loc 1 717 0
+ 948 0000 094A ldr r2, .L92
+ 949 0002 5368 ldr r3, [r2, #4]
+ 950 0004 1B04 lsls r3, r3, #16
+ 951 0006 1B0C lsrs r3, r3, #16
+ 952 0008 0360 str r3, [r0]
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get HSI48 oscillator smooth trimming */
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->HSI48CalibrationValue = (uint32_t)(READ_BIT(CRS->CR, CRS_CR_TRIM) >> CRS_CR_TRIM_BI
+ 953 .loc 1 720 0
+ 954 000a 1168 ldr r1, [r2]
+ 955 000c 090A lsrs r1, r1, #8
+ 956 000e 3F23 movs r3, #63
+ 957 0010 0B40 ands r3, r1
+ 958 0012 4360 str r3, [r0, #4]
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Frequency error capture */
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->FreqErrorCapture = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FECAP) >> CRS_ISR_FECAP_BI
+ 959 .loc 1 723 0
+ 960 0014 9368 ldr r3, [r2, #8]
+ 961 0016 1B0C lsrs r3, r3, #16
+ 962 0018 8360 str r3, [r0, #8]
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get Frequency error direction */
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** pSynchroInfo->FreqErrorDirection = (uint32_t)(READ_BIT(CRS->ISR, CRS_ISR_FEDIR));
+ 963 .loc 1 726 0
+ 964 001a 9368 ldr r3, [r2, #8]
+ 965 001c 8022 movs r2, #128
+ 966 001e 1202 lsls r2, r2, #8
+ 967 0020 1340 ands r3, r2
+ ARM GAS /tmp/ccgjfOns.s page 32
+
+
+ 968 0022 C360 str r3, [r0, #12]
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 969 .loc 1 727 0
+ 970 @ sp needed
+ 971 0024 7047 bx lr
+ 972 .L93:
+ 973 0026 C046 .align 2
+ 974 .L92:
+ 975 0028 006C0040 .word 1073769472
+ 976 .cfi_endproc
+ 977 .LFE45:
+ 979 .section .text.HAL_RCCEx_CRSWaitSynchronization,"ax",%progbits
+ 980 .align 1
+ 981 .global HAL_RCCEx_CRSWaitSynchronization
+ 982 .syntax unified
+ 983 .code 16
+ 984 .thumb_func
+ 985 .fpu softvfp
+ 987 HAL_RCCEx_CRSWaitSynchronization:
+ 988 .LFB46:
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Wait for CRS Synchronization status.
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param Timeout Duration of the timeout
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note Timeout is based on the maximum time to receive a SYNC event based on synchronization
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * frequency.
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @note If Timeout set to HAL_MAX_DELAY, HAL_TIMEOUT will be never returned.
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval Combination of Synchronization status
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be a combination of the following values:
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TIMEOUT
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCOK
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCWARN
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCERR
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCMISS
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TRIMOVF
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t HAL_RCCEx_CRSWaitSynchronization(uint32_t Timeout)
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 989 .loc 1 745 0
+ 990 .cfi_startproc
+ 991 @ args = 0, pretend = 0, frame = 0
+ 992 @ frame_needed = 0, uses_anonymous_args = 0
+ 993 .LVL113:
+ 994 0000 70B5 push {r4, r5, r6, lr}
+ 995 .LCFI3:
+ 996 .cfi_def_cfa_offset 16
+ 997 .cfi_offset 4, -16
+ 998 .cfi_offset 5, -12
+ 999 .cfi_offset 6, -8
+ 1000 .cfi_offset 14, -4
+ 1001 0002 0500 movs r5, r0
+ 1002 .LVL114:
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crsstatus = RCC_CRS_NONE;
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t tickstart = 0U;
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get timeout */
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** tickstart = HAL_GetTick();
+ ARM GAS /tmp/ccgjfOns.s page 33
+
+
+ 1003 .loc 1 750 0
+ 1004 0004 FFF7FEFF bl HAL_GetTick
+ 1005 .LVL115:
+ 1006 0008 0600 movs r6, r0
+ 1007 .LVL116:
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crsstatus = RCC_CRS_NONE;
+ 1008 .loc 1 746 0
+ 1009 000a 0024 movs r4, #0
+ 1010 000c 3AE0 b .L102
+ 1011 .LVL117:
+ 1012 .L106:
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Wait for CRS flag or timeout detection */
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** do
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(Timeout != HAL_MAX_DELAY)
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((Timeout == 0U) || ((HAL_GetTick() - tickstart) > Timeout))
+ 1013 .loc 1 757 0 discriminator 1
+ 1014 000e FFF7FEFF bl HAL_GetTick
+ 1015 .LVL118:
+ 1016 0012 801B subs r0, r0, r6
+ 1017 0014 A842 cmp r0, r5
+ 1018 0016 3BD8 bhi .L104
+ 1019 .LVL119:
+ 1020 .L95:
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus = RCC_CRS_TIMEOUT;
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCOK flag */
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCOK))
+ 1021 .loc 1 763 0
+ 1022 0018 1F4B ldr r3, .L107
+ 1023 001a 9B68 ldr r3, [r3, #8]
+ 1024 001c DB07 lsls r3, r3, #31
+ 1025 001e 04D5 bpl .L96
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC event OK */
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCOK;
+ 1026 .loc 1 766 0
+ 1027 0020 0223 movs r3, #2
+ 1028 0022 1C43 orrs r4, r3
+ 1029 .LVL120:
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC event OK bit */
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCOK);
+ 1030 .loc 1 769 0
+ 1031 0024 1C4B ldr r3, .L107
+ 1032 0026 0122 movs r2, #1
+ 1033 0028 DA60 str r2, [r3, #12]
+ 1034 .L96:
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCWARN flag */
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCWARN))
+ 1035 .loc 1 773 0
+ ARM GAS /tmp/ccgjfOns.s page 34
+
+
+ 1036 002a 1B4B ldr r3, .L107
+ 1037 002c 9B68 ldr r3, [r3, #8]
+ 1038 002e 9B07 lsls r3, r3, #30
+ 1039 0030 04D5 bpl .L97
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC warning */
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCWARN;
+ 1040 .loc 1 776 0
+ 1041 0032 0423 movs r3, #4
+ 1042 0034 1C43 orrs r4, r3
+ 1043 .LVL121:
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNCWARN bit */
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCWARN);
+ 1044 .loc 1 779 0
+ 1045 0036 184B ldr r3, .L107
+ 1046 0038 0222 movs r2, #2
+ 1047 003a DA60 str r2, [r3, #12]
+ 1048 .L97:
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS TRIM overflow flag */
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_TRIMOVF))
+ 1049 .loc 1 783 0
+ 1050 003c 164B ldr r3, .L107
+ 1051 003e 9B68 ldr r3, [r3, #8]
+ 1052 0040 5B05 lsls r3, r3, #21
+ 1053 0042 04D5 bpl .L98
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Error */
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_TRIMOVF;
+ 1054 .loc 1 786 0
+ 1055 0044 2023 movs r3, #32
+ 1056 0046 1C43 orrs r4, r3
+ 1057 .LVL122:
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error bit */
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_TRIMOVF);
+ 1058 .loc 1 789 0
+ 1059 0048 134B ldr r3, .L107
+ 1060 004a 0422 movs r2, #4
+ 1061 004c DA60 str r2, [r3, #12]
+ 1062 .L98:
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Error flag */
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCERR))
+ 1063 .loc 1 793 0
+ 1064 004e 124B ldr r3, .L107
+ 1065 0050 9B68 ldr r3, [r3, #8]
+ 1066 0052 DB05 lsls r3, r3, #23
+ 1067 0054 04D5 bpl .L99
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Error */
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCERR;
+ 1068 .loc 1 796 0
+ 1069 0056 0823 movs r3, #8
+ ARM GAS /tmp/ccgjfOns.s page 35
+
+
+ 1070 0058 1C43 orrs r4, r3
+ 1071 .LVL123:
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error bit */
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCERR);
+ 1072 .loc 1 799 0
+ 1073 005a 0F4B ldr r3, .L107
+ 1074 005c 0422 movs r2, #4
+ 1075 005e DA60 str r2, [r3, #12]
+ 1076 .L99:
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNC Missed flag */
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_SYNCMISS))
+ 1077 .loc 1 803 0
+ 1078 0060 0D4B ldr r3, .L107
+ 1079 0062 9B68 ldr r3, [r3, #8]
+ 1080 0064 9B05 lsls r3, r3, #22
+ 1081 0066 04D5 bpl .L100
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* CRS SYNC Missed */
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crsstatus |= RCC_CRS_SYNCMISS;
+ 1082 .loc 1 806 0
+ 1083 0068 1023 movs r3, #16
+ 1084 006a 1C43 orrs r4, r3
+ 1085 .LVL124:
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC Missed bit */
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_SYNCMISS);
+ 1086 .loc 1 809 0
+ 1087 006c 0A4B ldr r3, .L107
+ 1088 006e 0422 movs r2, #4
+ 1089 0070 DA60 str r2, [r3, #12]
+ 1090 .L100:
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Expected SYNC flag */
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(__HAL_RCC_CRS_GET_FLAG(RCC_CRS_FLAG_ESYNC))
+ 1091 .loc 1 813 0
+ 1092 0072 094B ldr r3, .L107
+ 1093 0074 9B68 ldr r3, [r3, #8]
+ 1094 0076 1B07 lsls r3, r3, #28
+ 1095 0078 02D5 bpl .L101
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency error counter reached a zero value */
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __HAL_RCC_CRS_CLEAR_FLAG(RCC_CRS_FLAG_ESYNC);
+ 1096 .loc 1 816 0 discriminator 2
+ 1097 007a 074B ldr r3, .L107
+ 1098 007c 0822 movs r2, #8
+ 1099 007e DA60 str r2, [r3, #12]
+ 1100 .L101:
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** } while(RCC_CRS_NONE == crsstatus);
+ 1101 .loc 1 818 0
+ 1102 0080 002C cmp r4, #0
+ 1103 0082 07D1 bne .L105
+ 1104 .LVL125:
+ ARM GAS /tmp/ccgjfOns.s page 36
+
+
+ 1105 .L102:
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1106 .loc 1 755 0
+ 1107 0084 6B1C adds r3, r5, #1
+ 1108 0086 C7D0 beq .L95
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1109 .loc 1 757 0
+ 1110 0088 002D cmp r5, #0
+ 1111 008a C0D1 bne .L106
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1112 .loc 1 759 0
+ 1113 008c 0124 movs r4, #1
+ 1114 .LVL126:
+ 1115 008e C3E7 b .L95
+ 1116 .LVL127:
+ 1117 .L104:
+ 1118 0090 0124 movs r4, #1
+ 1119 .LVL128:
+ 1120 0092 C1E7 b .L95
+ 1121 .LVL129:
+ 1122 .L105:
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** return crsstatus;
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1123 .loc 1 821 0
+ 1124 0094 2000 movs r0, r4
+ 1125 @ sp needed
+ 1126 .LVL130:
+ 1127 .LVL131:
+ 1128 .LVL132:
+ 1129 0096 70BD pop {r4, r5, r6, pc}
+ 1130 .L108:
+ 1131 .align 2
+ 1132 .L107:
+ 1133 0098 006C0040 .word 1073769472
+ 1134 .cfi_endproc
+ 1135 .LFE46:
+ 1137 .section .text.HAL_RCCEx_CRS_SyncOkCallback,"ax",%progbits
+ 1138 .align 1
+ 1139 .weak HAL_RCCEx_CRS_SyncOkCallback
+ 1140 .syntax unified
+ 1141 .code 16
+ 1142 .thumb_func
+ 1143 .fpu softvfp
+ 1145 HAL_RCCEx_CRS_SyncOkCallback:
+ 1146 .LFB48:
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief Handle the Clock Recovery System interrupt request.
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval None
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** void HAL_RCCEx_CRS_IRQHandler(void)
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crserror = RCC_CRS_NONE;
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get current IT flags and IT sources values */
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itflags = READ_REG(CRS->ISR);
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itsources = READ_REG(CRS->CR);
+ ARM GAS /tmp/ccgjfOns.s page 37
+
+
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCOK flag */
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((itflags & RCC_CRS_FLAG_SYNCOK) != RESET) && ((itsources & RCC_CRS_IT_SYNCOK) != RESET))
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNC event OK flag */
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_SYNCOKC);
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_SyncOkCallback();
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS SYNCWARN flag */
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if(((itflags & RCC_CRS_FLAG_SYNCWARN) != RESET) && ((itsources & RCC_CRS_IT_SYNCWARN) != RES
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS SYNCWARN flag */
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_SYNCWARNC);
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_SyncWarnCallback();
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Expected SYNC flag */
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else if(((itflags & RCC_CRS_FLAG_ESYNC) != RESET) && ((itsources & RCC_CRS_IT_ESYNC) != RESET))
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* frequency error counter reached a zero value */
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_ESYNCC);
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user callback */
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_ExpectedSyncCallback();
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Check CRS Error flags */
+ 862:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** else
+ 863:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if(((itflags & RCC_CRS_FLAG_ERR) != RESET) && ((itsources & RCC_CRS_IT_ERR) != RESET))
+ 865:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_SYNCERR) != RESET)
+ 867:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_SYNCERR;
+ 869:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_SYNCMISS) != RESET)
+ 871:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_SYNCMISS;
+ 873:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** if((itflags & RCC_CRS_FLAG_TRIMOVF) != RESET)
+ 875:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** crserror |= RCC_CRS_TRIMOVF;
+ 877:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 878:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 879:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Clear CRS Error flags */
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** WRITE_REG(CRS->ICR, CRS_ICR_ERRC);
+ 881:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 882:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* user error callback */
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** HAL_RCCEx_CRS_ErrorCallback(crserror);
+ 884:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 885:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 887:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 888:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 889:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System SYNCOK interrupt callback.
+ ARM GAS /tmp/ccgjfOns.s page 38
+
+
+ 890:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none
+ 891:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 892:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_SyncOkCallback(void)
+ 893:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1147 .loc 1 893 0
+ 1148 .cfi_startproc
+ 1149 @ args = 0, pretend = 0, frame = 0
+ 1150 @ frame_needed = 0, uses_anonymous_args = 0
+ 1151 @ link register save eliminated.
+ 894:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 895:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_SyncOkCallback should be implemented in the user file
+ 896:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 897:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1152 .loc 1 897 0
+ 1153 @ sp needed
+ 1154 0000 7047 bx lr
+ 1155 .cfi_endproc
+ 1156 .LFE48:
+ 1158 .section .text.HAL_RCCEx_CRS_SyncWarnCallback,"ax",%progbits
+ 1159 .align 1
+ 1160 .weak HAL_RCCEx_CRS_SyncWarnCallback
+ 1161 .syntax unified
+ 1162 .code 16
+ 1163 .thumb_func
+ 1164 .fpu softvfp
+ 1166 HAL_RCCEx_CRS_SyncWarnCallback:
+ 1167 .LFB49:
+ 898:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 899:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 900:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System SYNCWARN interrupt callback.
+ 901:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none
+ 902:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 903:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_SyncWarnCallback(void)
+ 904:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1168 .loc 1 904 0
+ 1169 .cfi_startproc
+ 1170 @ args = 0, pretend = 0, frame = 0
+ 1171 @ frame_needed = 0, uses_anonymous_args = 0
+ 1172 @ link register save eliminated.
+ 905:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 906:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_SyncWarnCallback should be implemented in the user file
+ 907:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 908:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1173 .loc 1 908 0
+ 1174 @ sp needed
+ 1175 0000 7047 bx lr
+ 1176 .cfi_endproc
+ 1177 .LFE49:
+ 1179 .section .text.HAL_RCCEx_CRS_ExpectedSyncCallback,"ax",%progbits
+ 1180 .align 1
+ 1181 .weak HAL_RCCEx_CRS_ExpectedSyncCallback
+ 1182 .syntax unified
+ 1183 .code 16
+ 1184 .thumb_func
+ 1185 .fpu softvfp
+ 1187 HAL_RCCEx_CRS_ExpectedSyncCallback:
+ 1188 .LFB50:
+ ARM GAS /tmp/ccgjfOns.s page 39
+
+
+ 909:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 910:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 911:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System Expected SYNC interrupt callback.
+ 912:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none
+ 913:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 914:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_ExpectedSyncCallback(void)
+ 915:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1189 .loc 1 915 0
+ 1190 .cfi_startproc
+ 1191 @ args = 0, pretend = 0, frame = 0
+ 1192 @ frame_needed = 0, uses_anonymous_args = 0
+ 1193 @ link register save eliminated.
+ 916:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 917:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_ExpectedSyncCallback should be implemented in the user file
+ 918:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 919:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1194 .loc 1 919 0
+ 1195 @ sp needed
+ 1196 0000 7047 bx lr
+ 1197 .cfi_endproc
+ 1198 .LFE50:
+ 1200 .section .text.HAL_RCCEx_CRS_ErrorCallback,"ax",%progbits
+ 1201 .align 1
+ 1202 .weak HAL_RCCEx_CRS_ErrorCallback
+ 1203 .syntax unified
+ 1204 .code 16
+ 1205 .thumb_func
+ 1206 .fpu softvfp
+ 1208 HAL_RCCEx_CRS_ErrorCallback:
+ 1209 .LFB51:
+ 920:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 921:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /**
+ 922:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @brief RCCEx Clock Recovery System Error interrupt callback.
+ 923:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @param Error Combination of Error status.
+ 924:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * This parameter can be a combination of the following values:
+ 925:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCERR
+ 926:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_SYNCMISS
+ 927:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @arg @ref RCC_CRS_TRIMOVF
+ 928:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** * @retval none
+ 929:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 930:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** __weak void HAL_RCCEx_CRS_ErrorCallback(uint32_t Error)
+ 931:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1210 .loc 1 931 0
+ 1211 .cfi_startproc
+ 1212 @ args = 0, pretend = 0, frame = 0
+ 1213 @ frame_needed = 0, uses_anonymous_args = 0
+ 1214 @ link register save eliminated.
+ 1215 .LVL133:
+ 932:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Prevent unused argument(s) compilation warning */
+ 933:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** UNUSED(Error);
+ 934:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 935:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* NOTE : This function should not be modified, when the callback is needed,
+ 936:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** the @ref HAL_RCCEx_CRS_ErrorCallback should be implemented in the user file
+ 937:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** */
+ 938:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1216 .loc 1 938 0
+ 1217 @ sp needed
+ ARM GAS /tmp/ccgjfOns.s page 40
+
+
+ 1218 0000 7047 bx lr
+ 1219 .cfi_endproc
+ 1220 .LFE51:
+ 1222 .section .text.HAL_RCCEx_CRS_IRQHandler,"ax",%progbits
+ 1223 .align 1
+ 1224 .global HAL_RCCEx_CRS_IRQHandler
+ 1225 .syntax unified
+ 1226 .code 16
+ 1227 .thumb_func
+ 1228 .fpu softvfp
+ 1230 HAL_RCCEx_CRS_IRQHandler:
+ 1231 .LFB47:
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t crserror = RCC_CRS_NONE;
+ 1232 .loc 1 828 0
+ 1233 .cfi_startproc
+ 1234 @ args = 0, pretend = 0, frame = 0
+ 1235 @ frame_needed = 0, uses_anonymous_args = 0
+ 1236 0000 10B5 push {r4, lr}
+ 1237 .LCFI4:
+ 1238 .cfi_def_cfa_offset 8
+ 1239 .cfi_offset 4, -8
+ 1240 .cfi_offset 14, -4
+ 1241 .LVL134:
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** uint32_t itsources = READ_REG(CRS->CR);
+ 1242 .loc 1 831 0
+ 1243 0002 1C4A ldr r2, .L125
+ 1244 0004 9368 ldr r3, [r2, #8]
+ 1245 .LVL135:
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1246 .loc 1 832 0
+ 1247 0006 1268 ldr r2, [r2]
+ 1248 .LVL136:
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1249 .loc 1 835 0
+ 1250 0008 D907 lsls r1, r3, #31
+ 1251 000a 01D5 bpl .L114
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1252 .loc 1 835 0 is_stmt 0 discriminator 1
+ 1253 000c D107 lsls r1, r2, #31
+ 1254 000e 1CD4 bmi .L122
+ 1255 .L114:
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1256 .loc 1 844 0 is_stmt 1
+ 1257 0010 9907 lsls r1, r3, #30
+ 1258 0012 01D5 bpl .L116
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1259 .loc 1 844 0 is_stmt 0 discriminator 1
+ 1260 0014 9107 lsls r1, r2, #30
+ 1261 0016 1ED4 bmi .L123
+ 1262 .L116:
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1263 .loc 1 853 0 is_stmt 1
+ 1264 0018 1907 lsls r1, r3, #28
+ 1265 001a 01D5 bpl .L117
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1266 .loc 1 853 0 is_stmt 0 discriminator 1
+ 1267 001c 1107 lsls r1, r2, #28
+ ARM GAS /tmp/ccgjfOns.s page 41
+
+
+ 1268 001e 20D4 bmi .L124
+ 1269 .L117:
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1270 .loc 1 864 0 is_stmt 1
+ 1271 0020 5907 lsls r1, r3, #29
+ 1272 0022 11D5 bpl .L113
+ 864:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1273 .loc 1 864 0 is_stmt 0 discriminator 1
+ 1274 0024 5207 lsls r2, r2, #29
+ 1275 0026 0FD5 bpl .L113
+ 1276 .LVL137:
+ 866:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1277 .loc 1 866 0 is_stmt 1
+ 1278 0028 DA05 lsls r2, r3, #23
+ 1279 002a 20D4 bmi .L121
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** /* Get current IT flags and IT sources values */
+ 1280 .loc 1 829 0
+ 1281 002c 0020 movs r0, #0
+ 1282 .L118:
+ 1283 .LVL138:
+ 870:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1284 .loc 1 870 0
+ 1285 002e 9A05 lsls r2, r3, #22
+ 1286 0030 01D5 bpl .L119
+ 872:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1287 .loc 1 872 0
+ 1288 0032 1022 movs r2, #16
+ 1289 0034 1043 orrs r0, r2
+ 1290 .LVL139:
+ 1291 .L119:
+ 874:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** {
+ 1292 .loc 1 874 0
+ 1293 0036 5B05 lsls r3, r3, #21
+ 1294 0038 01D5 bpl .L120
+ 1295 .LVL140:
+ 876:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1296 .loc 1 876 0
+ 1297 003a 2023 movs r3, #32
+ 1298 003c 1843 orrs r0, r3
+ 1299 .LVL141:
+ 1300 .L120:
+ 880:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1301 .loc 1 880 0
+ 1302 003e 0D4B ldr r3, .L125
+ 1303 0040 0422 movs r2, #4
+ 1304 0042 DA60 str r2, [r3, #12]
+ 883:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1305 .loc 1 883 0
+ 1306 0044 FFF7FEFF bl HAL_RCCEx_CRS_ErrorCallback
+ 1307 .LVL142:
+ 1308 .L113:
+ 886:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1309 .loc 1 886 0
+ 1310 @ sp needed
+ 1311 0048 10BD pop {r4, pc}
+ 1312 .LVL143:
+ 1313 .L122:
+ ARM GAS /tmp/ccgjfOns.s page 42
+
+
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1314 .loc 1 838 0
+ 1315 004a 0A4B ldr r3, .L125
+ 1316 .LVL144:
+ 1317 004c 0122 movs r2, #1
+ 1318 .LVL145:
+ 1319 004e DA60 str r2, [r3, #12]
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1320 .loc 1 841 0
+ 1321 0050 FFF7FEFF bl HAL_RCCEx_CRS_SyncOkCallback
+ 1322 .LVL146:
+ 1323 0054 F8E7 b .L113
+ 1324 .LVL147:
+ 1325 .L123:
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1326 .loc 1 847 0
+ 1327 0056 074B ldr r3, .L125
+ 1328 .LVL148:
+ 1329 0058 0222 movs r2, #2
+ 1330 .LVL149:
+ 1331 005a DA60 str r2, [r3, #12]
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1332 .loc 1 850 0
+ 1333 005c FFF7FEFF bl HAL_RCCEx_CRS_SyncWarnCallback
+ 1334 .LVL150:
+ 1335 0060 F2E7 b .L113
+ 1336 .LVL151:
+ 1337 .L124:
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c ****
+ 1338 .loc 1 856 0
+ 1339 0062 044B ldr r3, .L125
+ 1340 .LVL152:
+ 1341 0064 0822 movs r2, #8
+ 1342 .LVL153:
+ 1343 0066 DA60 str r2, [r3, #12]
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1344 .loc 1 859 0
+ 1345 0068 FFF7FEFF bl HAL_RCCEx_CRS_ExpectedSyncCallback
+ 1346 .LVL154:
+ 1347 006c ECE7 b .L113
+ 1348 .LVL155:
+ 1349 .L121:
+ 868:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_rcc_ex.c **** }
+ 1350 .loc 1 868 0
+ 1351 006e 0820 movs r0, #8
+ 1352 0070 DDE7 b .L118
+ 1353 .L126:
+ 1354 0072 C046 .align 2
+ 1355 .L125:
+ 1356 0074 006C0040 .word 1073769472
+ 1357 .cfi_endproc
+ 1358 .LFE47:
+ 1360 .text
+ 1361 .Letext0:
+ 1362 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1363 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 1364 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ ARM GAS /tmp/ccgjfOns.s page 43
+
+
+ 1365 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 1366 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 1367 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 1368 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h"
+ 1369 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 1370 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h"
+ ARM GAS /tmp/ccgjfOns.s page 44
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_rcc_ex.c
+ /tmp/ccgjfOns.s:16 .text.HAL_RCCEx_PeriphCLKConfig:0000000000000000 $t
+ /tmp/ccgjfOns.s:23 .text.HAL_RCCEx_PeriphCLKConfig:0000000000000000 HAL_RCCEx_PeriphCLKConfig
+ /tmp/ccgjfOns.s:280 .text.HAL_RCCEx_PeriphCLKConfig:000000000000013c $d
+ /tmp/ccgjfOns.s:291 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000000 $t
+ /tmp/ccgjfOns.s:298 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000000 HAL_RCCEx_GetPeriphCLKConfig
+ /tmp/ccgjfOns.s:357 .text.HAL_RCCEx_GetPeriphCLKConfig:0000000000000048 $d
+ /tmp/ccgjfOns.s:367 .text.HAL_RCCEx_GetPeriphCLKFreq:0000000000000000 $t
+ /tmp/ccgjfOns.s:374 .text.HAL_RCCEx_GetPeriphCLKFreq:0000000000000000 HAL_RCCEx_GetPeriphCLKFreq
+ /tmp/ccgjfOns.s:817 .text.HAL_RCCEx_GetPeriphCLKFreq:00000000000001e0 $d
+ /tmp/ccgjfOns.s:826 .text.HAL_RCCEx_CRSConfig:0000000000000000 $t
+ /tmp/ccgjfOns.s:833 .text.HAL_RCCEx_CRSConfig:0000000000000000 HAL_RCCEx_CRSConfig
+ /tmp/ccgjfOns.s:893 .text.HAL_RCCEx_CRSConfig:0000000000000044 $d
+ /tmp/ccgjfOns.s:901 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:0000000000000000 $t
+ /tmp/ccgjfOns.s:908 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:0000000000000000 HAL_RCCEx_CRSSoftwareSynchronizationGenerate
+ /tmp/ccgjfOns.s:927 .text.HAL_RCCEx_CRSSoftwareSynchronizationGenerate:000000000000000c $d
+ /tmp/ccgjfOns.s:932 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000000 $t
+ /tmp/ccgjfOns.s:939 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000000 HAL_RCCEx_CRSGetSynchronizationInfo
+ /tmp/ccgjfOns.s:975 .text.HAL_RCCEx_CRSGetSynchronizationInfo:0000000000000028 $d
+ /tmp/ccgjfOns.s:980 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000000 $t
+ /tmp/ccgjfOns.s:987 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000000 HAL_RCCEx_CRSWaitSynchronization
+ /tmp/ccgjfOns.s:1133 .text.HAL_RCCEx_CRSWaitSynchronization:0000000000000098 $d
+ /tmp/ccgjfOns.s:1138 .text.HAL_RCCEx_CRS_SyncOkCallback:0000000000000000 $t
+ /tmp/ccgjfOns.s:1145 .text.HAL_RCCEx_CRS_SyncOkCallback:0000000000000000 HAL_RCCEx_CRS_SyncOkCallback
+ /tmp/ccgjfOns.s:1159 .text.HAL_RCCEx_CRS_SyncWarnCallback:0000000000000000 $t
+ /tmp/ccgjfOns.s:1166 .text.HAL_RCCEx_CRS_SyncWarnCallback:0000000000000000 HAL_RCCEx_CRS_SyncWarnCallback
+ /tmp/ccgjfOns.s:1180 .text.HAL_RCCEx_CRS_ExpectedSyncCallback:0000000000000000 $t
+ /tmp/ccgjfOns.s:1187 .text.HAL_RCCEx_CRS_ExpectedSyncCallback:0000000000000000 HAL_RCCEx_CRS_ExpectedSyncCallback
+ /tmp/ccgjfOns.s:1201 .text.HAL_RCCEx_CRS_ErrorCallback:0000000000000000 $t
+ /tmp/ccgjfOns.s:1208 .text.HAL_RCCEx_CRS_ErrorCallback:0000000000000000 HAL_RCCEx_CRS_ErrorCallback
+ /tmp/ccgjfOns.s:1223 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000000 $t
+ /tmp/ccgjfOns.s:1230 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000000 HAL_RCCEx_CRS_IRQHandler
+ /tmp/ccgjfOns.s:1356 .text.HAL_RCCEx_CRS_IRQHandler:0000000000000074 $d
+
+UNDEFINED SYMBOLS
+HAL_GetTick
+__aeabi_uidiv
+HAL_RCC_GetPCLK1Freq
+HAL_RCC_GetSysClockFreq
diff --git a/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.o b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.o
new file mode 100644
index 0000000..8f0294c
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_rcc_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim.d b/fw/midi-dials/build/stm32f0xx_hal_tim.d
new file mode 100644
index 0000000..86764e6
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_tim.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim.lst b/fw/midi-dials/build/stm32f0xx_hal_tim.lst
new file mode 100644
index 0000000..28390a2
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim.lst
@@ -0,0 +1,29 @@
+ARM GAS /tmp/ccolyl4P.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 "stm32f0xx_hal_tim.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .Letext0:
+ 16 .file 1 "/usr/include/newlib/machine/_default_types.h"
+ 17 .file 2 "/usr/include/newlib/sys/_stdint.h"
+ 18 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 19 .file 4 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccolyl4P.s page 2
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_tim.c
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim.o b/fw/midi-dials/build/stm32f0xx_hal_tim.o
new file mode 100644
index 0000000..4073c7e
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim_ex.d b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.d
new file mode 100644
index 0000000..8b8b4b7
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_hal_tim_ex.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_hal_tim_ex.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim_ex.lst b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.lst
new file mode 100644
index 0000000..4e46de5
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.lst
@@ -0,0 +1,29 @@
+ARM GAS /tmp/ccIOJwtb.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 "stm32f0xx_hal_tim_ex.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .Letext0:
+ 16 .file 1 "/usr/include/newlib/machine/_default_types.h"
+ 17 .file 2 "/usr/include/newlib/sys/_stdint.h"
+ 18 .file 3 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 19 .file 4 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccIOJwtb.s page 2
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_hal_tim_ex.c
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_hal_tim_ex.o b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.o
new file mode 100644
index 0000000..6b3cae0
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_hal_tim_ex.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_it.d b/fw/midi-dials/build/stm32f0xx_it.d
new file mode 100644
index 0000000..691be57
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_it.d
@@ -0,0 +1,91 @@
+build/stm32f0xx_it.o: Src/stm32f0xx_it.c Inc/main.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Inc/stm32f0xx_it.h
+
+Inc/main.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Inc/stm32f0xx_it.h:
diff --git a/fw/midi-dials/build/stm32f0xx_it.lst b/fw/midi-dials/build/stm32f0xx_it.lst
new file mode 100644
index 0000000..931f212
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_it.lst
@@ -0,0 +1,409 @@
+ARM GAS /tmp/ccxPgspp.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 "stm32f0xx_it.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.NMI_Handler,"ax",%progbits
+ 16 .align 1
+ 17 .global NMI_Handler
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 NMI_Handler:
+ 24 .LFB40:
+ 25 .file 1 "Src/stm32f0xx_it.c"
+ 1:Src/stm32f0xx_it.c **** /* USER CODE BEGIN Header */
+ 2:Src/stm32f0xx_it.c **** /**
+ 3:Src/stm32f0xx_it.c **** ******************************************************************************
+ 4:Src/stm32f0xx_it.c **** * @file stm32f0xx_it.c
+ 5:Src/stm32f0xx_it.c **** * @brief Interrupt Service Routines.
+ 6:Src/stm32f0xx_it.c **** ******************************************************************************
+ 7:Src/stm32f0xx_it.c **** * @attention
+ 8:Src/stm32f0xx_it.c **** *
+ 9:Src/stm32f0xx_it.c **** * <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
+ 10:Src/stm32f0xx_it.c **** * All rights reserved.</center></h2>
+ 11:Src/stm32f0xx_it.c **** *
+ 12:Src/stm32f0xx_it.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 13:Src/stm32f0xx_it.c **** * the "License"; You may not use this file except in compliance with the
+ 14:Src/stm32f0xx_it.c **** * License. You may obtain a copy of the License at:
+ 15:Src/stm32f0xx_it.c **** * opensource.org/licenses/BSD-3-Clause
+ 16:Src/stm32f0xx_it.c **** *
+ 17:Src/stm32f0xx_it.c **** ******************************************************************************
+ 18:Src/stm32f0xx_it.c **** */
+ 19:Src/stm32f0xx_it.c **** /* USER CODE END Header */
+ 20:Src/stm32f0xx_it.c ****
+ 21:Src/stm32f0xx_it.c **** /* Includes ------------------------------------------------------------------*/
+ 22:Src/stm32f0xx_it.c **** #include "main.h"
+ 23:Src/stm32f0xx_it.c **** #include "stm32f0xx_it.h"
+ 24:Src/stm32f0xx_it.c **** /* Private includes ----------------------------------------------------------*/
+ 25:Src/stm32f0xx_it.c **** /* USER CODE BEGIN Includes */
+ 26:Src/stm32f0xx_it.c **** /* USER CODE END Includes */
+ 27:Src/stm32f0xx_it.c ****
+ 28:Src/stm32f0xx_it.c **** /* Private typedef -----------------------------------------------------------*/
+ 29:Src/stm32f0xx_it.c **** /* USER CODE BEGIN TD */
+ 30:Src/stm32f0xx_it.c ****
+ 31:Src/stm32f0xx_it.c **** /* USER CODE END TD */
+ 32:Src/stm32f0xx_it.c ****
+ 33:Src/stm32f0xx_it.c **** /* Private define ------------------------------------------------------------*/
+ ARM GAS /tmp/ccxPgspp.s page 2
+
+
+ 34:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PD */
+ 35:Src/stm32f0xx_it.c ****
+ 36:Src/stm32f0xx_it.c **** /* USER CODE END PD */
+ 37:Src/stm32f0xx_it.c ****
+ 38:Src/stm32f0xx_it.c **** /* Private macro -------------------------------------------------------------*/
+ 39:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PM */
+ 40:Src/stm32f0xx_it.c ****
+ 41:Src/stm32f0xx_it.c **** /* USER CODE END PM */
+ 42:Src/stm32f0xx_it.c ****
+ 43:Src/stm32f0xx_it.c **** /* Private variables ---------------------------------------------------------*/
+ 44:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PV */
+ 45:Src/stm32f0xx_it.c ****
+ 46:Src/stm32f0xx_it.c **** /* USER CODE END PV */
+ 47:Src/stm32f0xx_it.c ****
+ 48:Src/stm32f0xx_it.c **** /* Private function prototypes -----------------------------------------------*/
+ 49:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PFP */
+ 50:Src/stm32f0xx_it.c ****
+ 51:Src/stm32f0xx_it.c **** /* USER CODE END PFP */
+ 52:Src/stm32f0xx_it.c ****
+ 53:Src/stm32f0xx_it.c **** /* Private user code ---------------------------------------------------------*/
+ 54:Src/stm32f0xx_it.c **** /* USER CODE BEGIN 0 */
+ 55:Src/stm32f0xx_it.c ****
+ 56:Src/stm32f0xx_it.c **** /* USER CODE END 0 */
+ 57:Src/stm32f0xx_it.c ****
+ 58:Src/stm32f0xx_it.c **** /* External variables --------------------------------------------------------*/
+ 59:Src/stm32f0xx_it.c **** extern DMA_HandleTypeDef hdma_adc;
+ 60:Src/stm32f0xx_it.c **** extern PCD_HandleTypeDef hpcd_USB_FS;
+ 61:Src/stm32f0xx_it.c ****
+ 62:Src/stm32f0xx_it.c **** /* USER CODE BEGIN EV */
+ 63:Src/stm32f0xx_it.c ****
+ 64:Src/stm32f0xx_it.c **** /* USER CODE END EV */
+ 65:Src/stm32f0xx_it.c ****
+ 66:Src/stm32f0xx_it.c **** /******************************************************************************/
+ 67:Src/stm32f0xx_it.c **** /* Cortex-M0 Processor Interruption and Exception Handlers */
+ 68:Src/stm32f0xx_it.c **** /******************************************************************************/
+ 69:Src/stm32f0xx_it.c **** /**
+ 70:Src/stm32f0xx_it.c **** * @brief This function handles Non maskable interrupt.
+ 71:Src/stm32f0xx_it.c **** */
+ 72:Src/stm32f0xx_it.c **** void NMI_Handler(void)
+ 73:Src/stm32f0xx_it.c **** {
+ 26 .loc 1 73 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 74:Src/stm32f0xx_it.c **** /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+ 75:Src/stm32f0xx_it.c ****
+ 76:Src/stm32f0xx_it.c **** /* USER CODE END NonMaskableInt_IRQn 0 */
+ 77:Src/stm32f0xx_it.c **** /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ 78:Src/stm32f0xx_it.c ****
+ 79:Src/stm32f0xx_it.c **** /* USER CODE END NonMaskableInt_IRQn 1 */
+ 80:Src/stm32f0xx_it.c **** }
+ 31 .loc 1 80 0
+ 32 @ sp needed
+ 33 0000 7047 bx lr
+ 34 .cfi_endproc
+ 35 .LFE40:
+ ARM GAS /tmp/ccxPgspp.s page 3
+
+
+ 37 .section .text.HardFault_Handler,"ax",%progbits
+ 38 .align 1
+ 39 .global HardFault_Handler
+ 40 .syntax unified
+ 41 .code 16
+ 42 .thumb_func
+ 43 .fpu softvfp
+ 45 HardFault_Handler:
+ 46 .LFB41:
+ 81:Src/stm32f0xx_it.c ****
+ 82:Src/stm32f0xx_it.c **** /**
+ 83:Src/stm32f0xx_it.c **** * @brief This function handles Hard fault interrupt.
+ 84:Src/stm32f0xx_it.c **** */
+ 85:Src/stm32f0xx_it.c **** void HardFault_Handler(void)
+ 86:Src/stm32f0xx_it.c **** {
+ 47 .loc 1 86 0
+ 48 .cfi_startproc
+ 49 @ Volatile: function does not return.
+ 50 @ args = 0, pretend = 0, frame = 0
+ 51 @ frame_needed = 0, uses_anonymous_args = 0
+ 52 @ link register save eliminated.
+ 53 .L3:
+ 54 0000 FEE7 b .L3
+ 55 .cfi_endproc
+ 56 .LFE41:
+ 58 .section .text.SVC_Handler,"ax",%progbits
+ 59 .align 1
+ 60 .global SVC_Handler
+ 61 .syntax unified
+ 62 .code 16
+ 63 .thumb_func
+ 64 .fpu softvfp
+ 66 SVC_Handler:
+ 67 .LFB42:
+ 87:Src/stm32f0xx_it.c **** /* USER CODE BEGIN HardFault_IRQn 0 */
+ 88:Src/stm32f0xx_it.c ****
+ 89:Src/stm32f0xx_it.c **** /* USER CODE END HardFault_IRQn 0 */
+ 90:Src/stm32f0xx_it.c **** while (1)
+ 91:Src/stm32f0xx_it.c **** {
+ 92:Src/stm32f0xx_it.c **** /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ 93:Src/stm32f0xx_it.c **** /* USER CODE END W1_HardFault_IRQn 0 */
+ 94:Src/stm32f0xx_it.c **** }
+ 95:Src/stm32f0xx_it.c **** }
+ 96:Src/stm32f0xx_it.c ****
+ 97:Src/stm32f0xx_it.c **** /**
+ 98:Src/stm32f0xx_it.c **** * @brief This function handles System service call via SWI instruction.
+ 99:Src/stm32f0xx_it.c **** */
+ 100:Src/stm32f0xx_it.c **** void SVC_Handler(void)
+ 101:Src/stm32f0xx_it.c **** {
+ 68 .loc 1 101 0
+ 69 .cfi_startproc
+ 70 @ args = 0, pretend = 0, frame = 0
+ 71 @ frame_needed = 0, uses_anonymous_args = 0
+ 72 @ link register save eliminated.
+ 102:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SVC_IRQn 0 */
+ 103:Src/stm32f0xx_it.c ****
+ 104:Src/stm32f0xx_it.c **** /* USER CODE END SVC_IRQn 0 */
+ ARM GAS /tmp/ccxPgspp.s page 4
+
+
+ 105:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SVC_IRQn 1 */
+ 106:Src/stm32f0xx_it.c ****
+ 107:Src/stm32f0xx_it.c **** /* USER CODE END SVC_IRQn 1 */
+ 108:Src/stm32f0xx_it.c **** }
+ 73 .loc 1 108 0
+ 74 @ sp needed
+ 75 0000 7047 bx lr
+ 76 .cfi_endproc
+ 77 .LFE42:
+ 79 .section .text.PendSV_Handler,"ax",%progbits
+ 80 .align 1
+ 81 .global PendSV_Handler
+ 82 .syntax unified
+ 83 .code 16
+ 84 .thumb_func
+ 85 .fpu softvfp
+ 87 PendSV_Handler:
+ 88 .LFB43:
+ 109:Src/stm32f0xx_it.c ****
+ 110:Src/stm32f0xx_it.c **** /**
+ 111:Src/stm32f0xx_it.c **** * @brief This function handles Pendable request for system service.
+ 112:Src/stm32f0xx_it.c **** */
+ 113:Src/stm32f0xx_it.c **** void PendSV_Handler(void)
+ 114:Src/stm32f0xx_it.c **** {
+ 89 .loc 1 114 0
+ 90 .cfi_startproc
+ 91 @ args = 0, pretend = 0, frame = 0
+ 92 @ frame_needed = 0, uses_anonymous_args = 0
+ 93 @ link register save eliminated.
+ 115:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PendSV_IRQn 0 */
+ 116:Src/stm32f0xx_it.c ****
+ 117:Src/stm32f0xx_it.c **** /* USER CODE END PendSV_IRQn 0 */
+ 118:Src/stm32f0xx_it.c **** /* USER CODE BEGIN PendSV_IRQn 1 */
+ 119:Src/stm32f0xx_it.c ****
+ 120:Src/stm32f0xx_it.c **** /* USER CODE END PendSV_IRQn 1 */
+ 121:Src/stm32f0xx_it.c **** }
+ 94 .loc 1 121 0
+ 95 @ sp needed
+ 96 0000 7047 bx lr
+ 97 .cfi_endproc
+ 98 .LFE43:
+ 100 .section .text.SysTick_Handler,"ax",%progbits
+ 101 .align 1
+ 102 .global SysTick_Handler
+ 103 .syntax unified
+ 104 .code 16
+ 105 .thumb_func
+ 106 .fpu softvfp
+ 108 SysTick_Handler:
+ 109 .LFB44:
+ 122:Src/stm32f0xx_it.c ****
+ 123:Src/stm32f0xx_it.c **** /**
+ 124:Src/stm32f0xx_it.c **** * @brief This function handles System tick timer.
+ 125:Src/stm32f0xx_it.c **** */
+ 126:Src/stm32f0xx_it.c **** void SysTick_Handler(void)
+ 127:Src/stm32f0xx_it.c **** {
+ 110 .loc 1 127 0
+ ARM GAS /tmp/ccxPgspp.s page 5
+
+
+ 111 .cfi_startproc
+ 112 @ args = 0, pretend = 0, frame = 0
+ 113 @ frame_needed = 0, uses_anonymous_args = 0
+ 114 0000 10B5 push {r4, lr}
+ 115 .LCFI0:
+ 116 .cfi_def_cfa_offset 8
+ 117 .cfi_offset 4, -8
+ 118 .cfi_offset 14, -4
+ 128:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SysTick_IRQn 0 */
+ 129:Src/stm32f0xx_it.c ****
+ 130:Src/stm32f0xx_it.c **** /* USER CODE END SysTick_IRQn 0 */
+ 131:Src/stm32f0xx_it.c **** HAL_IncTick();
+ 119 .loc 1 131 0
+ 120 0002 FFF7FEFF bl HAL_IncTick
+ 121 .LVL0:
+ 132:Src/stm32f0xx_it.c **** /* USER CODE BEGIN SysTick_IRQn 1 */
+ 133:Src/stm32f0xx_it.c ****
+ 134:Src/stm32f0xx_it.c **** /* USER CODE END SysTick_IRQn 1 */
+ 135:Src/stm32f0xx_it.c **** }
+ 122 .loc 1 135 0
+ 123 @ sp needed
+ 124 0006 10BD pop {r4, pc}
+ 125 .cfi_endproc
+ 126 .LFE44:
+ 128 .section .text.DMA1_Channel1_IRQHandler,"ax",%progbits
+ 129 .align 1
+ 130 .global DMA1_Channel1_IRQHandler
+ 131 .syntax unified
+ 132 .code 16
+ 133 .thumb_func
+ 134 .fpu softvfp
+ 136 DMA1_Channel1_IRQHandler:
+ 137 .LFB45:
+ 136:Src/stm32f0xx_it.c ****
+ 137:Src/stm32f0xx_it.c **** /******************************************************************************/
+ 138:Src/stm32f0xx_it.c **** /* STM32F0xx Peripheral Interrupt Handlers */
+ 139:Src/stm32f0xx_it.c **** /* Add here the Interrupt Handlers for the used peripherals. */
+ 140:Src/stm32f0xx_it.c **** /* For the available peripheral interrupt handler names, */
+ 141:Src/stm32f0xx_it.c **** /* please refer to the startup file (startup_stm32f0xx.s). */
+ 142:Src/stm32f0xx_it.c **** /******************************************************************************/
+ 143:Src/stm32f0xx_it.c ****
+ 144:Src/stm32f0xx_it.c **** /**
+ 145:Src/stm32f0xx_it.c **** * @brief This function handles DMA1 channel 1 global interrupt.
+ 146:Src/stm32f0xx_it.c **** */
+ 147:Src/stm32f0xx_it.c **** void DMA1_Channel1_IRQHandler(void)
+ 148:Src/stm32f0xx_it.c **** {
+ 138 .loc 1 148 0
+ 139 .cfi_startproc
+ 140 @ args = 0, pretend = 0, frame = 0
+ 141 @ frame_needed = 0, uses_anonymous_args = 0
+ 142 0000 10B5 push {r4, lr}
+ 143 .LCFI1:
+ 144 .cfi_def_cfa_offset 8
+ 145 .cfi_offset 4, -8
+ 146 .cfi_offset 14, -4
+ 149:Src/stm32f0xx_it.c **** /* USER CODE BEGIN DMA1_Channel1_IRQn 0 */
+ 150:Src/stm32f0xx_it.c ****
+ ARM GAS /tmp/ccxPgspp.s page 6
+
+
+ 151:Src/stm32f0xx_it.c **** /* USER CODE END DMA1_Channel1_IRQn 0 */
+ 152:Src/stm32f0xx_it.c **** HAL_DMA_IRQHandler(&hdma_adc);
+ 147 .loc 1 152 0
+ 148 0002 0248 ldr r0, .L8
+ 149 0004 FFF7FEFF bl HAL_DMA_IRQHandler
+ 150 .LVL1:
+ 153:Src/stm32f0xx_it.c **** /* USER CODE BEGIN DMA1_Channel1_IRQn 1 */
+ 154:Src/stm32f0xx_it.c ****
+ 155:Src/stm32f0xx_it.c **** /* USER CODE END DMA1_Channel1_IRQn 1 */
+ 156:Src/stm32f0xx_it.c **** }
+ 151 .loc 1 156 0
+ 152 @ sp needed
+ 153 0008 10BD pop {r4, pc}
+ 154 .L9:
+ 155 000a C046 .align 2
+ 156 .L8:
+ 157 000c 00000000 .word hdma_adc
+ 158 .cfi_endproc
+ 159 .LFE45:
+ 161 .section .text.USB_IRQHandler,"ax",%progbits
+ 162 .align 1
+ 163 .global USB_IRQHandler
+ 164 .syntax unified
+ 165 .code 16
+ 166 .thumb_func
+ 167 .fpu softvfp
+ 169 USB_IRQHandler:
+ 170 .LFB46:
+ 157:Src/stm32f0xx_it.c ****
+ 158:Src/stm32f0xx_it.c **** /**
+ 159:Src/stm32f0xx_it.c **** * @brief This function handles USB global Interrupt / USB wake-up interrupt through EXTI line 18.
+ 160:Src/stm32f0xx_it.c **** */
+ 161:Src/stm32f0xx_it.c **** void USB_IRQHandler(void)
+ 162:Src/stm32f0xx_it.c **** {
+ 171 .loc 1 162 0
+ 172 .cfi_startproc
+ 173 @ args = 0, pretend = 0, frame = 0
+ 174 @ frame_needed = 0, uses_anonymous_args = 0
+ 175 0000 10B5 push {r4, lr}
+ 176 .LCFI2:
+ 177 .cfi_def_cfa_offset 8
+ 178 .cfi_offset 4, -8
+ 179 .cfi_offset 14, -4
+ 163:Src/stm32f0xx_it.c **** /* USER CODE BEGIN USB_IRQn 0 */
+ 164:Src/stm32f0xx_it.c ****
+ 165:Src/stm32f0xx_it.c **** /* USER CODE END USB_IRQn 0 */
+ 166:Src/stm32f0xx_it.c **** HAL_PCD_IRQHandler(&hpcd_USB_FS);
+ 180 .loc 1 166 0
+ 181 0002 0248 ldr r0, .L11
+ 182 0004 FFF7FEFF bl HAL_PCD_IRQHandler
+ 183 .LVL2:
+ 167:Src/stm32f0xx_it.c **** /* USER CODE BEGIN USB_IRQn 1 */
+ 168:Src/stm32f0xx_it.c ****
+ 169:Src/stm32f0xx_it.c **** /* USER CODE END USB_IRQn 1 */
+ 170:Src/stm32f0xx_it.c **** }
+ 184 .loc 1 170 0
+ 185 @ sp needed
+ ARM GAS /tmp/ccxPgspp.s page 7
+
+
+ 186 0008 10BD pop {r4, pc}
+ 187 .L12:
+ 188 000a C046 .align 2
+ 189 .L11:
+ 190 000c 00000000 .word hpcd_USB_FS
+ 191 .cfi_endproc
+ 192 .LFE46:
+ 194 .text
+ 195 .Letext0:
+ 196 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 197 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 198 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 199 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 200 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 201 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h"
+ 202 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 203 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 204 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccxPgspp.s page 8
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_it.c
+ /tmp/ccxPgspp.s:16 .text.NMI_Handler:0000000000000000 $t
+ /tmp/ccxPgspp.s:23 .text.NMI_Handler:0000000000000000 NMI_Handler
+ /tmp/ccxPgspp.s:38 .text.HardFault_Handler:0000000000000000 $t
+ /tmp/ccxPgspp.s:45 .text.HardFault_Handler:0000000000000000 HardFault_Handler
+ /tmp/ccxPgspp.s:59 .text.SVC_Handler:0000000000000000 $t
+ /tmp/ccxPgspp.s:66 .text.SVC_Handler:0000000000000000 SVC_Handler
+ /tmp/ccxPgspp.s:80 .text.PendSV_Handler:0000000000000000 $t
+ /tmp/ccxPgspp.s:87 .text.PendSV_Handler:0000000000000000 PendSV_Handler
+ /tmp/ccxPgspp.s:101 .text.SysTick_Handler:0000000000000000 $t
+ /tmp/ccxPgspp.s:108 .text.SysTick_Handler:0000000000000000 SysTick_Handler
+ /tmp/ccxPgspp.s:129 .text.DMA1_Channel1_IRQHandler:0000000000000000 $t
+ /tmp/ccxPgspp.s:136 .text.DMA1_Channel1_IRQHandler:0000000000000000 DMA1_Channel1_IRQHandler
+ /tmp/ccxPgspp.s:157 .text.DMA1_Channel1_IRQHandler:000000000000000c $d
+ /tmp/ccxPgspp.s:162 .text.USB_IRQHandler:0000000000000000 $t
+ /tmp/ccxPgspp.s:169 .text.USB_IRQHandler:0000000000000000 USB_IRQHandler
+ /tmp/ccxPgspp.s:190 .text.USB_IRQHandler:000000000000000c $d
+
+UNDEFINED SYMBOLS
+HAL_IncTick
+HAL_DMA_IRQHandler
+hdma_adc
+HAL_PCD_IRQHandler
+hpcd_USB_FS
diff --git a/fw/midi-dials/build/stm32f0xx_it.o b/fw/midi-dials/build/stm32f0xx_it.o
new file mode 100644
index 0000000..7d1aca0
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_it.o
Binary files differ
diff --git a/fw/midi-dials/build/stm32f0xx_ll_usb.d b/fw/midi-dials/build/stm32f0xx_ll_usb.d
new file mode 100644
index 0000000..571f25b
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_ll_usb.d
@@ -0,0 +1,87 @@
+build/stm32f0xx_ll_usb.o: \
+ Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/stm32f0xx_ll_usb.lst b/fw/midi-dials/build/stm32f0xx_ll_usb.lst
new file mode 100644
index 0000000..ac9d768
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_ll_usb.lst
@@ -0,0 +1,3886 @@
+ARM GAS /tmp/ccalJhl3.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 "stm32f0xx_ll_usb.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USB_CoreInit,"ax",%progbits
+ 16 .align 1
+ 17 .global USB_CoreInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USB_CoreInit:
+ 24 .LFB40:
+ 25 .file 1 "Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c"
+ 1:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 2:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 3:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @file stm32f0xx_ll_usb.c
+ 4:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @author MCD Application Team
+ 5:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB Low Layer HAL module driver.
+ 6:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 7:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This file provides firmware functions to manage the following
+ 8:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * functionalities of the USB Peripheral Controller:
+ 9:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Initialization/de-initialization functions
+ 10:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + I/O operation functions
+ 11:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Peripheral Control functions
+ 12:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * + Peripheral State functions
+ 13:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 14:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** @verbatim
+ 15:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ==============================================================================
+ 16:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ##### How to use this driver #####
+ 17:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ==============================================================================
+ 18:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** [..]
+ 19:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) Fill parameters of Init structure in USB_OTG_CfgTypeDef structure.
+ 20:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 21:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) Call USB_CoreInit() API to initialize the USB Core peripheral.
+ 22:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 23:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (#) The upper HAL HCD/PCD driver will call the right routines for its internal processes.
+ 24:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 25:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** @endverbatim
+ 26:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 27:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @attention
+ 28:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 29:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 30:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * All rights reserved.</center></h2>
+ 31:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 32:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 33:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the "License"; You may not use this file except in compliance with the
+ ARM GAS /tmp/ccalJhl3.s page 2
+
+
+ 34:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * License. You may obtain a copy of the License at:
+ 35:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * opensource.org/licenses/BSD-3-Clause
+ 36:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *
+ 37:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ******************************************************************************
+ 38:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 39:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 40:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Includes ------------------------------------------------------------------*/
+ 41:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #include "stm32f0xx_hal.h"
+ 42:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 43:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /** @addtogroup STM32F0xx_LL_USB_DRIVER
+ 44:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @{
+ 45:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 46:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 47:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if defined (HAL_PCD_MODULE_ENABLED) || defined (HAL_HCD_MODULE_ENABLED)
+ 48:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if defined (USB)
+ 49:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private typedef -----------------------------------------------------------*/
+ 50:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private define ------------------------------------------------------------*/
+ 51:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private macro -------------------------------------------------------------*/
+ 52:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private variables ---------------------------------------------------------*/
+ 53:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private function prototypes -----------------------------------------------*/
+ 54:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Private functions ---------------------------------------------------------*/
+ 55:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 56:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 57:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 58:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Initializes the USB Core
+ 59:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx: USB Instance
+ 60:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param cfg : pointer to a USB_CfgTypeDef structure that contains
+ 61:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the configuration information for the specified USBx peripheral.
+ 62:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 63:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 64:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_CoreInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
+ 65:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 26 .loc 1 65 0
+ 27 .cfi_startproc
+ 28 @ args = 36, pretend = 16, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 32 0000 84B0 sub sp, sp, #16
+ 33 .LCFI0:
+ 34 .cfi_def_cfa_offset 16
+ 35 0002 0191 str r1, [sp, #4]
+ 36 0004 0292 str r2, [sp, #8]
+ 37 0006 0393 str r3, [sp, #12]
+ 66:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 67:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 68:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(cfg);
+ 69:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 70:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 71:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 72:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 73:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 74:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 75:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 76:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 38 .loc 1 76 0
+ 39 0008 0020 movs r0, #0
+ ARM GAS /tmp/ccalJhl3.s page 3
+
+
+ 40 .LVL1:
+ 41 @ sp needed
+ 42 000a 04B0 add sp, sp, #16
+ 43 000c 7047 bx lr
+ 44 .cfi_endproc
+ 45 .LFE40:
+ 47 .section .text.USB_EnableGlobalInt,"ax",%progbits
+ 48 .align 1
+ 49 .global USB_EnableGlobalInt
+ 50 .syntax unified
+ 51 .code 16
+ 52 .thumb_func
+ 53 .fpu softvfp
+ 55 USB_EnableGlobalInt:
+ 56 .LFB41:
+ 77:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 78:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 79:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EnableGlobalInt
+ 80:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * Enables the controller's Global Int in the AHB Config reg
+ 81:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 82:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 83:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 84:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EnableGlobalInt(USB_TypeDef *USBx)
+ 85:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 57 .loc 1 85 0
+ 58 .cfi_startproc
+ 59 @ args = 0, pretend = 0, frame = 0
+ 60 @ frame_needed = 0, uses_anonymous_args = 0
+ 61 @ link register save eliminated.
+ 62 .LVL2:
+ 86:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t winterruptmask;
+ 87:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 88:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set winterruptmask variable */
+ 89:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM |
+ 90:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SUSPM | USB_CNTR_ERRM |
+ 91:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SOFM | USB_CNTR_ESOFM |
+ 92:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_RESETM | USB_CNTR_L1REQM;
+ 93:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 94:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set interrupt mask */
+ 95:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR |= winterruptmask;
+ 63 .loc 1 95 0
+ 64 0000 4022 movs r2, #64
+ 65 0002 835A ldrh r3, [r0, r2]
+ 66 0004 0249 ldr r1, .L3
+ 67 0006 0B43 orrs r3, r1
+ 68 0008 9BB2 uxth r3, r3
+ 69 000a 8352 strh r3, [r0, r2]
+ 96:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 97:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 98:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 70 .loc 1 98 0
+ 71 000c 0020 movs r0, #0
+ 72 .LVL3:
+ 73 @ sp needed
+ 74 000e 7047 bx lr
+ 75 .L4:
+ 76 .align 2
+ ARM GAS /tmp/ccalJhl3.s page 4
+
+
+ 77 .L3:
+ 78 0010 80BFFFFF .word -16512
+ 79 .cfi_endproc
+ 80 .LFE41:
+ 82 .section .text.USB_DisableGlobalInt,"ax",%progbits
+ 83 .align 1
+ 84 .global USB_DisableGlobalInt
+ 85 .syntax unified
+ 86 .code 16
+ 87 .thumb_func
+ 88 .fpu softvfp
+ 90 USB_DisableGlobalInt:
+ 91 .LFB42:
+ 99:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 100:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 101:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DisableGlobalInt
+ 102:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * Disable the controller's Global Int in the AHB Config reg
+ 103:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 104:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 105:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 106:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DisableGlobalInt(USB_TypeDef *USBx)
+ 107:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 92 .loc 1 107 0
+ 93 .cfi_startproc
+ 94 @ args = 0, pretend = 0, frame = 0
+ 95 @ frame_needed = 0, uses_anonymous_args = 0
+ 96 @ link register save eliminated.
+ 97 .LVL4:
+ 108:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t winterruptmask;
+ 109:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 110:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set winterruptmask variable */
+ 111:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** winterruptmask = USB_CNTR_CTRM | USB_CNTR_WKUPM |
+ 112:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SUSPM | USB_CNTR_ERRM |
+ 113:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_SOFM | USB_CNTR_ESOFM |
+ 114:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_CNTR_RESETM | USB_CNTR_L1REQM;
+ 115:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 116:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear interrupt mask */
+ 117:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR &= ~winterruptmask;
+ 98 .loc 1 117 0
+ 99 0000 4022 movs r2, #64
+ 100 0002 835A ldrh r3, [r0, r2]
+ 101 0004 0249 ldr r1, .L6
+ 102 0006 0B40 ands r3, r1
+ 103 0008 8352 strh r3, [r0, r2]
+ 118:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 119:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 120:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 104 .loc 1 120 0
+ 105 000a 0020 movs r0, #0
+ 106 .LVL5:
+ 107 @ sp needed
+ 108 000c 7047 bx lr
+ 109 .L7:
+ 110 000e C046 .align 2
+ 111 .L6:
+ 112 0010 7F400000 .word 16511
+ 113 .cfi_endproc
+ ARM GAS /tmp/ccalJhl3.s page 5
+
+
+ 114 .LFE42:
+ 116 .section .text.USB_SetCurrentMode,"ax",%progbits
+ 117 .align 1
+ 118 .global USB_SetCurrentMode
+ 119 .syntax unified
+ 120 .code 16
+ 121 .thumb_func
+ 122 .fpu softvfp
+ 124 USB_SetCurrentMode:
+ 125 .LFB43:
+ 121:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 122:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 123:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetCurrentMode : Set functional mode
+ 124:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 125:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param mode : current core mode
+ 126:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be one of the these values:
+ 127:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @arg USB_DEVICE_MODE: Peripheral mode mode
+ 128:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 129:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 130:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetCurrentMode(USB_TypeDef *USBx, USB_ModeTypeDef mode)
+ 131:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 126 .loc 1 131 0
+ 127 .cfi_startproc
+ 128 @ args = 0, pretend = 0, frame = 0
+ 129 @ frame_needed = 0, uses_anonymous_args = 0
+ 130 @ link register save eliminated.
+ 131 .LVL6:
+ 132:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 133:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 134:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(mode);
+ 135:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 136:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 137:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 138:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 139:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 140:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 141:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 132 .loc 1 141 0
+ 133 0000 0020 movs r0, #0
+ 134 .LVL7:
+ 135 @ sp needed
+ 136 0002 7047 bx lr
+ 137 .cfi_endproc
+ 138 .LFE43:
+ 140 .section .text.USB_DevInit,"ax",%progbits
+ 141 .align 1
+ 142 .global USB_DevInit
+ 143 .syntax unified
+ 144 .code 16
+ 145 .thumb_func
+ 146 .fpu softvfp
+ 148 USB_DevInit:
+ 149 .LFB44:
+ 142:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 143:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 144:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevInit : Initializes the USB controller registers
+ 145:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * for device mode
+ ARM GAS /tmp/ccalJhl3.s page 6
+
+
+ 146:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 147:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param cfg : pointer to a USB_CfgTypeDef structure that contains
+ 148:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * the configuration information for the specified USBx peripheral.
+ 149:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 150:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 151:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevInit(USB_TypeDef *USBx, USB_CfgTypeDef cfg)
+ 152:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 150 .loc 1 152 0
+ 151 .cfi_startproc
+ 152 @ args = 36, pretend = 16, frame = 0
+ 153 @ frame_needed = 0, uses_anonymous_args = 0
+ 154 .LVL8:
+ 155 0000 84B0 sub sp, sp, #16
+ 156 .LCFI1:
+ 157 .cfi_def_cfa_offset 16
+ 158 0002 10B5 push {r4, lr}
+ 159 .LCFI2:
+ 160 .cfi_def_cfa_offset 24
+ 161 .cfi_offset 4, -24
+ 162 .cfi_offset 14, -20
+ 163 0004 0391 str r1, [sp, #12]
+ 164 0006 0492 str r2, [sp, #16]
+ 165 0008 0593 str r3, [sp, #20]
+ 153:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 154:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(cfg);
+ 155:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 156:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Init Device */
+ 157:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*CNTR_FRES = 1*/
+ 158:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = USB_CNTR_FRES;
+ 166 .loc 1 158 0
+ 167 000a 4022 movs r2, #64
+ 168 000c 0123 movs r3, #1
+ 169 000e 8352 strh r3, [r0, r2]
+ 159:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 160:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*CNTR_FRES = 0*/
+ 161:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = 0;
+ 170 .loc 1 161 0
+ 171 0010 0023 movs r3, #0
+ 172 0012 8352 strh r3, [r0, r2]
+ 162:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 163:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Clear pending interrupts*/
+ 164:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->ISTR = 0;
+ 173 .loc 1 164 0
+ 174 0014 0432 adds r2, r2, #4
+ 175 0016 8352 strh r3, [r0, r2]
+ 165:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 166:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set Btable Address*/
+ 167:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BTABLE = BTABLE_ADDRESS;
+ 176 .loc 1 167 0
+ 177 0018 0C32 adds r2, r2, #12
+ 178 001a 8352 strh r3, [r0, r2]
+ 168:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 169:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Enable USB Device Interrupt mask */
+ 170:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** (void)USB_EnableGlobalInt(USBx);
+ 179 .loc 1 170 0
+ 180 001c FFF7FEFF bl USB_EnableGlobalInt
+ 181 .LVL9:
+ ARM GAS /tmp/ccalJhl3.s page 7
+
+
+ 171:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 172:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 173:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 182 .loc 1 173 0
+ 183 0020 0020 movs r0, #0
+ 184 @ sp needed
+ 185 0022 10BC pop {r4}
+ 186 0024 08BC pop {r3}
+ 187 0026 04B0 add sp, sp, #16
+ 188 0028 1847 bx r3
+ 189 .cfi_endproc
+ 190 .LFE44:
+ 192 .section .text.USB_SetDevSpeed,"ax",%progbits
+ 193 .align 1
+ 194 .global USB_SetDevSpeed
+ 195 .syntax unified
+ 196 .code 16
+ 197 .thumb_func
+ 198 .fpu softvfp
+ 200 USB_SetDevSpeed:
+ 201 .LFB45:
+ 174:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 175:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 176:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetDevSpeed :Initializes the device speed
+ 177:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * depending on the PHY type and the enumeration speed of the device.
+ 178:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 179:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param speed device speed
+ 180:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Hal status
+ 181:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 182:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevSpeed(USB_TypeDef *USBx, uint8_t speed)
+ 183:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 202 .loc 1 183 0
+ 203 .cfi_startproc
+ 204 @ args = 0, pretend = 0, frame = 0
+ 205 @ frame_needed = 0, uses_anonymous_args = 0
+ 206 @ link register save eliminated.
+ 207 .LVL10:
+ 184:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 185:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 186:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(speed);
+ 187:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 188:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 189:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 190:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 191:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 192:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 193:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 194:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 208 .loc 1 194 0
+ 209 0000 0020 movs r0, #0
+ 210 .LVL11:
+ 211 @ sp needed
+ 212 0002 7047 bx lr
+ 213 .cfi_endproc
+ 214 .LFE45:
+ 216 .section .text.USB_FlushTxFifo,"ax",%progbits
+ 217 .align 1
+ ARM GAS /tmp/ccalJhl3.s page 8
+
+
+ 218 .global USB_FlushTxFifo
+ 219 .syntax unified
+ 220 .code 16
+ 221 .thumb_func
+ 222 .fpu softvfp
+ 224 USB_FlushTxFifo:
+ 225 .LFB46:
+ 195:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 196:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 197:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_FlushTxFifo : Flush a Tx FIFO
+ 198:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 199:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param num : FIFO number
+ 200:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 1 to 15
+ 201:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** 15 means Flush all Tx FIFOs
+ 202:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 203:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 204:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushTxFifo(USB_TypeDef *USBx, uint32_t num)
+ 205:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 226 .loc 1 205 0
+ 227 .cfi_startproc
+ 228 @ args = 0, pretend = 0, frame = 0
+ 229 @ frame_needed = 0, uses_anonymous_args = 0
+ 230 @ link register save eliminated.
+ 231 .LVL12:
+ 206:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 207:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 208:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(num);
+ 209:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 210:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 211:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 212:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 213:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 214:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 215:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 216:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 232 .loc 1 216 0
+ 233 0000 0020 movs r0, #0
+ 234 .LVL13:
+ 235 @ sp needed
+ 236 0002 7047 bx lr
+ 237 .cfi_endproc
+ 238 .LFE46:
+ 240 .section .text.USB_FlushRxFifo,"ax",%progbits
+ 241 .align 1
+ 242 .global USB_FlushRxFifo
+ 243 .syntax unified
+ 244 .code 16
+ 245 .thumb_func
+ 246 .fpu softvfp
+ 248 USB_FlushRxFifo:
+ 249 .LFB47:
+ 217:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 218:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 219:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_FlushRxFifo : Flush Rx FIFO
+ 220:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 221:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 222:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ ARM GAS /tmp/ccalJhl3.s page 9
+
+
+ 223:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_FlushRxFifo(USB_TypeDef *USBx)
+ 224:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 250 .loc 1 224 0
+ 251 .cfi_startproc
+ 252 @ args = 0, pretend = 0, frame = 0
+ 253 @ frame_needed = 0, uses_anonymous_args = 0
+ 254 @ link register save eliminated.
+ 255 .LVL14:
+ 225:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 226:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 227:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 228:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 229:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 230:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 231:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 232:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 233:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 234:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 256 .loc 1 234 0
+ 257 0000 0020 movs r0, #0
+ 258 .LVL15:
+ 259 @ sp needed
+ 260 0002 7047 bx lr
+ 261 .cfi_endproc
+ 262 .LFE47:
+ 264 .section .text.USB_ActivateEndpoint,"ax",%progbits
+ 265 .align 1
+ 266 .global USB_ActivateEndpoint
+ 267 .syntax unified
+ 268 .code 16
+ 269 .thumb_func
+ 270 .fpu softvfp
+ 272 USB_ActivateEndpoint:
+ 273 .LFB48:
+ 235:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 236:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 237:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Activate and configure an endpoint
+ 238:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 239:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 240:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 241:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 242:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 243:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 274 .loc 1 243 0
+ 275 .cfi_startproc
+ 276 @ args = 0, pretend = 0, frame = 0
+ 277 @ frame_needed = 0, uses_anonymous_args = 0
+ 278 .LVL16:
+ 279 0000 F0B5 push {r4, r5, r6, r7, lr}
+ 280 .LCFI3:
+ 281 .cfi_def_cfa_offset 20
+ 282 .cfi_offset 4, -20
+ 283 .cfi_offset 5, -16
+ 284 .cfi_offset 6, -12
+ 285 .cfi_offset 7, -8
+ 286 .cfi_offset 14, -4
+ 287 .LVL17:
+ ARM GAS /tmp/ccalJhl3.s page 10
+
+
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef ret = HAL_OK;
+ 245:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 246:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 247:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal = PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_T_MASK;
+ 288 .loc 1 247 0
+ 289 0002 0D78 ldrb r5, [r1]
+ 290 0004 AD00 lsls r5, r5, #2
+ 291 0006 4519 adds r5, r0, r5
+ 292 0008 2B88 ldrh r3, [r5]
+ 293 000a B14A ldr r2, .L39
+ 294 000c 1340 ands r3, r2
+ 295 .LVL18:
+ 248:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 249:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* initialize Endpoint */
+ 250:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** switch (ep->type)
+ 296 .loc 1 250 0
+ 297 000e CA78 ldrb r2, [r1, #3]
+ 298 0010 012A cmp r2, #1
+ 299 0012 54D0 beq .L15
+ 300 0014 002A cmp r2, #0
+ 301 0016 48D0 beq .L16
+ 302 0018 022A cmp r2, #2
+ 303 001a 03D0 beq .L17
+ 304 001c 032A cmp r2, #3
+ 305 001e 49D0 beq .L18
+ 251:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 252:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_CTRL:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_CONTROL;
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 255:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 256:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_BULK:
+ 257:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_BULK;
+ 258:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 259:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 260:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_INTR:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_INTERRUPT;
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 263:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 264:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** case EP_TYPE_ISOC:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** wEpRegVal |= USB_EP_ISOCHRONOUS;
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 267:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 268:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** default:
+ 269:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ret = HAL_ERROR;
+ 306 .loc 1 269 0
+ 307 0020 0124 movs r4, #1
+ 308 0022 00E0 b .L14
+ 309 .L17:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 310 .loc 1 244 0
+ 311 0024 0024 movs r4, #0
+ 312 .L14:
+ 313 .LVL19:
+ 270:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 271:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 272:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 273:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_ENDPOINT(USBx, ep->num, wEpRegVal | USB_EP_CTR_RX | USB_EP_CTR_TX);
+ ARM GAS /tmp/ccalJhl3.s page 11
+
+
+ 314 .loc 1 273 0
+ 315 0026 AB4A ldr r2, .L39+4
+ 316 0028 1343 orrs r3, r2
+ 317 .LVL20:
+ 318 002a 9BB2 uxth r3, r3
+ 319 002c 2B80 strh r3, [r5]
+ 320 .LBB2:
+ 274:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 275:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_ADDRESS(USBx, ep->num, ep->num);
+ 321 .loc 1 275 0
+ 322 002e 0B78 ldrb r3, [r1]
+ 323 0030 9E00 lsls r6, r3, #2
+ 324 0032 8619 adds r6, r0, r6
+ 325 0034 3588 ldrh r5, [r6]
+ 326 0036 2DB2 sxth r5, r5
+ 327 0038 A74F ldr r7, .L39+8
+ 328 003a 3D40 ands r5, r7
+ 329 003c 2B43 orrs r3, r5
+ 330 003e 9BB2 uxth r3, r3
+ 331 .LVL21:
+ 332 0040 1A43 orrs r2, r3
+ 333 0042 92B2 uxth r2, r2
+ 334 0044 3280 strh r2, [r6]
+ 335 .LBE2:
+ 276:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 277:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 336 .loc 1 277 0
+ 337 0046 0B7B ldrb r3, [r1, #12]
+ 338 .LVL22:
+ 339 0048 002B cmp r3, #0
+ 340 004a 00D0 beq .LCB243
+ 341 004c 94E0 b .L19 @long jump
+ 342 .LCB243:
+ 278:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 279:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 343 .loc 1 279 0
+ 344 004e 4B78 ldrb r3, [r1, #1]
+ 345 0050 002B cmp r3, #0
+ 346 0052 44D0 beq .L20
+ 347 .LVL23:
+ 348 .LBB3:
+ 280:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 281:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Transmit buffer address */
+ 282:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_ADDRESS(USBx, ep->num, ep->pmaadress);
+ 349 .loc 1 282 0
+ 350 0054 5023 movs r3, #80
+ 351 0056 C25A ldrh r2, [r0, r3]
+ 352 0058 8218 adds r2, r0, r2
+ 353 .LVL24:
+ 354 005a 0B78 ldrb r3, [r1]
+ 355 005c DB00 lsls r3, r3, #3
+ 356 005e 9B18 adds r3, r3, r2
+ 357 0060 8022 movs r2, #128
+ 358 .LVL25:
+ 359 0062 D200 lsls r2, r2, #3
+ 360 0064 9446 mov ip, r2
+ 361 0066 6344 add r3, r3, ip
+ ARM GAS /tmp/ccalJhl3.s page 12
+
+
+ 362 .LVL26:
+ 363 0068 CA88 ldrh r2, [r1, #6]
+ 364 006a 5208 lsrs r2, r2, #1
+ 365 006c 5200 lsls r2, r2, #1
+ 366 006e 1A80 strh r2, [r3]
+ 367 .LBE3:
+ 368 .LBB4:
+ 283:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 369 .loc 1 283 0
+ 370 0070 0B78 ldrb r3, [r1]
+ 371 .LVL27:
+ 372 0072 9B00 lsls r3, r3, #2
+ 373 0074 C318 adds r3, r0, r3
+ 374 0076 1A88 ldrh r2, [r3]
+ 375 .LVL28:
+ 376 0078 5206 lsls r2, r2, #25
+ 377 007a 06D5 bpl .L21
+ 378 .LVL29:
+ 379 .LBB5:
+ 380 .loc 1 283 0 is_stmt 0 discriminator 1
+ 381 007c 1A88 ldrh r2, [r3]
+ 382 007e 3D00 movs r5, r7
+ 383 0080 1540 ands r5, r2
+ 384 .LVL30:
+ 385 0082 964A ldr r2, .L39+12
+ 386 0084 2A43 orrs r2, r5
+ 387 0086 92B2 uxth r2, r2
+ 388 0088 1A80 strh r2, [r3]
+ 389 .LVL31:
+ 390 .L21:
+ 391 .LBE5:
+ 392 .LBE4:
+ 284:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 285:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 393 .loc 1 285 0 is_stmt 1
+ 394 008a CB78 ldrb r3, [r1, #3]
+ 395 008c 012B cmp r3, #1
+ 396 008e 1BD0 beq .L22
+ 397 .LBB6:
+ 286:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 287:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 288:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 398 .loc 1 288 0
+ 399 0090 0B78 ldrb r3, [r1]
+ 400 0092 9B00 lsls r3, r3, #2
+ 401 0094 C018 adds r0, r0, r3
+ 402 .LVL32:
+ 403 0096 0388 ldrh r3, [r0]
+ 404 0098 914A ldr r2, .L39+16
+ 405 009a 1340 ands r3, r2
+ 406 .LVL33:
+ 407 009c 2022 movs r2, #32
+ 408 009e 5A40 eors r2, r3
+ 409 .LVL34:
+ 410 00a0 8C4B ldr r3, .L39+4
+ 411 00a2 1343 orrs r3, r2
+ 412 00a4 9BB2 uxth r3, r3
+ ARM GAS /tmp/ccalJhl3.s page 13
+
+
+ 413 00a6 0380 strh r3, [r0]
+ 414 .LBE6:
+ 415 00a8 51E0 b .L23
+ 416 .LVL35:
+ 417 .L16:
+ 253:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 418 .loc 1 253 0
+ 419 00aa 8022 movs r2, #128
+ 420 00ac 9200 lsls r2, r2, #2
+ 421 00ae 1343 orrs r3, r2
+ 422 .LVL36:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 423 .loc 1 244 0
+ 424 00b0 0024 movs r4, #0
+ 254:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 425 .loc 1 254 0
+ 426 00b2 B8E7 b .L14
+ 427 .L18:
+ 261:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 428 .loc 1 261 0
+ 429 00b4 C022 movs r2, #192
+ 430 00b6 D200 lsls r2, r2, #3
+ 431 00b8 1343 orrs r3, r2
+ 432 .LVL37:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 433 .loc 1 244 0
+ 434 00ba 0024 movs r4, #0
+ 262:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 435 .loc 1 262 0
+ 436 00bc B3E7 b .L14
+ 437 .L15:
+ 265:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** break;
+ 438 .loc 1 265 0
+ 439 00be 8022 movs r2, #128
+ 440 00c0 D200 lsls r2, r2, #3
+ 441 00c2 1343 orrs r3, r2
+ 442 .LVL38:
+ 244:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t wEpRegVal;
+ 443 .loc 1 244 0
+ 444 00c4 0024 movs r4, #0
+ 266:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 445 .loc 1 266 0
+ 446 00c6 AEE7 b .L14
+ 447 .LVL39:
+ 448 .L22:
+ 449 .LBB7:
+ 289:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 290:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 291:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 292:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure TX Endpoint to disabled state */
+ 293:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 450 .loc 1 293 0
+ 451 00c8 0B78 ldrb r3, [r1]
+ 452 00ca 9B00 lsls r3, r3, #2
+ 453 00cc C018 adds r0, r0, r3
+ 454 .LVL40:
+ 455 00ce 0388 ldrh r3, [r0]
+ ARM GAS /tmp/ccalJhl3.s page 14
+
+
+ 456 00d0 834A ldr r2, .L39+16
+ 457 00d2 1A40 ands r2, r3
+ 458 .LVL41:
+ 459 00d4 7F4B ldr r3, .L39+4
+ 460 00d6 1343 orrs r3, r2
+ 461 00d8 9BB2 uxth r3, r3
+ 462 00da 0380 strh r3, [r0]
+ 463 00dc 37E0 b .L23
+ 464 .LVL42:
+ 465 .L20:
+ 466 .LBE7:
+ 467 .LBB8:
+ 294:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 295:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 296:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 297:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 298:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Receive buffer address */
+ 299:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_ADDRESS(USBx, ep->num, ep->pmaadress);
+ 468 .loc 1 299 0
+ 469 00de 5025 movs r5, #80
+ 470 00e0 425B ldrh r2, [r0, r5]
+ 471 00e2 8218 adds r2, r0, r2
+ 472 .LVL43:
+ 473 00e4 0B78 ldrb r3, [r1]
+ 474 00e6 DB00 lsls r3, r3, #3
+ 475 00e8 9B18 adds r3, r3, r2
+ 476 00ea 7E4A ldr r2, .L39+20
+ 477 .LVL44:
+ 478 00ec 9446 mov ip, r2
+ 479 00ee 6344 add r3, r3, ip
+ 480 .LVL45:
+ 481 00f0 CA88 ldrh r2, [r1, #6]
+ 482 00f2 5208 lsrs r2, r2, #1
+ 483 00f4 5200 lsls r2, r2, #1
+ 484 00f6 1A80 strh r2, [r3]
+ 485 .LVL46:
+ 486 .LBE8:
+ 487 .LBB9:
+ 300:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the endpoint Receive buffer counter*/
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_CNT(USBx, ep->num, ep->maxpacket);
+ 488 .loc 1 301 0
+ 489 00f8 425B ldrh r2, [r0, r5]
+ 490 00fa 8218 adds r2, r0, r2
+ 491 .LVL47:
+ 492 00fc 0B78 ldrb r3, [r1]
+ 493 .LVL48:
+ 494 00fe DB00 lsls r3, r3, #3
+ 495 0100 9B18 adds r3, r3, r2
+ 496 0102 794A ldr r2, .L39+24
+ 497 .LVL49:
+ 498 0104 9446 mov ip, r2
+ 499 0106 6344 add r3, r3, ip
+ 500 .LVL50:
+ 501 .LBB10:
+ 502 0108 0A69 ldr r2, [r1, #16]
+ 503 010a 002A cmp r2, #0
+ 504 010c 21D1 bne .L24
+ ARM GAS /tmp/ccalJhl3.s page 15
+
+
+ 505 .loc 1 301 0 is_stmt 0 discriminator 1
+ 506 010e 1A88 ldrh r2, [r3]
+ 507 0110 764D ldr r5, .L39+28
+ 508 0112 1540 ands r5, r2
+ 509 0114 764A ldr r2, .L39+32
+ 510 0116 2A43 orrs r2, r5
+ 511 0118 1A80 strh r2, [r3]
+ 512 .L25:
+ 513 .LBE10:
+ 514 .LBE9:
+ 515 .LBB12:
+ 302:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 516 .loc 1 302 0 is_stmt 1
+ 517 011a 0B78 ldrb r3, [r1]
+ 518 .LVL51:
+ 519 011c 9B00 lsls r3, r3, #2
+ 520 011e C318 adds r3, r0, r3
+ 521 0120 1A88 ldrh r2, [r3]
+ 522 .LVL52:
+ 523 0122 5204 lsls r2, r2, #17
+ 524 0124 06D5 bpl .L29
+ 525 .LVL53:
+ 526 .LBB13:
+ 527 .loc 1 302 0 is_stmt 0 discriminator 1
+ 528 0126 1A88 ldrh r2, [r3]
+ 529 0128 6B4D ldr r5, .L39+8
+ 530 012a 1540 ands r5, r2
+ 531 .LVL54:
+ 532 012c 714A ldr r2, .L39+36
+ 533 012e 2A43 orrs r2, r5
+ 534 0130 92B2 uxth r2, r2
+ 535 0132 1A80 strh r2, [r3]
+ 536 .LVL55:
+ 537 .L29:
+ 538 .LBE13:
+ 539 .LBE12:
+ 540 .LBB14:
+ 303:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure VALID status for the Endpoint*/
+ 304:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 541 .loc 1 304 0 is_stmt 1
+ 542 0134 0B78 ldrb r3, [r1]
+ 543 0136 9B00 lsls r3, r3, #2
+ 544 0138 C018 adds r0, r0, r3
+ 545 .LVL56:
+ 546 013a 0288 ldrh r2, [r0]
+ 547 013c 6E4B ldr r3, .L39+40
+ 548 013e 1A40 ands r2, r3
+ 549 .LVL57:
+ 550 0140 C023 movs r3, #192
+ 551 0142 9B01 lsls r3, r3, #6
+ 552 0144 5A40 eors r2, r3
+ 553 .LVL58:
+ 554 0146 634B ldr r3, .L39+4
+ 555 0148 1343 orrs r3, r2
+ 556 014a 9BB2 uxth r3, r3
+ 557 014c 0380 strh r3, [r0]
+ 558 .LVL59:
+ ARM GAS /tmp/ccalJhl3.s page 16
+
+
+ 559 .L23:
+ 560 .LBE14:
+ 305:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 306:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 307:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Double Buffer*/
+ 308:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 309:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 310:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the endpoint as double buffered */
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF(USBx, ep->num);
+ 312:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set buffer address for double buffered mode */
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF_ADDR(USBx, ep->num, ep->pmaaddr0, ep->pmaaddr1);
+ 314:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 0U)
+ 316:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 317:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT */
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 320:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 321:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Reset value of the data toggle bits for the endpoint out */
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_TX_DTOG(USBx, ep->num);
+ 323:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 326:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 327:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 328:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 329:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT */
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 333:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 335:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 336:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 338:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 339:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 340:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 341:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure TX Endpoint to disabled state */
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 343:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 344:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 346:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 347:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 348:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 349:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return ret;
+ 350:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 561 .loc 1 350 0
+ 562 014e 2000 movs r0, r4
+ 563 @ sp needed
+ 564 .LVL60:
+ 565 0150 F0BD pop {r4, r5, r6, r7, pc}
+ 566 .LVL61:
+ 567 .L24:
+ 568 .LBB15:
+ 569 .LBB11:
+ ARM GAS /tmp/ccalJhl3.s page 17
+
+
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 570 .loc 1 301 0 discriminator 2
+ 571 0152 3E2A cmp r2, #62
+ 572 0154 06D8 bhi .L26
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 573 .loc 1 301 0 is_stmt 0 discriminator 3
+ 574 0156 5508 lsrs r5, r2, #1
+ 575 .LVL62:
+ 576 0158 D207 lsls r2, r2, #31
+ 577 015a 00D5 bpl .L27
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 578 .loc 1 301 0 discriminator 5
+ 579 015c 0135 adds r5, r5, #1
+ 580 .LVL63:
+ 581 .L27:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 582 .loc 1 301 0 discriminator 7
+ 583 015e AD02 lsls r5, r5, #10
+ 584 .LVL64:
+ 585 0160 1D80 strh r5, [r3]
+ 586 0162 DAE7 b .L25
+ 587 .L26:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 588 .loc 1 301 0 discriminator 4
+ 589 0164 5509 lsrs r5, r2, #5
+ 590 .LVL65:
+ 591 0166 D206 lsls r2, r2, #27
+ 592 0168 00D1 bne .L28
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 593 .loc 1 301 0 discriminator 8
+ 594 016a 013D subs r5, r5, #1
+ 595 .LVL66:
+ 596 .L28:
+ 301:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 597 .loc 1 301 0 discriminator 10
+ 598 016c AD02 lsls r5, r5, #10
+ 599 .LVL67:
+ 600 016e ADB2 uxth r5, r5
+ 601 0170 5F4A ldr r2, .L39+32
+ 602 0172 1543 orrs r5, r2
+ 603 0174 1D80 strh r5, [r3]
+ 604 0176 D0E7 b .L25
+ 605 .LVL68:
+ 606 .L19:
+ 607 .LBE11:
+ 608 .LBE15:
+ 609 .LBB16:
+ 311:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set buffer address for double buffered mode */
+ 610 .loc 1 311 0 is_stmt 1
+ 611 0178 0B78 ldrb r3, [r1]
+ 612 017a 9B00 lsls r3, r3, #2
+ 613 017c C318 adds r3, r0, r3
+ 614 017e 1A88 ldrh r2, [r3]
+ 615 0180 554D ldr r5, .L39+8
+ 616 0182 1540 ands r5, r2
+ 617 .LVL69:
+ 618 0184 5D4A ldr r2, .L39+44
+ ARM GAS /tmp/ccalJhl3.s page 18
+
+
+ 619 0186 2A43 orrs r2, r5
+ 620 0188 92B2 uxth r2, r2
+ 621 018a 1A80 strh r2, [r3]
+ 622 .LVL70:
+ 623 .LBE16:
+ 624 .LBB17:
+ 313:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 625 .loc 1 313 0
+ 626 018c 5025 movs r5, #80
+ 627 .LVL71:
+ 628 018e 425B ldrh r2, [r0, r5]
+ 629 0190 8218 adds r2, r0, r2
+ 630 .LVL72:
+ 631 0192 0B78 ldrb r3, [r1]
+ 632 0194 DB00 lsls r3, r3, #3
+ 633 0196 9B18 adds r3, r3, r2
+ 634 0198 8022 movs r2, #128
+ 635 .LVL73:
+ 636 019a D200 lsls r2, r2, #3
+ 637 019c 9446 mov ip, r2
+ 638 019e 6344 add r3, r3, ip
+ 639 .LVL74:
+ 640 01a0 0A89 ldrh r2, [r1, #8]
+ 641 01a2 5208 lsrs r2, r2, #1
+ 642 01a4 5200 lsls r2, r2, #1
+ 643 01a6 1A80 strh r2, [r3]
+ 644 .LVL75:
+ 645 .LBE17:
+ 646 .LBB18:
+ 647 01a8 425B ldrh r2, [r0, r5]
+ 648 01aa 8218 adds r2, r0, r2
+ 649 .LVL76:
+ 650 01ac 0B78 ldrb r3, [r1]
+ 651 .LVL77:
+ 652 01ae DB00 lsls r3, r3, #3
+ 653 01b0 9B18 adds r3, r3, r2
+ 654 01b2 4C4A ldr r2, .L39+20
+ 655 .LVL78:
+ 656 01b4 9446 mov ip, r2
+ 657 01b6 6344 add r3, r3, ip
+ 658 .LVL79:
+ 659 01b8 4A89 ldrh r2, [r1, #10]
+ 660 01ba 5208 lsrs r2, r2, #1
+ 661 01bc 5200 lsls r2, r2, #1
+ 662 01be 1A80 strh r2, [r3]
+ 663 .LBE18:
+ 315:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 664 .loc 1 315 0
+ 665 01c0 4B78 ldrb r3, [r1, #1]
+ 666 .LVL80:
+ 667 01c2 002B cmp r3, #0
+ 668 01c4 3AD1 bne .L30
+ 669 .LBB19:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 670 .loc 1 318 0
+ 671 01c6 0B78 ldrb r3, [r1]
+ 672 01c8 9B00 lsls r3, r3, #2
+ ARM GAS /tmp/ccalJhl3.s page 19
+
+
+ 673 01ca C318 adds r3, r0, r3
+ 674 01cc 1A88 ldrh r2, [r3]
+ 675 .LVL81:
+ 676 01ce 5204 lsls r2, r2, #17
+ 677 01d0 06D5 bpl .L31
+ 678 .LVL82:
+ 679 .LBB20:
+ 318:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 680 .loc 1 318 0 is_stmt 0 discriminator 1
+ 681 01d2 1A88 ldrh r2, [r3]
+ 682 01d4 404D ldr r5, .L39+8
+ 683 01d6 1540 ands r5, r2
+ 684 .LVL83:
+ 685 01d8 464A ldr r2, .L39+36
+ 686 01da 2A43 orrs r2, r5
+ 687 01dc 92B2 uxth r2, r2
+ 688 01de 1A80 strh r2, [r3]
+ 689 .LVL84:
+ 690 .L31:
+ 691 .LBE20:
+ 692 .LBE19:
+ 693 .LBB21:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 694 .loc 1 319 0 is_stmt 1
+ 695 01e0 0B78 ldrb r3, [r1]
+ 696 01e2 9B00 lsls r3, r3, #2
+ 697 01e4 C318 adds r3, r0, r3
+ 698 01e6 1A88 ldrh r2, [r3]
+ 699 .LVL85:
+ 700 01e8 5206 lsls r2, r2, #25
+ 701 01ea 06D5 bpl .L32
+ 702 .LVL86:
+ 703 .LBB22:
+ 319:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 704 .loc 1 319 0 is_stmt 0 discriminator 1
+ 705 01ec 1A88 ldrh r2, [r3]
+ 706 01ee 3A4D ldr r5, .L39+8
+ 707 01f0 1540 ands r5, r2
+ 708 .LVL87:
+ 709 01f2 3A4A ldr r2, .L39+12
+ 710 01f4 2A43 orrs r2, r5
+ 711 01f6 92B2 uxth r2, r2
+ 712 01f8 1A80 strh r2, [r3]
+ 713 .LVL88:
+ 714 .L32:
+ 715 .LBE22:
+ 716 .LBE21:
+ 717 .LBB23:
+ 322:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 718 .loc 1 322 0 is_stmt 1
+ 719 01fa 0B78 ldrb r3, [r1]
+ 720 01fc 9B00 lsls r3, r3, #2
+ 721 01fe C318 adds r3, r0, r3
+ 722 0200 1A88 ldrh r2, [r3]
+ 723 0202 354D ldr r5, .L39+8
+ 724 0204 1540 ands r5, r2
+ 725 .LVL89:
+ ARM GAS /tmp/ccalJhl3.s page 20
+
+
+ 726 0206 354A ldr r2, .L39+12
+ 727 0208 2A43 orrs r2, r5
+ 728 020a 92B2 uxth r2, r2
+ 729 020c 1A80 strh r2, [r3]
+ 730 .LBE23:
+ 731 .LBB24:
+ 324:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 732 .loc 1 324 0
+ 733 020e 0A78 ldrb r2, [r1]
+ 734 0210 9200 lsls r2, r2, #2
+ 735 0212 8218 adds r2, r0, r2
+ 736 0214 1388 ldrh r3, [r2]
+ 737 0216 384D ldr r5, .L39+40
+ 738 .LVL90:
+ 739 0218 1D40 ands r5, r3
+ 740 .LVL91:
+ 741 021a C023 movs r3, #192
+ 742 021c 9B01 lsls r3, r3, #6
+ 743 021e 6B40 eors r3, r5
+ 744 .LVL92:
+ 745 0220 2C4D ldr r5, .L39+4
+ 746 0222 2B43 orrs r3, r5
+ 747 .LVL93:
+ 748 0224 9BB2 uxth r3, r3
+ 749 0226 1380 strh r3, [r2]
+ 750 .LBE24:
+ 751 .LBB25:
+ 325:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 752 .loc 1 325 0
+ 753 0228 0B78 ldrb r3, [r1]
+ 754 022a 9B00 lsls r3, r3, #2
+ 755 022c C018 adds r0, r0, r3
+ 756 .LVL94:
+ 757 022e 0388 ldrh r3, [r0]
+ 758 0230 2B4A ldr r2, .L39+16
+ 759 0232 1340 ands r3, r2
+ 760 .LVL95:
+ 761 0234 2B43 orrs r3, r5
+ 762 .LVL96:
+ 763 0236 9BB2 uxth r3, r3
+ 764 0238 0380 strh r3, [r0]
+ 765 .LBE25:
+ 766 023a 88E7 b .L23
+ 767 .LVL97:
+ 768 .L30:
+ 769 .LBB26:
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 770 .loc 1 330 0
+ 771 023c 0B78 ldrb r3, [r1]
+ 772 023e 9B00 lsls r3, r3, #2
+ 773 0240 C318 adds r3, r0, r3
+ 774 0242 1A88 ldrh r2, [r3]
+ 775 .LVL98:
+ 776 0244 5204 lsls r2, r2, #17
+ 777 0246 06D5 bpl .L33
+ 778 .LVL99:
+ 779 .LBB27:
+ ARM GAS /tmp/ccalJhl3.s page 21
+
+
+ 330:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 780 .loc 1 330 0 is_stmt 0 discriminator 1
+ 781 0248 1A88 ldrh r2, [r3]
+ 782 024a 234D ldr r5, .L39+8
+ 783 024c 1540 ands r5, r2
+ 784 .LVL100:
+ 785 024e 294A ldr r2, .L39+36
+ 786 0250 2A43 orrs r2, r5
+ 787 0252 92B2 uxth r2, r2
+ 788 0254 1A80 strh r2, [r3]
+ 789 .LVL101:
+ 790 .L33:
+ 791 .LBE27:
+ 792 .LBE26:
+ 793 .LBB28:
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 794 .loc 1 331 0 is_stmt 1
+ 795 0256 0B78 ldrb r3, [r1]
+ 796 0258 9B00 lsls r3, r3, #2
+ 797 025a C318 adds r3, r0, r3
+ 798 025c 1A88 ldrh r2, [r3]
+ 799 .LVL102:
+ 800 025e 5206 lsls r2, r2, #25
+ 801 0260 06D5 bpl .L34
+ 802 .LVL103:
+ 803 .LBB29:
+ 331:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 804 .loc 1 331 0 is_stmt 0 discriminator 1
+ 805 0262 1A88 ldrh r2, [r3]
+ 806 0264 1C4D ldr r5, .L39+8
+ 807 0266 1540 ands r5, r2
+ 808 .LVL104:
+ 809 0268 1C4A ldr r2, .L39+12
+ 810 026a 2A43 orrs r2, r5
+ 811 026c 92B2 uxth r2, r2
+ 812 026e 1A80 strh r2, [r3]
+ 813 .LVL105:
+ 814 .L34:
+ 815 .LBE29:
+ 816 .LBE28:
+ 817 .LBB30:
+ 332:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 818 .loc 1 332 0 is_stmt 1
+ 819 0270 0B78 ldrb r3, [r1]
+ 820 0272 9B00 lsls r3, r3, #2
+ 821 0274 C318 adds r3, r0, r3
+ 822 0276 1A88 ldrh r2, [r3]
+ 823 0278 174D ldr r5, .L39+8
+ 824 027a 1540 ands r5, r2
+ 825 .LVL106:
+ 826 027c 1D4A ldr r2, .L39+36
+ 827 027e 2A43 orrs r2, r5
+ 828 0280 92B2 uxth r2, r2
+ 829 0282 1A80 strh r2, [r3]
+ 830 .LBE30:
+ 334:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 831 .loc 1 334 0
+ ARM GAS /tmp/ccalJhl3.s page 22
+
+
+ 832 0284 CB78 ldrb r3, [r1, #3]
+ 833 0286 012B cmp r3, #1
+ 834 0288 16D0 beq .L35
+ 835 .LBB31:
+ 337:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 836 .loc 1 337 0
+ 837 028a 0B78 ldrb r3, [r1]
+ 838 028c 9B00 lsls r3, r3, #2
+ 839 028e C318 adds r3, r0, r3
+ 840 0290 1A88 ldrh r2, [r3]
+ 841 0292 134D ldr r5, .L39+16
+ 842 .LVL107:
+ 843 0294 2A40 ands r2, r5
+ 844 .LVL108:
+ 845 0296 2025 movs r5, #32
+ 846 0298 5540 eors r5, r2
+ 847 .LVL109:
+ 848 029a 0E4A ldr r2, .L39+4
+ 849 029c 2A43 orrs r2, r5
+ 850 029e 92B2 uxth r2, r2
+ 851 02a0 1A80 strh r2, [r3]
+ 852 .LVL110:
+ 853 .L36:
+ 854 .LBE31:
+ 855 .LBB32:
+ 345:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 856 .loc 1 345 0
+ 857 02a2 0B78 ldrb r3, [r1]
+ 858 02a4 9B00 lsls r3, r3, #2
+ 859 02a6 C318 adds r3, r0, r3
+ 860 02a8 1A88 ldrh r2, [r3]
+ 861 02aa 1349 ldr r1, .L39+40
+ 862 .LVL111:
+ 863 02ac 1140 ands r1, r2
+ 864 .LVL112:
+ 865 02ae 094A ldr r2, .L39+4
+ 866 02b0 0A43 orrs r2, r1
+ 867 02b2 92B2 uxth r2, r2
+ 868 02b4 1A80 strh r2, [r3]
+ 869 02b6 4AE7 b .L23
+ 870 .LVL113:
+ 871 .L35:
+ 872 .LBE32:
+ 873 .LBB33:
+ 342:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 874 .loc 1 342 0
+ 875 02b8 0B78 ldrb r3, [r1]
+ 876 02ba 9B00 lsls r3, r3, #2
+ 877 02bc C318 adds r3, r0, r3
+ 878 02be 1A88 ldrh r2, [r3]
+ 879 02c0 074D ldr r5, .L39+16
+ 880 .LVL114:
+ 881 02c2 1540 ands r5, r2
+ 882 .LVL115:
+ 883 02c4 034A ldr r2, .L39+4
+ 884 02c6 2A43 orrs r2, r5
+ 885 02c8 92B2 uxth r2, r2
+ ARM GAS /tmp/ccalJhl3.s page 23
+
+
+ 886 02ca 1A80 strh r2, [r3]
+ 887 02cc E9E7 b .L36
+ 888 .L40:
+ 889 02ce C046 .align 2
+ 890 .L39:
+ 891 02d0 8F89FFFF .word -30321
+ 892 02d4 8080FFFF .word -32640
+ 893 02d8 8F8FFFFF .word -28785
+ 894 02dc C080FFFF .word -32576
+ 895 02e0 BF8FFFFF .word -28737
+ 896 02e4 04040000 .word 1028
+ 897 02e8 06040000 .word 1030
+ 898 02ec FF83FFFF .word -31745
+ 899 02f0 0080FFFF .word -32768
+ 900 02f4 80C0FFFF .word -16256
+ 901 02f8 8FBFFFFF .word -16497
+ 902 02fc 8081FFFF .word -32384
+ 903 .LBE33:
+ 904 .cfi_endproc
+ 905 .LFE48:
+ 907 .section .text.USB_DeactivateEndpoint,"ax",%progbits
+ 908 .align 1
+ 909 .global USB_DeactivateEndpoint
+ 910 .syntax unified
+ 911 .code 16
+ 912 .thumb_func
+ 913 .fpu softvfp
+ 915 USB_DeactivateEndpoint:
+ 916 .LFB49:
+ 351:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 352:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 353:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief De-activate and de-initialize an endpoint
+ 354:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 355:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 356:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 357:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 358:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DeactivateEndpoint(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 359:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 917 .loc 1 359 0
+ 918 .cfi_startproc
+ 919 @ args = 0, pretend = 0, frame = 0
+ 920 @ frame_needed = 0, uses_anonymous_args = 0
+ 921 .LVL116:
+ 922 0000 10B5 push {r4, lr}
+ 923 .LCFI4:
+ 924 .cfi_def_cfa_offset 8
+ 925 .cfi_offset 4, -8
+ 926 .cfi_offset 14, -4
+ 360:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 927 .loc 1 360 0
+ 928 0002 0B7B ldrb r3, [r1, #12]
+ 929 0004 002B cmp r3, #0
+ 930 0006 33D1 bne .L42
+ 361:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 362:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 931 .loc 1 362 0
+ 932 0008 4B78 ldrb r3, [r1, #1]
+ ARM GAS /tmp/ccalJhl3.s page 24
+
+
+ 933 000a 002B cmp r3, #0
+ 934 000c 18D0 beq .L43
+ 935 .LBB34:
+ 363:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 364:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 936 .loc 1 364 0
+ 937 000e 0B78 ldrb r3, [r1]
+ 938 0010 9B00 lsls r3, r3, #2
+ 939 0012 C318 adds r3, r0, r3
+ 940 0014 1A88 ldrh r2, [r3]
+ 941 .LVL117:
+ 942 0016 5206 lsls r2, r2, #25
+ 943 0018 06D5 bpl .L44
+ 944 .LVL118:
+ 945 .LBB35:
+ 946 .loc 1 364 0 is_stmt 0 discriminator 1
+ 947 001a 1A88 ldrh r2, [r3]
+ 948 001c 4E4C ldr r4, .L52
+ 949 001e 1440 ands r4, r2
+ 950 .LVL119:
+ 951 0020 4E4A ldr r2, .L52+4
+ 952 0022 2243 orrs r2, r4
+ 953 0024 92B2 uxth r2, r2
+ 954 0026 1A80 strh r2, [r3]
+ 955 .LVL120:
+ 956 .L44:
+ 957 .LBE35:
+ 958 .LBE34:
+ 959 .LBB36:
+ 365:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 366:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 960 .loc 1 366 0 is_stmt 1
+ 961 0028 0B78 ldrb r3, [r1]
+ 962 002a 9B00 lsls r3, r3, #2
+ 963 002c C018 adds r0, r0, r3
+ 964 .LVL121:
+ 965 002e 0388 ldrh r3, [r0]
+ 966 0030 4B4A ldr r2, .L52+8
+ 967 0032 1A40 ands r2, r3
+ 968 .LVL122:
+ 969 0034 4B4B ldr r3, .L52+12
+ 970 0036 1343 orrs r3, r2
+ 971 0038 9BB2 uxth r3, r3
+ 972 003a 0380 strh r3, [r0]
+ 973 .LVL123:
+ 974 .L45:
+ 975 .LBE36:
+ 367:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 368:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 369:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 371:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 373:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 374:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 375:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Double Buffer*/
+ 376:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ ARM GAS /tmp/ccalJhl3.s page 25
+
+
+ 377:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 0U)
+ 379:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 380:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT*/
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 383:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 384:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Reset value of the data toggle bits for the endpoint out*/
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_TX_DTOG(USBx, ep->num);
+ 386:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 389:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 390:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 391:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 392:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Clear the data toggle bits for the endpoint IN/OUT*/
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 396:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 399:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 400:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 401:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 402:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 403:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 976 .loc 1 403 0
+ 977 003c 0020 movs r0, #0
+ 978 @ sp needed
+ 979 003e 10BD pop {r4, pc}
+ 980 .LVL124:
+ 981 .L43:
+ 982 .LBB37:
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 983 .loc 1 370 0
+ 984 0040 0B78 ldrb r3, [r1]
+ 985 0042 9B00 lsls r3, r3, #2
+ 986 0044 C318 adds r3, r0, r3
+ 987 0046 1A88 ldrh r2, [r3]
+ 988 .LVL125:
+ 989 0048 5204 lsls r2, r2, #17
+ 990 004a 06D5 bpl .L46
+ 991 .LVL126:
+ 992 .LBB38:
+ 370:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 993 .loc 1 370 0 is_stmt 0 discriminator 1
+ 994 004c 1A88 ldrh r2, [r3]
+ 995 004e 424C ldr r4, .L52
+ 996 0050 1440 ands r4, r2
+ 997 .LVL127:
+ 998 0052 454A ldr r2, .L52+16
+ 999 0054 2243 orrs r2, r4
+ 1000 0056 92B2 uxth r2, r2
+ 1001 0058 1A80 strh r2, [r3]
+ 1002 .LVL128:
+ 1003 .L46:
+ ARM GAS /tmp/ccalJhl3.s page 26
+
+
+ 1004 .LBE38:
+ 1005 .LBE37:
+ 1006 .LBB39:
+ 372:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1007 .loc 1 372 0 is_stmt 1
+ 1008 005a 0B78 ldrb r3, [r1]
+ 1009 005c 9B00 lsls r3, r3, #2
+ 1010 005e C018 adds r0, r0, r3
+ 1011 .LVL129:
+ 1012 0060 0388 ldrh r3, [r0]
+ 1013 0062 424A ldr r2, .L52+20
+ 1014 0064 1A40 ands r2, r3
+ 1015 .LVL130:
+ 1016 0066 3F4B ldr r3, .L52+12
+ 1017 0068 1343 orrs r3, r2
+ 1018 006a 9BB2 uxth r3, r3
+ 1019 006c 0380 strh r3, [r0]
+ 1020 006e E5E7 b .L45
+ 1021 .LVL131:
+ 1022 .L42:
+ 1023 .LBE39:
+ 378:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1024 .loc 1 378 0
+ 1025 0070 4B78 ldrb r3, [r1, #1]
+ 1026 0072 002B cmp r3, #0
+ 1027 0074 37D1 bne .L47
+ 1028 .LBB40:
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1029 .loc 1 381 0
+ 1030 0076 0B78 ldrb r3, [r1]
+ 1031 0078 9B00 lsls r3, r3, #2
+ 1032 007a C318 adds r3, r0, r3
+ 1033 007c 1A88 ldrh r2, [r3]
+ 1034 .LVL132:
+ 1035 007e 5204 lsls r2, r2, #17
+ 1036 0080 06D5 bpl .L48
+ 1037 .LVL133:
+ 1038 .LBB41:
+ 381:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1039 .loc 1 381 0 is_stmt 0 discriminator 1
+ 1040 0082 1A88 ldrh r2, [r3]
+ 1041 0084 344C ldr r4, .L52
+ 1042 0086 1440 ands r4, r2
+ 1043 .LVL134:
+ 1044 0088 374A ldr r2, .L52+16
+ 1045 008a 2243 orrs r2, r4
+ 1046 008c 92B2 uxth r2, r2
+ 1047 008e 1A80 strh r2, [r3]
+ 1048 .LVL135:
+ 1049 .L48:
+ 1050 .LBE41:
+ 1051 .LBE40:
+ 1052 .LBB42:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1053 .loc 1 382 0 is_stmt 1
+ 1054 0090 0B78 ldrb r3, [r1]
+ 1055 0092 9B00 lsls r3, r3, #2
+ ARM GAS /tmp/ccalJhl3.s page 27
+
+
+ 1056 0094 C318 adds r3, r0, r3
+ 1057 0096 1A88 ldrh r2, [r3]
+ 1058 .LVL136:
+ 1059 0098 5206 lsls r2, r2, #25
+ 1060 009a 06D5 bpl .L49
+ 1061 .LVL137:
+ 1062 .LBB43:
+ 382:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1063 .loc 1 382 0 is_stmt 0 discriminator 1
+ 1064 009c 1A88 ldrh r2, [r3]
+ 1065 009e 2E4C ldr r4, .L52
+ 1066 00a0 1440 ands r4, r2
+ 1067 .LVL138:
+ 1068 00a2 2E4A ldr r2, .L52+4
+ 1069 00a4 2243 orrs r2, r4
+ 1070 00a6 92B2 uxth r2, r2
+ 1071 00a8 1A80 strh r2, [r3]
+ 1072 .LVL139:
+ 1073 .L49:
+ 1074 .LBE43:
+ 1075 .LBE42:
+ 1076 .LBB44:
+ 385:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 1077 .loc 1 385 0 is_stmt 1
+ 1078 00aa 0B78 ldrb r3, [r1]
+ 1079 00ac 9B00 lsls r3, r3, #2
+ 1080 00ae C318 adds r3, r0, r3
+ 1081 00b0 1A88 ldrh r2, [r3]
+ 1082 00b2 294C ldr r4, .L52
+ 1083 00b4 1440 ands r4, r2
+ 1084 .LVL140:
+ 1085 00b6 294A ldr r2, .L52+4
+ 1086 00b8 2243 orrs r2, r4
+ 1087 00ba 92B2 uxth r2, r2
+ 1088 00bc 1A80 strh r2, [r3]
+ 1089 .LBE44:
+ 1090 .LBB45:
+ 387:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_DIS);
+ 1091 .loc 1 387 0
+ 1092 00be 0C78 ldrb r4, [r1]
+ 1093 .LVL141:
+ 1094 00c0 A400 lsls r4, r4, #2
+ 1095 00c2 0419 adds r4, r0, r4
+ 1096 00c4 2388 ldrh r3, [r4]
+ 1097 00c6 294A ldr r2, .L52+20
+ 1098 00c8 1340 ands r3, r2
+ 1099 .LVL142:
+ 1100 00ca 264A ldr r2, .L52+12
+ 1101 00cc 1343 orrs r3, r2
+ 1102 .LVL143:
+ 1103 00ce 9BB2 uxth r3, r3
+ 1104 00d0 2380 strh r3, [r4]
+ 1105 .LBE45:
+ 1106 .LBB46:
+ 388:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1107 .loc 1 388 0
+ 1108 00d2 0B78 ldrb r3, [r1]
+ ARM GAS /tmp/ccalJhl3.s page 28
+
+
+ 1109 00d4 9B00 lsls r3, r3, #2
+ 1110 00d6 C018 adds r0, r0, r3
+ 1111 .LVL144:
+ 1112 00d8 0388 ldrh r3, [r0]
+ 1113 00da 2149 ldr r1, .L52+8
+ 1114 .LVL145:
+ 1115 00dc 0B40 ands r3, r1
+ 1116 .LVL146:
+ 1117 00de 1A43 orrs r2, r3
+ 1118 00e0 92B2 uxth r2, r2
+ 1119 00e2 0280 strh r2, [r0]
+ 1120 .LBE46:
+ 1121 00e4 AAE7 b .L45
+ 1122 .LVL147:
+ 1123 .L47:
+ 1124 .LBB47:
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1125 .loc 1 393 0
+ 1126 00e6 0B78 ldrb r3, [r1]
+ 1127 00e8 9B00 lsls r3, r3, #2
+ 1128 00ea C318 adds r3, r0, r3
+ 1129 00ec 1A88 ldrh r2, [r3]
+ 1130 .LVL148:
+ 1131 00ee 5204 lsls r2, r2, #17
+ 1132 00f0 06D5 bpl .L50
+ 1133 .LVL149:
+ 1134 .LBB48:
+ 393:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1135 .loc 1 393 0 is_stmt 0 discriminator 1
+ 1136 00f2 1A88 ldrh r2, [r3]
+ 1137 00f4 184C ldr r4, .L52
+ 1138 00f6 1440 ands r4, r2
+ 1139 .LVL150:
+ 1140 00f8 1B4A ldr r2, .L52+16
+ 1141 00fa 2243 orrs r2, r4
+ 1142 00fc 92B2 uxth r2, r2
+ 1143 00fe 1A80 strh r2, [r3]
+ 1144 .LVL151:
+ 1145 .L50:
+ 1146 .LBE48:
+ 1147 .LBE47:
+ 1148 .LBB49:
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 1149 .loc 1 394 0 is_stmt 1
+ 1150 0100 0B78 ldrb r3, [r1]
+ 1151 0102 9B00 lsls r3, r3, #2
+ 1152 0104 C318 adds r3, r0, r3
+ 1153 0106 1A88 ldrh r2, [r3]
+ 1154 .LVL152:
+ 1155 0108 5206 lsls r2, r2, #25
+ 1156 010a 06D5 bpl .L51
+ 1157 .LVL153:
+ 1158 .LBB50:
+ 394:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_RX_DTOG(USBx, ep->num);
+ 1159 .loc 1 394 0 is_stmt 0 discriminator 1
+ 1160 010c 1A88 ldrh r2, [r3]
+ 1161 010e 124C ldr r4, .L52
+ ARM GAS /tmp/ccalJhl3.s page 29
+
+
+ 1162 0110 1440 ands r4, r2
+ 1163 .LVL154:
+ 1164 0112 124A ldr r2, .L52+4
+ 1165 0114 2243 orrs r2, r4
+ 1166 0116 92B2 uxth r2, r2
+ 1167 0118 1A80 strh r2, [r3]
+ 1168 .LVL155:
+ 1169 .L51:
+ 1170 .LBE50:
+ 1171 .LBE49:
+ 1172 .LBB51:
+ 395:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure DISABLE status for the Endpoint*/
+ 1173 .loc 1 395 0 is_stmt 1
+ 1174 011a 0B78 ldrb r3, [r1]
+ 1175 011c 9B00 lsls r3, r3, #2
+ 1176 011e C318 adds r3, r0, r3
+ 1177 0120 1A88 ldrh r2, [r3]
+ 1178 0122 0D4C ldr r4, .L52
+ 1179 0124 1440 ands r4, r2
+ 1180 .LVL156:
+ 1181 0126 104A ldr r2, .L52+16
+ 1182 0128 2243 orrs r2, r4
+ 1183 012a 92B2 uxth r2, r2
+ 1184 012c 1A80 strh r2, [r3]
+ 1185 .LBE51:
+ 1186 .LBB52:
+ 397:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_DIS);
+ 1187 .loc 1 397 0
+ 1188 012e 0C78 ldrb r4, [r1]
+ 1189 .LVL157:
+ 1190 0130 A400 lsls r4, r4, #2
+ 1191 0132 0419 adds r4, r0, r4
+ 1192 0134 2388 ldrh r3, [r4]
+ 1193 0136 0A4A ldr r2, .L52+8
+ 1194 0138 1340 ands r3, r2
+ 1195 .LVL158:
+ 1196 013a 0A4A ldr r2, .L52+12
+ 1197 013c 1343 orrs r3, r2
+ 1198 .LVL159:
+ 1199 013e 9BB2 uxth r3, r3
+ 1200 0140 2380 strh r3, [r4]
+ 1201 .LBE52:
+ 1202 .LBB53:
+ 398:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1203 .loc 1 398 0
+ 1204 0142 0B78 ldrb r3, [r1]
+ 1205 0144 9B00 lsls r3, r3, #2
+ 1206 0146 C018 adds r0, r0, r3
+ 1207 .LVL160:
+ 1208 0148 0388 ldrh r3, [r0]
+ 1209 014a 0849 ldr r1, .L52+20
+ 1210 .LVL161:
+ 1211 014c 0B40 ands r3, r1
+ 1212 .LVL162:
+ 1213 014e 1A43 orrs r2, r3
+ 1214 0150 92B2 uxth r2, r2
+ 1215 0152 0280 strh r2, [r0]
+ ARM GAS /tmp/ccalJhl3.s page 30
+
+
+ 1216 0154 72E7 b .L45
+ 1217 .L53:
+ 1218 0156 C046 .align 2
+ 1219 .L52:
+ 1220 0158 8F8FFFFF .word -28785
+ 1221 015c C080FFFF .word -32576
+ 1222 0160 BF8FFFFF .word -28737
+ 1223 0164 8080FFFF .word -32640
+ 1224 0168 80C0FFFF .word -16256
+ 1225 016c 8FBFFFFF .word -16497
+ 1226 .LBE53:
+ 1227 .cfi_endproc
+ 1228 .LFE49:
+ 1230 .section .text.USB_WritePacket,"ax",%progbits
+ 1231 .align 1
+ 1232 .global USB_WritePacket
+ 1233 .syntax unified
+ 1234 .code 16
+ 1235 .thumb_func
+ 1236 .fpu softvfp
+ 1238 USB_WritePacket:
+ 1239 .LFB51:
+ 404:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 405:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 406:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPStartXfer : setup and starts a transfer over an EP
+ 407:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 408:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 409:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 410:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 411:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPStartXfer(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 413:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t pmabuffer;
+ 414:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t len;
+ 415:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 416:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* IN endpoint */
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in == 1U)
+ 418:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 419:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Multi packet transfer*/
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket)
+ 421:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 422:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->maxpacket;
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len -= len;
+ 424:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 425:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 426:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->xfer_len;
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 429:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 430:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 431:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* configure and validate Tx endpoint */
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 433:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_WritePMA(USBx, ep->xfer_buff, ep->pmaadress, (uint16_t)len);
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_CNT(USBx, ep->num, len);
+ 436:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 437:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 438:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ ARM GAS /tmp/ccalJhl3.s page 31
+
+
+ 439:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Write the data to the USB endpoint */
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if ((PCD_GET_ENDPOINT(USBx, ep->num) & USB_EP_DTOG_TX) != 0U)
+ 441:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 442:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the Double buffer counter for pmabuffer1 */
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF1_CNT(USBx, ep->num, ep->is_in, len);
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 445:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 446:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 447:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 448:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Set the Double buffer counter for pmabuffer0 */
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF0_CNT(USBx, ep->num, ep->is_in, len);
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 451:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USB_WritePMA(USBx, ep->xfer_buff, pmabuffer, (uint16_t)len);
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
+ 454:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 455:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_VALID);
+ 457:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 458:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else /* OUT endpoint */
+ 459:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 460:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Multi packet transfer*/
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->xfer_len > ep->maxpacket)
+ 462:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 463:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->maxpacket;
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len -= len;
+ 465:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 466:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 467:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** len = ep->xfer_len;
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 470:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 471:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 472:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* configure and validate Rx endpoint */
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 474:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 475:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set RX buffer count*/
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_CNT(USBx, ep->num, len);
+ 477:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 478:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 479:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 480:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /*Set the Double buffer counter*/
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_DBUF_CNT(USBx, ep->num, ep->is_in, len);
+ 482:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 483:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 485:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 486:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 487:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 489:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 490:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 491:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_WritePacket : Writes a packet into the Tx FIFO associated
+ 492:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * with the EP/channel
+ 493:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 494:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param src : pointer to source buffer
+ 495:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ch_ep_num : endpoint or host channel number
+ ARM GAS /tmp/ccalJhl3.s page 32
+
+
+ 496:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param len : Number of bytes to write
+ 497:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 498:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 499:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_WritePacket(USB_TypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len)
+ 500:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1240 .loc 1 500 0
+ 1241 .cfi_startproc
+ 1242 @ args = 0, pretend = 0, frame = 0
+ 1243 @ frame_needed = 0, uses_anonymous_args = 0
+ 1244 @ link register save eliminated.
+ 1245 .LVL163:
+ 501:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 502:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 503:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(src);
+ 504:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(ch_ep_num);
+ 505:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(len);
+ 506:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 507:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 508:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 509:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 510:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 511:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1246 .loc 1 511 0
+ 1247 0000 0020 movs r0, #0
+ 1248 .LVL164:
+ 1249 @ sp needed
+ 1250 0002 7047 bx lr
+ 1251 .cfi_endproc
+ 1252 .LFE51:
+ 1254 .section .text.USB_ReadPacket,"ax",%progbits
+ 1255 .align 1
+ 1256 .global USB_ReadPacket
+ 1257 .syntax unified
+ 1258 .code 16
+ 1259 .thumb_func
+ 1260 .fpu softvfp
+ 1262 USB_ReadPacket:
+ 1263 .LFB52:
+ 512:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 513:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 514:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadPacket : read a packet from the Tx FIFO associated
+ 515:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * with the EP/channel
+ 516:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 517:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param dest : destination pointer
+ 518:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param len : Number of bytes to read
+ 519:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval pointer to destination buffer
+ 520:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 521:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void *USB_ReadPacket(USB_TypeDef *USBx, uint8_t *dest, uint16_t len)
+ 522:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1264 .loc 1 522 0
+ 1265 .cfi_startproc
+ 1266 @ args = 0, pretend = 0, frame = 0
+ 1267 @ frame_needed = 0, uses_anonymous_args = 0
+ 1268 @ link register save eliminated.
+ 1269 .LVL165:
+ 523:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 524:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ ARM GAS /tmp/ccalJhl3.s page 33
+
+
+ 525:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(dest);
+ 526:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(len);
+ 527:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 528:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 529:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 530:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 531:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return ((void *)NULL);
+ 532:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1270 .loc 1 532 0
+ 1271 0000 0020 movs r0, #0
+ 1272 .LVL166:
+ 1273 @ sp needed
+ 1274 0002 7047 bx lr
+ 1275 .cfi_endproc
+ 1276 .LFE52:
+ 1278 .section .text.USB_EPSetStall,"ax",%progbits
+ 1279 .align 1
+ 1280 .global USB_EPSetStall
+ 1281 .syntax unified
+ 1282 .code 16
+ 1283 .thumb_func
+ 1284 .fpu softvfp
+ 1286 USB_EPSetStall:
+ 1287 .LFB53:
+ 533:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 534:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 535:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPSetStall : set a stall condition over an EP
+ 536:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 537:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 538:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 539:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 540:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPSetStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 541:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1288 .loc 1 541 0
+ 1289 .cfi_startproc
+ 1290 @ args = 0, pretend = 0, frame = 0
+ 1291 @ frame_needed = 0, uses_anonymous_args = 0
+ 1292 @ link register save eliminated.
+ 1293 .LVL167:
+ 542:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 1294 .loc 1 542 0
+ 1295 0000 4B78 ldrb r3, [r1, #1]
+ 1296 0002 002B cmp r3, #0
+ 1297 0004 0ED1 bne .L59
+ 1298 .LBB54:
+ 543:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_STALL);
+ 545:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 546:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 547:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 548:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_STALL);
+ 1299 .loc 1 548 0
+ 1300 0006 0B78 ldrb r3, [r1]
+ 1301 0008 9B00 lsls r3, r3, #2
+ 1302 000a C018 adds r0, r0, r3
+ 1303 .LVL168:
+ 1304 000c 0288 ldrh r2, [r0]
+ ARM GAS /tmp/ccalJhl3.s page 34
+
+
+ 1305 000e 0C4B ldr r3, .L60
+ 1306 0010 1A40 ands r2, r3
+ 1307 .LVL169:
+ 1308 0012 8023 movs r3, #128
+ 1309 0014 5B01 lsls r3, r3, #5
+ 1310 0016 5A40 eors r2, r3
+ 1311 .LVL170:
+ 1312 0018 0A4B ldr r3, .L60+4
+ 1313 001a 1343 orrs r3, r2
+ 1314 001c 9BB2 uxth r3, r3
+ 1315 001e 0380 strh r3, [r0]
+ 1316 .LVL171:
+ 1317 .L58:
+ 1318 .LBE54:
+ 549:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 550:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 551:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 552:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1319 .loc 1 552 0
+ 1320 0020 0020 movs r0, #0
+ 1321 @ sp needed
+ 1322 0022 7047 bx lr
+ 1323 .LVL172:
+ 1324 .L59:
+ 1325 .LBB55:
+ 544:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1326 .loc 1 544 0
+ 1327 0024 0B78 ldrb r3, [r1]
+ 1328 0026 9B00 lsls r3, r3, #2
+ 1329 0028 C018 adds r0, r0, r3
+ 1330 .LVL173:
+ 1331 002a 0388 ldrh r3, [r0]
+ 1332 002c 064A ldr r2, .L60+8
+ 1333 002e 1340 ands r3, r2
+ 1334 .LVL174:
+ 1335 0030 1022 movs r2, #16
+ 1336 0032 5A40 eors r2, r3
+ 1337 .LVL175:
+ 1338 0034 034B ldr r3, .L60+4
+ 1339 0036 1343 orrs r3, r2
+ 1340 0038 9BB2 uxth r3, r3
+ 1341 003a 0380 strh r3, [r0]
+ 1342 .LBE55:
+ 1343 003c F0E7 b .L58
+ 1344 .L61:
+ 1345 003e C046 .align 2
+ 1346 .L60:
+ 1347 0040 8FBFFFFF .word -16497
+ 1348 0044 8080FFFF .word -32640
+ 1349 0048 BF8FFFFF .word -28737
+ 1350 .cfi_endproc
+ 1351 .LFE53:
+ 1353 .section .text.USB_EPClearStall,"ax",%progbits
+ 1354 .align 1
+ 1355 .global USB_EPClearStall
+ 1356 .syntax unified
+ 1357 .code 16
+ ARM GAS /tmp/ccalJhl3.s page 35
+
+
+ 1358 .thumb_func
+ 1359 .fpu softvfp
+ 1361 USB_EPClearStall:
+ 1362 .LFB54:
+ 553:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 554:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 555:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_EPClearStall : Clear a stall condition over an EP
+ 556:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 557:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param ep: pointer to endpoint structure
+ 558:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 559:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 560:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EPClearStall(USB_TypeDef *USBx, USB_EPTypeDef *ep)
+ 561:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1363 .loc 1 561 0
+ 1364 .cfi_startproc
+ 1365 @ args = 0, pretend = 0, frame = 0
+ 1366 @ frame_needed = 0, uses_anonymous_args = 0
+ 1367 .LVL176:
+ 1368 0000 10B5 push {r4, lr}
+ 1369 .LCFI5:
+ 1370 .cfi_def_cfa_offset 8
+ 1371 .cfi_offset 4, -8
+ 1372 .cfi_offset 14, -4
+ 562:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->doublebuffer == 0U)
+ 1373 .loc 1 562 0
+ 1374 0002 0B7B ldrb r3, [r1, #12]
+ 1375 0004 002B cmp r3, #0
+ 1376 0006 39D1 bne .L63
+ 563:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 564:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->is_in != 0U)
+ 1377 .loc 1 564 0
+ 1378 0008 4B78 ldrb r3, [r1, #1]
+ 1379 000a 002B cmp r3, #0
+ 1380 000c 1CD0 beq .L64
+ 1381 .LBB56:
+ 565:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 566:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_TX_DTOG(USBx, ep->num);
+ 1382 .loc 1 566 0
+ 1383 000e 0B78 ldrb r3, [r1]
+ 1384 0010 9B00 lsls r3, r3, #2
+ 1385 0012 C318 adds r3, r0, r3
+ 1386 0014 1A88 ldrh r2, [r3]
+ 1387 .LVL177:
+ 1388 0016 5206 lsls r2, r2, #25
+ 1389 0018 06D5 bpl .L65
+ 1390 .LVL178:
+ 1391 .LBB57:
+ 1392 .loc 1 566 0 is_stmt 0 discriminator 1
+ 1393 001a 1A88 ldrh r2, [r3]
+ 1394 001c 184C ldr r4, .L67
+ 1395 001e 1440 ands r4, r2
+ 1396 .LVL179:
+ 1397 0020 184A ldr r2, .L67+4
+ 1398 0022 2243 orrs r2, r4
+ 1399 0024 92B2 uxth r2, r2
+ 1400 0026 1A80 strh r2, [r3]
+ 1401 .LVL180:
+ ARM GAS /tmp/ccalJhl3.s page 36
+
+
+ 1402 .L65:
+ 1403 .LBE57:
+ 1404 .LBE56:
+ 567:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 568:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (ep->type != EP_TYPE_ISOC)
+ 1405 .loc 1 568 0 is_stmt 1
+ 1406 0028 CB78 ldrb r3, [r1, #3]
+ 1407 002a 012B cmp r3, #1
+ 1408 002c 26D0 beq .L63
+ 1409 .LBB58:
+ 569:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 570:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure NAK status for the Endpoint */
+ 571:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_STATUS(USBx, ep->num, USB_EP_TX_NAK);
+ 1410 .loc 1 571 0
+ 1411 002e 0B78 ldrb r3, [r1]
+ 1412 0030 9B00 lsls r3, r3, #2
+ 1413 0032 C018 adds r0, r0, r3
+ 1414 .LVL181:
+ 1415 0034 0388 ldrh r3, [r0]
+ 1416 0036 144A ldr r2, .L67+8
+ 1417 0038 1340 ands r3, r2
+ 1418 .LVL182:
+ 1419 003a 2022 movs r2, #32
+ 1420 003c 5A40 eors r2, r3
+ 1421 .LVL183:
+ 1422 003e 134B ldr r3, .L67+12
+ 1423 0040 1343 orrs r3, r2
+ 1424 0042 9BB2 uxth r3, r3
+ 1425 0044 0380 strh r3, [r0]
+ 1426 0046 19E0 b .L63
+ 1427 .LVL184:
+ 1428 .L64:
+ 1429 .LBE58:
+ 1430 .LBB59:
+ 572:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 573:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 574:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** else
+ 575:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 576:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_CLEAR_RX_DTOG(USBx, ep->num);
+ 1431 .loc 1 576 0
+ 1432 0048 0B78 ldrb r3, [r1]
+ 1433 004a 9B00 lsls r3, r3, #2
+ 1434 004c C318 adds r3, r0, r3
+ 1435 004e 1A88 ldrh r2, [r3]
+ 1436 .LVL185:
+ 1437 0050 5204 lsls r2, r2, #17
+ 1438 0052 06D5 bpl .L66
+ 1439 .LVL186:
+ 1440 .LBB60:
+ 1441 .loc 1 576 0 is_stmt 0 discriminator 1
+ 1442 0054 1A88 ldrh r2, [r3]
+ 1443 0056 0A4C ldr r4, .L67
+ 1444 0058 1440 ands r4, r2
+ 1445 .LVL187:
+ 1446 005a 0D4A ldr r2, .L67+16
+ 1447 005c 2243 orrs r2, r4
+ 1448 005e 92B2 uxth r2, r2
+ ARM GAS /tmp/ccalJhl3.s page 37
+
+
+ 1449 0060 1A80 strh r2, [r3]
+ 1450 .LVL188:
+ 1451 .L66:
+ 1452 .LBE60:
+ 1453 .LBE59:
+ 1454 .LBB61:
+ 577:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 578:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Configure VALID status for the Endpoint*/
+ 579:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_RX_STATUS(USBx, ep->num, USB_EP_RX_VALID);
+ 1455 .loc 1 579 0 is_stmt 1
+ 1456 0062 0B78 ldrb r3, [r1]
+ 1457 0064 9B00 lsls r3, r3, #2
+ 1458 0066 C018 adds r0, r0, r3
+ 1459 .LVL189:
+ 1460 0068 0288 ldrh r2, [r0]
+ 1461 006a 0A4B ldr r3, .L67+20
+ 1462 006c 1A40 ands r2, r3
+ 1463 .LVL190:
+ 1464 006e C023 movs r3, #192
+ 1465 0070 9B01 lsls r3, r3, #6
+ 1466 0072 5A40 eors r2, r3
+ 1467 .LVL191:
+ 1468 0074 054B ldr r3, .L67+12
+ 1469 0076 1343 orrs r3, r2
+ 1470 0078 9BB2 uxth r3, r3
+ 1471 007a 0380 strh r3, [r0]
+ 1472 .LVL192:
+ 1473 .L63:
+ 1474 .LBE61:
+ 580:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 581:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 582:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 583:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 584:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1475 .loc 1 584 0
+ 1476 007c 0020 movs r0, #0
+ 1477 @ sp needed
+ 1478 007e 10BD pop {r4, pc}
+ 1479 .L68:
+ 1480 .align 2
+ 1481 .L67:
+ 1482 0080 8F8FFFFF .word -28785
+ 1483 0084 C080FFFF .word -32576
+ 1484 0088 BF8FFFFF .word -28737
+ 1485 008c 8080FFFF .word -32640
+ 1486 0090 80C0FFFF .word -16256
+ 1487 0094 8FBFFFFF .word -16497
+ 1488 .cfi_endproc
+ 1489 .LFE54:
+ 1491 .section .text.USB_StopDevice,"ax",%progbits
+ 1492 .align 1
+ 1493 .global USB_StopDevice
+ 1494 .syntax unified
+ 1495 .code 16
+ 1496 .thumb_func
+ 1497 .fpu softvfp
+ 1499 USB_StopDevice:
+ ARM GAS /tmp/ccalJhl3.s page 38
+
+
+ 1500 .LFB55:
+ 585:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 586:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 587:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_StopDevice : Stop the usb device mode
+ 588:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 589:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 590:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 591:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_StopDevice(USB_TypeDef *USBx)
+ 592:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1501 .loc 1 592 0
+ 1502 .cfi_startproc
+ 1503 @ args = 0, pretend = 0, frame = 0
+ 1504 @ frame_needed = 0, uses_anonymous_args = 0
+ 1505 @ link register save eliminated.
+ 1506 .LVL193:
+ 593:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* disable all interrupts and force USB reset */
+ 594:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = USB_CNTR_FRES;
+ 1507 .loc 1 594 0
+ 1508 0000 4023 movs r3, #64
+ 1509 0002 0122 movs r2, #1
+ 1510 0004 C252 strh r2, [r0, r3]
+ 595:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 596:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* clear interrupt status register */
+ 597:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->ISTR = 0;
+ 1511 .loc 1 597 0
+ 1512 0006 4332 adds r2, r2, #67
+ 1513 0008 0021 movs r1, #0
+ 1514 000a 8152 strh r1, [r0, r2]
+ 598:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 599:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* switch-off device */
+ 600:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR = (USB_CNTR_FRES | USB_CNTR_PDWN);
+ 1515 .loc 1 600 0
+ 1516 000c 413A subs r2, r2, #65
+ 1517 000e C252 strh r2, [r0, r3]
+ 601:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 602:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 603:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1518 .loc 1 603 0
+ 1519 0010 0020 movs r0, #0
+ 1520 .LVL194:
+ 1521 @ sp needed
+ 1522 0012 7047 bx lr
+ 1523 .cfi_endproc
+ 1524 .LFE55:
+ 1526 .section .text.USB_SetDevAddress,"ax",%progbits
+ 1527 .align 1
+ 1528 .global USB_SetDevAddress
+ 1529 .syntax unified
+ 1530 .code 16
+ 1531 .thumb_func
+ 1532 .fpu softvfp
+ 1534 USB_SetDevAddress:
+ 1535 .LFB56:
+ 604:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 605:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 606:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_SetDevAddress : Stop the usb device mode
+ 607:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ ARM GAS /tmp/ccalJhl3.s page 39
+
+
+ 608:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param address : new device address to be assigned
+ 609:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 255
+ 610:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 611:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 612:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_SetDevAddress(USB_TypeDef *USBx, uint8_t address)
+ 613:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1536 .loc 1 613 0
+ 1537 .cfi_startproc
+ 1538 @ args = 0, pretend = 0, frame = 0
+ 1539 @ frame_needed = 0, uses_anonymous_args = 0
+ 1540 @ link register save eliminated.
+ 1541 .LVL195:
+ 614:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if (address == 0U)
+ 1542 .loc 1 614 0
+ 1543 0000 0029 cmp r1, #0
+ 1544 0002 02D1 bne .L71
+ 615:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 616:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* set device address and enable function */
+ 617:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->DADDR = USB_DADDR_EF;
+ 1545 .loc 1 617 0
+ 1546 0004 4C23 movs r3, #76
+ 1547 0006 8022 movs r2, #128
+ 1548 0008 C252 strh r2, [r0, r3]
+ 1549 .L71:
+ 618:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 619:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 620:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 621:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1550 .loc 1 621 0
+ 1551 000a 0020 movs r0, #0
+ 1552 .LVL196:
+ 1553 @ sp needed
+ 1554 000c 7047 bx lr
+ 1555 .cfi_endproc
+ 1556 .LFE56:
+ 1558 .section .text.USB_DevConnect,"ax",%progbits
+ 1559 .align 1
+ 1560 .global USB_DevConnect
+ 1561 .syntax unified
+ 1562 .code 16
+ 1563 .thumb_func
+ 1564 .fpu softvfp
+ 1566 USB_DevConnect:
+ 1567 .LFB57:
+ 622:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 623:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 624:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevConnect : Connect the USB device by enabling the pull-up/pull-down
+ 625:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 626:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 627:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 628:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevConnect(USB_TypeDef *USBx)
+ 629:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1568 .loc 1 629 0
+ 1569 .cfi_startproc
+ 1570 @ args = 0, pretend = 0, frame = 0
+ 1571 @ frame_needed = 0, uses_anonymous_args = 0
+ 1572 @ link register save eliminated.
+ ARM GAS /tmp/ccalJhl3.s page 40
+
+
+ 1573 .LVL197:
+ 630:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Enabling DP Pull-UP bit to Connect internal PU resistor on USB DP line */
+ 631:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BCDR |= USB_BCDR_DPPU;
+ 1574 .loc 1 631 0
+ 1575 0000 5822 movs r2, #88
+ 1576 0002 835A ldrh r3, [r0, r2]
+ 1577 0004 0249 ldr r1, .L73
+ 1578 0006 0B43 orrs r3, r1
+ 1579 0008 9BB2 uxth r3, r3
+ 1580 000a 8352 strh r3, [r0, r2]
+ 632:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 633:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 634:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1581 .loc 1 634 0
+ 1582 000c 0020 movs r0, #0
+ 1583 .LVL198:
+ 1584 @ sp needed
+ 1585 000e 7047 bx lr
+ 1586 .L74:
+ 1587 .align 2
+ 1588 .L73:
+ 1589 0010 0080FFFF .word -32768
+ 1590 .cfi_endproc
+ 1591 .LFE57:
+ 1593 .section .text.USB_DevDisconnect,"ax",%progbits
+ 1594 .align 1
+ 1595 .global USB_DevDisconnect
+ 1596 .syntax unified
+ 1597 .code 16
+ 1598 .thumb_func
+ 1599 .fpu softvfp
+ 1601 USB_DevDisconnect:
+ 1602 .LFB58:
+ 635:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 636:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 637:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DevDisconnect : Disconnect the USB device by disabling the pull-up/pull-down
+ 638:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 639:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 640:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 641:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DevDisconnect(USB_TypeDef *USBx)
+ 642:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1603 .loc 1 642 0
+ 1604 .cfi_startproc
+ 1605 @ args = 0, pretend = 0, frame = 0
+ 1606 @ frame_needed = 0, uses_anonymous_args = 0
+ 1607 @ link register save eliminated.
+ 1608 .LVL199:
+ 643:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Disable DP Pull-Up bit to disconnect the Internal PU resistor on USB DP line */
+ 644:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->BCDR &= (uint16_t)(~(USB_BCDR_DPPU));
+ 1609 .loc 1 644 0
+ 1610 0000 5822 movs r2, #88
+ 1611 0002 835A ldrh r3, [r0, r2]
+ 1612 0004 5B04 lsls r3, r3, #17
+ 1613 0006 5B0C lsrs r3, r3, #17
+ 1614 0008 8352 strh r3, [r0, r2]
+ 645:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 646:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ ARM GAS /tmp/ccalJhl3.s page 41
+
+
+ 647:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1615 .loc 1 647 0
+ 1616 000a 0020 movs r0, #0
+ 1617 .LVL200:
+ 1618 @ sp needed
+ 1619 000c 7047 bx lr
+ 1620 .cfi_endproc
+ 1621 .LFE58:
+ 1623 .section .text.USB_ReadInterrupts,"ax",%progbits
+ 1624 .align 1
+ 1625 .global USB_ReadInterrupts
+ 1626 .syntax unified
+ 1627 .code 16
+ 1628 .thumb_func
+ 1629 .fpu softvfp
+ 1631 USB_ReadInterrupts:
+ 1632 .LFB59:
+ 648:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 649:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 650:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadInterrupts: return the global USB interrupt status
+ 651:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 652:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 653:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 654:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadInterrupts(USB_TypeDef *USBx)
+ 655:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1633 .loc 1 655 0
+ 1634 .cfi_startproc
+ 1635 @ args = 0, pretend = 0, frame = 0
+ 1636 @ frame_needed = 0, uses_anonymous_args = 0
+ 1637 @ link register save eliminated.
+ 1638 .LVL201:
+ 656:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t tmpreg;
+ 657:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 658:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** tmpreg = USBx->ISTR;
+ 1639 .loc 1 658 0
+ 1640 0000 4423 movs r3, #68
+ 1641 0002 C05A ldrh r0, [r0, r3]
+ 1642 .LVL202:
+ 1643 0004 80B2 uxth r0, r0
+ 1644 .LVL203:
+ 659:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return tmpreg;
+ 660:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1645 .loc 1 660 0
+ 1646 @ sp needed
+ 1647 0006 7047 bx lr
+ 1648 .cfi_endproc
+ 1649 .LFE59:
+ 1651 .section .text.USB_ReadDevAllOutEpInterrupt,"ax",%progbits
+ 1652 .align 1
+ 1653 .global USB_ReadDevAllOutEpInterrupt
+ 1654 .syntax unified
+ 1655 .code 16
+ 1656 .thumb_func
+ 1657 .fpu softvfp
+ 1659 USB_ReadDevAllOutEpInterrupt:
+ 1660 .LFB60:
+ 661:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ ARM GAS /tmp/ccalJhl3.s page 42
+
+
+ 662:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 663:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status
+ 664:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 665:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 666:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 667:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevAllOutEpInterrupt(USB_TypeDef *USBx)
+ 668:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1661 .loc 1 668 0
+ 1662 .cfi_startproc
+ 1663 @ args = 0, pretend = 0, frame = 0
+ 1664 @ frame_needed = 0, uses_anonymous_args = 0
+ 1665 @ link register save eliminated.
+ 1666 .LVL204:
+ 669:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 670:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 671:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 672:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 673:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 674:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 675:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 676:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1667 .loc 1 676 0
+ 1668 0000 0020 movs r0, #0
+ 1669 .LVL205:
+ 1670 @ sp needed
+ 1671 0002 7047 bx lr
+ 1672 .cfi_endproc
+ 1673 .LFE60:
+ 1675 .section .text.USB_ReadDevAllInEpInterrupt,"ax",%progbits
+ 1676 .align 1
+ 1677 .global USB_ReadDevAllInEpInterrupt
+ 1678 .syntax unified
+ 1679 .code 16
+ 1680 .thumb_func
+ 1681 .fpu softvfp
+ 1683 USB_ReadDevAllInEpInterrupt:
+ 1684 .LFB61:
+ 677:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 678:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 679:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status
+ 680:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 681:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 682:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 683:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevAllInEpInterrupt(USB_TypeDef *USBx)
+ 684:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1685 .loc 1 684 0
+ 1686 .cfi_startproc
+ 1687 @ args = 0, pretend = 0, frame = 0
+ 1688 @ frame_needed = 0, uses_anonymous_args = 0
+ 1689 @ link register save eliminated.
+ 1690 .LVL206:
+ 685:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 686:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 687:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 688:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 689:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 690:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ ARM GAS /tmp/ccalJhl3.s page 43
+
+
+ 691:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 692:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1691 .loc 1 692 0
+ 1692 0000 0020 movs r0, #0
+ 1693 .LVL207:
+ 1694 @ sp needed
+ 1695 0002 7047 bx lr
+ 1696 .cfi_endproc
+ 1697 .LFE61:
+ 1699 .section .text.USB_ReadDevOutEPInterrupt,"ax",%progbits
+ 1700 .align 1
+ 1701 .global USB_ReadDevOutEPInterrupt
+ 1702 .syntax unified
+ 1703 .code 16
+ 1704 .thumb_func
+ 1705 .fpu softvfp
+ 1707 USB_ReadDevOutEPInterrupt:
+ 1708 .LFB62:
+ 693:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 694:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 695:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Returns Device OUT EP Interrupt register
+ 696:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 697:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param epnum : endpoint number
+ 698:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 15
+ 699:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Device OUT EP Interrupt register
+ 700:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 701:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevOutEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
+ 702:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1709 .loc 1 702 0
+ 1710 .cfi_startproc
+ 1711 @ args = 0, pretend = 0, frame = 0
+ 1712 @ frame_needed = 0, uses_anonymous_args = 0
+ 1713 @ link register save eliminated.
+ 1714 .LVL208:
+ 703:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 704:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 705:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(epnum);
+ 706:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 707:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 708:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 709:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 710:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 711:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1715 .loc 1 711 0
+ 1716 0000 0020 movs r0, #0
+ 1717 .LVL209:
+ 1718 @ sp needed
+ 1719 0002 7047 bx lr
+ 1720 .cfi_endproc
+ 1721 .LFE62:
+ 1723 .section .text.USB_ReadDevInEPInterrupt,"ax",%progbits
+ 1724 .align 1
+ 1725 .global USB_ReadDevInEPInterrupt
+ 1726 .syntax unified
+ 1727 .code 16
+ 1728 .thumb_func
+ 1729 .fpu softvfp
+ ARM GAS /tmp/ccalJhl3.s page 44
+
+
+ 1731 USB_ReadDevInEPInterrupt:
+ 1732 .LFB63:
+ 712:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 713:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 714:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Returns Device IN EP Interrupt register
+ 715:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx : Selected device
+ 716:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param epnum : endpoint number
+ 717:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * This parameter can be a value from 0 to 15
+ 718:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval Device IN EP Interrupt register
+ 719:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 720:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t USB_ReadDevInEPInterrupt(USB_TypeDef *USBx, uint8_t epnum)
+ 721:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1733 .loc 1 721 0
+ 1734 .cfi_startproc
+ 1735 @ args = 0, pretend = 0, frame = 0
+ 1736 @ frame_needed = 0, uses_anonymous_args = 0
+ 1737 @ link register save eliminated.
+ 1738 .LVL210:
+ 722:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 723:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 724:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(epnum);
+ 725:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 726:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 727:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 728:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 729:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return (0);
+ 730:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1739 .loc 1 730 0
+ 1740 0000 0020 movs r0, #0
+ 1741 .LVL211:
+ 1742 @ sp needed
+ 1743 0002 7047 bx lr
+ 1744 .cfi_endproc
+ 1745 .LFE63:
+ 1747 .section .text.USB_ClearInterrupts,"ax",%progbits
+ 1748 .align 1
+ 1749 .global USB_ClearInterrupts
+ 1750 .syntax unified
+ 1751 .code 16
+ 1752 .thumb_func
+ 1753 .fpu softvfp
+ 1755 USB_ClearInterrupts:
+ 1756 .LFB64:
+ 731:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 732:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 733:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ClearInterrupts: clear a USB interrupt
+ 734:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 735:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param interrupt interrupt flag
+ 736:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 737:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 738:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_ClearInterrupts(USB_TypeDef *USBx, uint32_t interrupt)
+ 739:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1757 .loc 1 739 0
+ 1758 .cfi_startproc
+ 1759 @ args = 0, pretend = 0, frame = 0
+ 1760 @ frame_needed = 0, uses_anonymous_args = 0
+ 1761 @ link register save eliminated.
+ ARM GAS /tmp/ccalJhl3.s page 45
+
+
+ 1762 .LVL212:
+ 740:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 741:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 742:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(interrupt);
+ 743:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 744:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 745:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 746:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 747:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1763 .loc 1 747 0
+ 1764 @ sp needed
+ 1765 0000 7047 bx lr
+ 1766 .cfi_endproc
+ 1767 .LFE64:
+ 1769 .section .text.USB_EP0_OutStart,"ax",%progbits
+ 1770 .align 1
+ 1771 .global USB_EP0_OutStart
+ 1772 .syntax unified
+ 1773 .code 16
+ 1774 .thumb_func
+ 1775 .fpu softvfp
+ 1777 USB_EP0_OutStart:
+ 1778 .LFB65:
+ 748:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 749:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 750:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Prepare the EP0 to start the first control setup
+ 751:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 752:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param psetup pointer to setup packet
+ 753:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 754:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 755:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_EP0_OutStart(USB_TypeDef *USBx, uint8_t *psetup)
+ 756:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1779 .loc 1 756 0
+ 1780 .cfi_startproc
+ 1781 @ args = 0, pretend = 0, frame = 0
+ 1782 @ frame_needed = 0, uses_anonymous_args = 0
+ 1783 @ link register save eliminated.
+ 1784 .LVL213:
+ 757:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* Prevent unused argument(s) compilation warning */
+ 758:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(USBx);
+ 759:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** UNUSED(psetup);
+ 760:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /* NOTE : - This function is not required by USB Device FS peripheral, it is used
+ 761:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** only by USB OTG FS peripheral.
+ 762:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** - This function is added to ensure compatibility across platforms.
+ 763:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 764:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 765:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1785 .loc 1 765 0
+ 1786 0000 0020 movs r0, #0
+ 1787 .LVL214:
+ 1788 @ sp needed
+ 1789 0002 7047 bx lr
+ 1790 .cfi_endproc
+ 1791 .LFE65:
+ 1793 .section .text.USB_ActivateRemoteWakeup,"ax",%progbits
+ 1794 .align 1
+ 1795 .global USB_ActivateRemoteWakeup
+ ARM GAS /tmp/ccalJhl3.s page 46
+
+
+ 1796 .syntax unified
+ 1797 .code 16
+ 1798 .thumb_func
+ 1799 .fpu softvfp
+ 1801 USB_ActivateRemoteWakeup:
+ 1802 .LFB66:
+ 766:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 767:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 768:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_ActivateRemoteWakeup : active remote wakeup signalling
+ 769:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 770:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 771:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 772:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_ActivateRemoteWakeup(USB_TypeDef *USBx)
+ 773:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1803 .loc 1 773 0
+ 1804 .cfi_startproc
+ 1805 @ args = 0, pretend = 0, frame = 0
+ 1806 @ frame_needed = 0, uses_anonymous_args = 0
+ 1807 @ link register save eliminated.
+ 1808 .LVL215:
+ 774:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR |= USB_CNTR_RESUME;
+ 1809 .loc 1 774 0
+ 1810 0000 4022 movs r2, #64
+ 1811 0002 835A ldrh r3, [r0, r2]
+ 1812 0004 1021 movs r1, #16
+ 1813 0006 0B43 orrs r3, r1
+ 1814 0008 8352 strh r3, [r0, r2]
+ 775:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 776:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 777:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1815 .loc 1 777 0
+ 1816 000a 0020 movs r0, #0
+ 1817 .LVL216:
+ 1818 @ sp needed
+ 1819 000c 7047 bx lr
+ 1820 .cfi_endproc
+ 1821 .LFE66:
+ 1823 .section .text.USB_DeActivateRemoteWakeup,"ax",%progbits
+ 1824 .align 1
+ 1825 .global USB_DeActivateRemoteWakeup
+ 1826 .syntax unified
+ 1827 .code 16
+ 1828 .thumb_func
+ 1829 .fpu softvfp
+ 1831 USB_DeActivateRemoteWakeup:
+ 1832 .LFB67:
+ 778:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 779:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 780:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief USB_DeActivateRemoteWakeup : de-active remote wakeup signalling
+ 781:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx Selected device
+ 782:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval HAL status
+ 783:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 784:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** HAL_StatusTypeDef USB_DeActivateRemoteWakeup(USB_TypeDef *USBx)
+ 785:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1833 .loc 1 785 0
+ 1834 .cfi_startproc
+ 1835 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccalJhl3.s page 47
+
+
+ 1836 @ frame_needed = 0, uses_anonymous_args = 0
+ 1837 @ link register save eliminated.
+ 1838 .LVL217:
+ 786:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** USBx->CNTR &= ~(USB_CNTR_RESUME);
+ 1839 .loc 1 786 0
+ 1840 0000 4022 movs r2, #64
+ 1841 0002 835A ldrh r3, [r0, r2]
+ 1842 0004 1021 movs r1, #16
+ 1843 0006 8B43 bics r3, r1
+ 1844 0008 8352 strh r3, [r0, r2]
+ 787:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** return HAL_OK;
+ 788:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1845 .loc 1 788 0
+ 1846 000a 0020 movs r0, #0
+ 1847 .LVL218:
+ 1848 @ sp needed
+ 1849 000c 7047 bx lr
+ 1850 .cfi_endproc
+ 1851 .LFE67:
+ 1853 .section .text.USB_WritePMA,"ax",%progbits
+ 1854 .align 1
+ 1855 .global USB_WritePMA
+ 1856 .syntax unified
+ 1857 .code 16
+ 1858 .thumb_func
+ 1859 .fpu softvfp
+ 1861 USB_WritePMA:
+ 1862 .LFB68:
+ 789:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 790:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 791:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Copy a buffer from user memory area to packet memory area (PMA)
+ 792:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx USB peripheral instance register address.
+ 793:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param pbUsrBuf pointer to user memory area.
+ 794:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wPMABufAddr address into PMA.
+ 795:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wNBytes: no. of bytes to be copied.
+ 796:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 797:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 798:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_WritePMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
+ 799:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1863 .loc 1 799 0
+ 1864 .cfi_startproc
+ 1865 @ args = 0, pretend = 0, frame = 0
+ 1866 @ frame_needed = 0, uses_anonymous_args = 0
+ 1867 .LVL219:
+ 1868 0000 10B5 push {r4, lr}
+ 1869 .LCFI6:
+ 1870 .cfi_def_cfa_offset 8
+ 1871 .cfi_offset 4, -8
+ 1872 .cfi_offset 14, -4
+ 800:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t n = ((uint32_t)wNBytes + 1U) >> 1;
+ 1873 .loc 1 800 0
+ 1874 0002 0133 adds r3, r3, #1
+ 1875 .LVL220:
+ 1876 0004 5B08 lsrs r3, r3, #1
+ 1877 .LVL221:
+ 801:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t BaseAddr = (uint32_t)USBx;
+ 802:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t i, temp1, temp2;
+ ARM GAS /tmp/ccalJhl3.s page 48
+
+
+ 803:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** __IO uint16_t *pdwVal;
+ 804:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint8_t *pBuf = pbUsrBuf;
+ 805:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 806:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
+ 1878 .loc 1 806 0
+ 1879 0006 1218 adds r2, r2, r0
+ 1880 .LVL222:
+ 1881 0008 8020 movs r0, #128
+ 1882 .LVL223:
+ 1883 000a C000 lsls r0, r0, #3
+ 1884 000c 8446 mov ip, r0
+ 1885 000e 6244 add r2, r2, ip
+ 1886 .LVL224:
+ 807:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** for (i = n; i != 0U; i--)
+ 1887 .loc 1 808 0
+ 1888 0010 07E0 b .L86
+ 1889 .LVL225:
+ 1890 .L87:
+ 809:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 810:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp1 = *pBuf;
+ 1891 .loc 1 810 0 discriminator 3
+ 1892 0012 0878 ldrb r0, [r1]
+ 1893 .LVL226:
+ 811:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 812:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp2 = temp1 | ((uint16_t)((uint16_t) *pBuf << 8));
+ 1894 .loc 1 812 0 discriminator 3
+ 1895 0014 4C78 ldrb r4, [r1, #1]
+ 1896 0016 2402 lsls r4, r4, #8
+ 1897 .LVL227:
+ 813:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pdwVal = (uint16_t)temp2;
+ 1898 .loc 1 813 0 discriminator 3
+ 1899 0018 0443 orrs r4, r0
+ 1900 .LVL228:
+ 1901 001a 1480 strh r4, [r2]
+ 814:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 1902 .loc 1 814 0 discriminator 3
+ 1903 001c 0232 adds r2, r2, #2
+ 1904 .LVL229:
+ 815:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 816:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if PMA_ACCESS > 1U
+ 817:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 818:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #endif
+ 819:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 820:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 1905 .loc 1 820 0 discriminator 3
+ 1906 001e 0231 adds r1, r1, #2
+ 1907 .LVL230:
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1908 .loc 1 808 0 discriminator 3
+ 1909 0020 013B subs r3, r3, #1
+ 1910 .LVL231:
+ 1911 .L86:
+ 808:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1912 .loc 1 808 0 is_stmt 0 discriminator 1
+ 1913 0022 002B cmp r3, #0
+ 1914 0024 F5D1 bne .L87
+ ARM GAS /tmp/ccalJhl3.s page 49
+
+
+ 821:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 822:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1915 .loc 1 822 0 is_stmt 1
+ 1916 @ sp needed
+ 1917 0026 10BD pop {r4, pc}
+ 1918 .cfi_endproc
+ 1919 .LFE68:
+ 1921 .section .text.USB_EPStartXfer,"ax",%progbits
+ 1922 .align 1
+ 1923 .global USB_EPStartXfer
+ 1924 .syntax unified
+ 1925 .code 16
+ 1926 .thumb_func
+ 1927 .fpu softvfp
+ 1929 USB_EPStartXfer:
+ 1930 .LFB50:
+ 412:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint16_t pmabuffer;
+ 1931 .loc 1 412 0
+ 1932 .cfi_startproc
+ 1933 @ args = 0, pretend = 0, frame = 0
+ 1934 @ frame_needed = 0, uses_anonymous_args = 0
+ 1935 .LVL232:
+ 1936 0000 70B5 push {r4, r5, r6, lr}
+ 1937 .LCFI7:
+ 1938 .cfi_def_cfa_offset 16
+ 1939 .cfi_offset 4, -16
+ 1940 .cfi_offset 5, -12
+ 1941 .cfi_offset 6, -8
+ 1942 .cfi_offset 14, -4
+ 1943 0002 0500 movs r5, r0
+ 1944 0004 0C00 movs r4, r1
+ 417:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1945 .loc 1 417 0
+ 1946 0006 4978 ldrb r1, [r1, #1]
+ 1947 .LVL233:
+ 1948 0008 0129 cmp r1, #1
+ 1949 000a 2BD0 beq .L128
+ 461:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1950 .loc 1 461 0
+ 1951 000c A269 ldr r2, [r4, #24]
+ 1952 000e 2369 ldr r3, [r4, #16]
+ 1953 0010 9A42 cmp r2, r3
+ 1954 0012 00D8 bhi .LCB1926
+ 1955 0014 D8E0 b .L110 @long jump
+ 1956 .LCB1926:
+ 1957 .LVL234:
+ 464:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1958 .loc 1 464 0
+ 1959 0016 D21A subs r2, r2, r3
+ 1960 0018 A261 str r2, [r4, #24]
+ 1961 .L111:
+ 473:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 1962 .loc 1 473 0
+ 1963 001a 227B ldrb r2, [r4, #12]
+ 1964 001c 002A cmp r2, #0
+ 1965 001e 00D0 beq .LCB1936
+ 1966 0020 E9E0 b .L112 @long jump
+ ARM GAS /tmp/ccalJhl3.s page 50
+
+
+ 1967 .LCB1936:
+ 1968 .LVL235:
+ 1969 .LBB62:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1970 .loc 1 476 0
+ 1971 0022 5032 adds r2, r2, #80
+ 1972 0024 A95A ldrh r1, [r5, r2]
+ 1973 0026 6918 adds r1, r5, r1
+ 1974 .LVL236:
+ 1975 0028 2278 ldrb r2, [r4]
+ 1976 002a D200 lsls r2, r2, #3
+ 1977 002c 5218 adds r2, r2, r1
+ 1978 002e A049 ldr r1, .L130
+ 1979 .LVL237:
+ 1980 0030 8C46 mov ip, r1
+ 1981 0032 6244 add r2, r2, ip
+ 1982 .LVL238:
+ 1983 .LBB63:
+ 1984 0034 002B cmp r3, #0
+ 1985 0036 00D0 beq .LCB1955
+ 1986 0038 CAE0 b .L113 @long jump
+ 1987 .LCB1955:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 1988 .loc 1 476 0 is_stmt 0 discriminator 1
+ 1989 003a 1388 ldrh r3, [r2]
+ 1990 .LVL239:
+ 1991 003c 9D49 ldr r1, .L130+4
+ 1992 003e 1940 ands r1, r3
+ 1993 0040 9D4B ldr r3, .L130+8
+ 1994 0042 0B43 orrs r3, r1
+ 1995 0044 1380 strh r3, [r2]
+ 1996 .LVL240:
+ 1997 .L114:
+ 1998 .LBE63:
+ 1999 .LBE62:
+ 2000 .LBB65:
+ 484:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2001 .loc 1 484 0 is_stmt 1
+ 2002 0046 2378 ldrb r3, [r4]
+ 2003 0048 9B00 lsls r3, r3, #2
+ 2004 004a ED18 adds r5, r5, r3
+ 2005 .LVL241:
+ 2006 004c 2A88 ldrh r2, [r5]
+ 2007 004e 9B4B ldr r3, .L130+12
+ 2008 0050 1A40 ands r2, r3
+ 2009 .LVL242:
+ 2010 0052 C023 movs r3, #192
+ 2011 0054 9B01 lsls r3, r3, #6
+ 2012 0056 5A40 eors r2, r3
+ 2013 .LVL243:
+ 2014 0058 994B ldr r3, .L130+16
+ 2015 005a 1343 orrs r3, r2
+ 2016 005c 9BB2 uxth r3, r3
+ 2017 005e 2B80 strh r3, [r5]
+ 2018 .LVL244:
+ 2019 .L109:
+ 2020 .LBE65:
+ ARM GAS /tmp/ccalJhl3.s page 51
+
+
+ 488:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 2021 .loc 1 488 0
+ 2022 0060 0020 movs r0, #0
+ 2023 @ sp needed
+ 2024 .LVL245:
+ 2025 0062 70BD pop {r4, r5, r6, pc}
+ 2026 .LVL246:
+ 2027 .L128:
+ 420:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2028 .loc 1 420 0
+ 2029 0064 A269 ldr r2, [r4, #24]
+ 2030 0066 2369 ldr r3, [r4, #16]
+ 2031 0068 9A42 cmp r2, r3
+ 2032 006a 1DD9 bls .L90
+ 2033 .LVL247:
+ 423:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2034 .loc 1 423 0
+ 2035 006c D21A subs r2, r2, r3
+ 2036 006e A261 str r2, [r4, #24]
+ 2037 .L91:
+ 432:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2038 .loc 1 432 0
+ 2039 0070 227B ldrb r2, [r4, #12]
+ 2040 0072 002A cmp r2, #0
+ 2041 0074 1CD0 beq .L129
+ 440:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2042 .loc 1 440 0
+ 2043 0076 2278 ldrb r2, [r4]
+ 2044 0078 9000 lsls r0, r2, #2
+ 2045 .LVL248:
+ 2046 007a 2818 adds r0, r5, r0
+ 2047 007c 0088 ldrh r0, [r0]
+ 2048 007e 4006 lsls r0, r0, #25
+ 2049 0080 64D5 bpl .L94
+ 2050 .LVL249:
+ 2051 .LBB66:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2052 .loc 1 443 0
+ 2053 0082 0029 cmp r1, #0
+ 2054 0084 39D1 bne .L95
+ 2055 .LVL250:
+ 2056 .LBB67:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2057 .loc 1 443 0 is_stmt 0 discriminator 1
+ 2058 0086 5031 adds r1, r1, #80
+ 2059 0088 695A ldrh r1, [r5, r1]
+ 2060 008a 6918 adds r1, r5, r1
+ 2061 .LVL251:
+ 2062 008c D200 lsls r2, r2, #3
+ 2063 008e 5218 adds r2, r2, r1
+ 2064 0090 8749 ldr r1, .L130
+ 2065 .LVL252:
+ 2066 0092 8C46 mov ip, r1
+ 2067 0094 6244 add r2, r2, ip
+ 2068 .LVL253:
+ 2069 .LBB68:
+ 2070 0096 002B cmp r3, #0
+ ARM GAS /tmp/ccalJhl3.s page 52
+
+
+ 2071 0098 1CD1 bne .L96
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2072 .loc 1 443 0 discriminator 3
+ 2073 009a 1188 ldrh r1, [r2]
+ 2074 009c 8548 ldr r0, .L130+4
+ 2075 009e 0840 ands r0, r1
+ 2076 00a0 8549 ldr r1, .L130+8
+ 2077 00a2 0143 orrs r1, r0
+ 2078 00a4 1180 strh r1, [r2]
+ 2079 00a6 31E0 b .L97
+ 2080 .LVL254:
+ 2081 .L90:
+ 2082 .LBE68:
+ 2083 .LBE67:
+ 2084 .LBE66:
+ 428:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2085 .loc 1 428 0 is_stmt 1
+ 2086 00a8 0023 movs r3, #0
+ 2087 00aa A361 str r3, [r4, #24]
+ 427:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 2088 .loc 1 427 0
+ 2089 00ac 1300 movs r3, r2
+ 2090 00ae DFE7 b .L91
+ 2091 .LVL255:
+ 2092 .L129:
+ 434:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_SET_EP_TX_CNT(USBx, ep->num, len);
+ 2093 .loc 1 434 0
+ 2094 00b0 9EB2 uxth r6, r3
+ 2095 00b2 E288 ldrh r2, [r4, #6]
+ 2096 00b4 3300 movs r3, r6
+ 2097 .LVL256:
+ 2098 00b6 6169 ldr r1, [r4, #20]
+ 2099 00b8 2800 movs r0, r5
+ 2100 .LVL257:
+ 2101 00ba FFF7FEFF bl USB_WritePMA
+ 2102 .LVL258:
+ 2103 .LBB71:
+ 435:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2104 .loc 1 435 0
+ 2105 00be 5023 movs r3, #80
+ 2106 00c0 EA5A ldrh r2, [r5, r3]
+ 2107 00c2 AA18 adds r2, r5, r2
+ 2108 .LVL259:
+ 2109 00c4 2378 ldrb r3, [r4]
+ 2110 00c6 DB00 lsls r3, r3, #3
+ 2111 00c8 9B18 adds r3, r3, r2
+ 2112 00ca 7E4A ldr r2, .L130+20
+ 2113 .LVL260:
+ 2114 00cc 9446 mov ip, r2
+ 2115 00ce 6344 add r3, r3, ip
+ 2116 .LVL261:
+ 2117 00d0 1E80 strh r6, [r3]
+ 2118 .LBE71:
+ 2119 00d2 2EE0 b .L93
+ 2120 .LVL262:
+ 2121 .L96:
+ 2122 .LBB72:
+ ARM GAS /tmp/ccalJhl3.s page 53
+
+
+ 2123 .LBB70:
+ 2124 .LBB69:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2125 .loc 1 443 0 discriminator 4
+ 2126 00d4 3E2B cmp r3, #62
+ 2127 00d6 06D8 bhi .L98
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2128 .loc 1 443 0 is_stmt 0 discriminator 5
+ 2129 00d8 5908 lsrs r1, r3, #1
+ 2130 .LVL263:
+ 2131 00da D807 lsls r0, r3, #31
+ 2132 00dc 00D5 bpl .L99
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2133 .loc 1 443 0 discriminator 7
+ 2134 00de 0131 adds r1, r1, #1
+ 2135 .LVL264:
+ 2136 .L99:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2137 .loc 1 443 0 discriminator 9
+ 2138 00e0 8902 lsls r1, r1, #10
+ 2139 .LVL265:
+ 2140 00e2 1180 strh r1, [r2]
+ 2141 00e4 12E0 b .L97
+ 2142 .L98:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2143 .loc 1 443 0 discriminator 6
+ 2144 00e6 5909 lsrs r1, r3, #5
+ 2145 .LVL266:
+ 2146 00e8 D806 lsls r0, r3, #27
+ 2147 00ea 00D1 bne .L100
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2148 .loc 1 443 0 discriminator 10
+ 2149 00ec 0139 subs r1, r1, #1
+ 2150 .LVL267:
+ 2151 .L100:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2152 .loc 1 443 0 discriminator 12
+ 2153 00ee 8902 lsls r1, r1, #10
+ 2154 .LVL268:
+ 2155 00f0 89B2 uxth r1, r1
+ 2156 00f2 7148 ldr r0, .L130+8
+ 2157 00f4 0143 orrs r1, r0
+ 2158 00f6 1180 strh r1, [r2]
+ 2159 00f8 08E0 b .L97
+ 2160 .LVL269:
+ 2161 .L95:
+ 2162 .LBE69:
+ 2163 .LBE70:
+ 443:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr1;
+ 2164 .loc 1 443 0 discriminator 13
+ 2165 00fa 5021 movs r1, #80
+ 2166 00fc 695A ldrh r1, [r5, r1]
+ 2167 00fe 6918 adds r1, r5, r1
+ 2168 .LVL270:
+ 2169 0100 D200 lsls r2, r2, #3
+ 2170 0102 5218 adds r2, r2, r1
+ 2171 0104 6A49 ldr r1, .L130
+ ARM GAS /tmp/ccalJhl3.s page 54
+
+
+ 2172 .LVL271:
+ 2173 0106 8C46 mov ip, r1
+ 2174 0108 6244 add r2, r2, ip
+ 2175 .LVL272:
+ 2176 010a 1380 strh r3, [r2]
+ 2177 .LVL273:
+ 2178 .L97:
+ 2179 .LBE72:
+ 444:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2180 .loc 1 444 0 is_stmt 1
+ 2181 010c 6289 ldrh r2, [r4, #10]
+ 2182 .LVL274:
+ 2183 .L101:
+ 452:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** PCD_FreeUserBuffer(USBx, ep->num, ep->is_in);
+ 2184 .loc 1 452 0
+ 2185 010e 9BB2 uxth r3, r3
+ 2186 .LVL275:
+ 2187 0110 6169 ldr r1, [r4, #20]
+ 2188 0112 2800 movs r0, r5
+ 2189 0114 FFF7FEFF bl USB_WritePMA
+ 2190 .LVL276:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2191 .loc 1 453 0
+ 2192 0118 6378 ldrb r3, [r4, #1]
+ 2193 011a 002B cmp r3, #0
+ 2194 011c 47D1 bne .L108
+ 2195 .LBB73:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2196 .loc 1 453 0 is_stmt 0 discriminator 1
+ 2197 011e 2378 ldrb r3, [r4]
+ 2198 0120 9B00 lsls r3, r3, #2
+ 2199 0122 EB18 adds r3, r5, r3
+ 2200 0124 1A88 ldrh r2, [r3]
+ 2201 0126 6849 ldr r1, .L130+24
+ 2202 0128 1140 ands r1, r2
+ 2203 .LVL277:
+ 2204 012a 684A ldr r2, .L130+28
+ 2205 012c 0A43 orrs r2, r1
+ 2206 012e 92B2 uxth r2, r2
+ 2207 0130 1A80 strh r2, [r3]
+ 2208 .LVL278:
+ 2209 .L93:
+ 2210 .LBE73:
+ 2211 .LBB74:
+ 456:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2212 .loc 1 456 0 is_stmt 1
+ 2213 0132 2378 ldrb r3, [r4]
+ 2214 0134 9B00 lsls r3, r3, #2
+ 2215 0136 ED18 adds r5, r5, r3
+ 2216 .LVL279:
+ 2217 0138 2B88 ldrh r3, [r5]
+ 2218 013a 654A ldr r2, .L130+32
+ 2219 013c 1340 ands r3, r2
+ 2220 .LVL280:
+ 2221 013e 3022 movs r2, #48
+ 2222 0140 5A40 eors r2, r3
+ 2223 .LVL281:
+ ARM GAS /tmp/ccalJhl3.s page 55
+
+
+ 2224 0142 5F4B ldr r3, .L130+16
+ 2225 0144 1343 orrs r3, r2
+ 2226 0146 9BB2 uxth r3, r3
+ 2227 0148 2B80 strh r3, [r5]
+ 2228 .LBE74:
+ 2229 014a 89E7 b .L109
+ 2230 .LVL282:
+ 2231 .L94:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2232 .loc 1 449 0
+ 2233 014c 0029 cmp r1, #0
+ 2234 014e 23D1 bne .L102
+ 2235 .LVL283:
+ 2236 .LBB75:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2237 .loc 1 449 0 is_stmt 0 discriminator 1
+ 2238 0150 5031 adds r1, r1, #80
+ 2239 0152 695A ldrh r1, [r5, r1]
+ 2240 0154 6918 adds r1, r5, r1
+ 2241 .LVL284:
+ 2242 0156 D200 lsls r2, r2, #3
+ 2243 0158 5218 adds r2, r2, r1
+ 2244 015a 5A49 ldr r1, .L130+20
+ 2245 .LVL285:
+ 2246 015c 8C46 mov ip, r1
+ 2247 015e 6244 add r2, r2, ip
+ 2248 .LVL286:
+ 2249 .LBB76:
+ 2250 0160 002B cmp r3, #0
+ 2251 0162 06D1 bne .L103
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2252 .loc 1 449 0 discriminator 3
+ 2253 0164 1188 ldrh r1, [r2]
+ 2254 0166 5348 ldr r0, .L130+4
+ 2255 0168 0840 ands r0, r1
+ 2256 016a 5349 ldr r1, .L130+8
+ 2257 016c 0143 orrs r1, r0
+ 2258 016e 1180 strh r1, [r2]
+ 2259 0170 1BE0 b .L104
+ 2260 .L103:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2261 .loc 1 449 0 discriminator 4
+ 2262 0172 3E2B cmp r3, #62
+ 2263 0174 06D8 bhi .L105
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2264 .loc 1 449 0 discriminator 5
+ 2265 0176 5908 lsrs r1, r3, #1
+ 2266 .LVL287:
+ 2267 0178 D807 lsls r0, r3, #31
+ 2268 017a 00D5 bpl .L106
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2269 .loc 1 449 0 discriminator 7
+ 2270 017c 0131 adds r1, r1, #1
+ 2271 .LVL288:
+ 2272 .L106:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2273 .loc 1 449 0 discriminator 9
+ ARM GAS /tmp/ccalJhl3.s page 56
+
+
+ 2274 017e 8902 lsls r1, r1, #10
+ 2275 .LVL289:
+ 2276 0180 1180 strh r1, [r2]
+ 2277 0182 12E0 b .L104
+ 2278 .L105:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2279 .loc 1 449 0 discriminator 6
+ 2280 0184 5909 lsrs r1, r3, #5
+ 2281 .LVL290:
+ 2282 0186 D806 lsls r0, r3, #27
+ 2283 0188 00D1 bne .L107
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2284 .loc 1 449 0 discriminator 10
+ 2285 018a 0139 subs r1, r1, #1
+ 2286 .LVL291:
+ 2287 .L107:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2288 .loc 1 449 0 discriminator 12
+ 2289 018c 8902 lsls r1, r1, #10
+ 2290 .LVL292:
+ 2291 018e 89B2 uxth r1, r1
+ 2292 0190 4948 ldr r0, .L130+8
+ 2293 0192 0143 orrs r1, r0
+ 2294 0194 1180 strh r1, [r2]
+ 2295 0196 08E0 b .L104
+ 2296 .LVL293:
+ 2297 .L102:
+ 2298 .LBE76:
+ 2299 .LBE75:
+ 2300 .LBB77:
+ 449:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pmabuffer = ep->pmaaddr0;
+ 2301 .loc 1 449 0 discriminator 13
+ 2302 0198 5021 movs r1, #80
+ 2303 019a 695A ldrh r1, [r5, r1]
+ 2304 019c 6918 adds r1, r5, r1
+ 2305 .LVL294:
+ 2306 019e D200 lsls r2, r2, #3
+ 2307 01a0 5218 adds r2, r2, r1
+ 2308 01a2 4849 ldr r1, .L130+20
+ 2309 .LVL295:
+ 2310 01a4 8C46 mov ip, r1
+ 2311 01a6 6244 add r2, r2, ip
+ 2312 .LVL296:
+ 2313 01a8 1380 strh r3, [r2]
+ 2314 .LVL297:
+ 2315 .L104:
+ 2316 .LBE77:
+ 450:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2317 .loc 1 450 0 is_stmt 1
+ 2318 01aa 2289 ldrh r2, [r4, #8]
+ 2319 .LVL298:
+ 2320 01ac AFE7 b .L101
+ 2321 .LVL299:
+ 2322 .L108:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2323 .loc 1 453 0 discriminator 2
+ 2324 01ae 012B cmp r3, #1
+ ARM GAS /tmp/ccalJhl3.s page 57
+
+
+ 2325 01b0 BFD1 bne .L93
+ 2326 .LBB78:
+ 453:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2327 .loc 1 453 0 is_stmt 0 discriminator 3
+ 2328 01b2 2378 ldrb r3, [r4]
+ 2329 01b4 9B00 lsls r3, r3, #2
+ 2330 01b6 EB18 adds r3, r5, r3
+ 2331 01b8 1A88 ldrh r2, [r3]
+ 2332 01ba 4349 ldr r1, .L130+24
+ 2333 01bc 1140 ands r1, r2
+ 2334 .LVL300:
+ 2335 01be 454A ldr r2, .L130+36
+ 2336 01c0 0A43 orrs r2, r1
+ 2337 01c2 92B2 uxth r2, r2
+ 2338 01c4 1A80 strh r2, [r3]
+ 2339 01c6 B4E7 b .L93
+ 2340 .LVL301:
+ 2341 .L110:
+ 2342 .LBE78:
+ 469:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2343 .loc 1 469 0 is_stmt 1
+ 2344 01c8 0023 movs r3, #0
+ 2345 01ca A361 str r3, [r4, #24]
+ 468:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** ep->xfer_len = 0U;
+ 2346 .loc 1 468 0
+ 2347 01cc 1300 movs r3, r2
+ 2348 01ce 24E7 b .L111
+ 2349 .LVL302:
+ 2350 .L113:
+ 2351 .LBB79:
+ 2352 .LBB64:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2353 .loc 1 476 0 discriminator 2
+ 2354 01d0 3E2B cmp r3, #62
+ 2355 01d2 06D8 bhi .L115
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2356 .loc 1 476 0 is_stmt 0 discriminator 3
+ 2357 01d4 5908 lsrs r1, r3, #1
+ 2358 .LVL303:
+ 2359 01d6 DB07 lsls r3, r3, #31
+ 2360 01d8 00D5 bpl .L116
+ 2361 .LVL304:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2362 .loc 1 476 0 discriminator 5
+ 2363 01da 0131 adds r1, r1, #1
+ 2364 .LVL305:
+ 2365 .L116:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2366 .loc 1 476 0 discriminator 7
+ 2367 01dc 8902 lsls r1, r1, #10
+ 2368 .LVL306:
+ 2369 01de 1180 strh r1, [r2]
+ 2370 01e0 31E7 b .L114
+ 2371 .LVL307:
+ 2372 .L115:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2373 .loc 1 476 0 discriminator 4
+ ARM GAS /tmp/ccalJhl3.s page 58
+
+
+ 2374 01e2 5909 lsrs r1, r3, #5
+ 2375 .LVL308:
+ 2376 01e4 DB06 lsls r3, r3, #27
+ 2377 01e6 00D1 bne .L117
+ 2378 .LVL309:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2379 .loc 1 476 0 discriminator 8
+ 2380 01e8 0139 subs r1, r1, #1
+ 2381 .LVL310:
+ 2382 .L117:
+ 476:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2383 .loc 1 476 0 discriminator 10
+ 2384 01ea 8902 lsls r1, r1, #10
+ 2385 .LVL311:
+ 2386 01ec 89B2 uxth r1, r1
+ 2387 01ee 324B ldr r3, .L130+8
+ 2388 01f0 1943 orrs r1, r3
+ 2389 01f2 1180 strh r1, [r2]
+ 2390 01f4 27E7 b .L114
+ 2391 .LVL312:
+ 2392 .L112:
+ 2393 .LBE64:
+ 2394 .LBE79:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2395 .loc 1 481 0 is_stmt 1
+ 2396 01f6 0029 cmp r1, #0
+ 2397 01f8 10D1 bne .L118
+ 2398 .LVL313:
+ 2399 .LBB80:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2400 .loc 1 481 0 is_stmt 0 discriminator 1
+ 2401 01fa 5022 movs r2, #80
+ 2402 01fc A95A ldrh r1, [r5, r2]
+ 2403 01fe 6918 adds r1, r5, r1
+ 2404 .LVL314:
+ 2405 0200 2278 ldrb r2, [r4]
+ 2406 0202 D200 lsls r2, r2, #3
+ 2407 0204 5218 adds r2, r2, r1
+ 2408 0206 2F49 ldr r1, .L130+20
+ 2409 .LVL315:
+ 2410 0208 8C46 mov ip, r1
+ 2411 020a 6244 add r2, r2, ip
+ 2412 .LVL316:
+ 2413 .LBB81:
+ 2414 020c 002B cmp r3, #0
+ 2415 020e 1AD1 bne .L119
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2416 .loc 1 481 0 discriminator 3
+ 2417 0210 1188 ldrh r1, [r2]
+ 2418 0212 2848 ldr r0, .L130+4
+ 2419 .LVL317:
+ 2420 0214 0840 ands r0, r1
+ 2421 0216 2849 ldr r1, .L130+8
+ 2422 0218 0143 orrs r1, r0
+ 2423 021a 1180 strh r1, [r2]
+ 2424 .LVL318:
+ 2425 .L118:
+ ARM GAS /tmp/ccalJhl3.s page 59
+
+
+ 2426 .LBE81:
+ 2427 .LBE80:
+ 2428 .LBB83:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2429 .loc 1 481 0 discriminator 15
+ 2430 021c 6278 ldrb r2, [r4, #1]
+ 2431 021e 002A cmp r2, #0
+ 2432 0220 37D1 bne .L123
+ 2433 .LVL319:
+ 2434 .LBB84:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2435 .loc 1 481 0 discriminator 16
+ 2436 0222 5032 adds r2, r2, #80
+ 2437 0224 A95A ldrh r1, [r5, r2]
+ 2438 0226 6918 adds r1, r5, r1
+ 2439 .LVL320:
+ 2440 0228 2278 ldrb r2, [r4]
+ 2441 022a D200 lsls r2, r2, #3
+ 2442 022c 5218 adds r2, r2, r1
+ 2443 022e 2049 ldr r1, .L130
+ 2444 .LVL321:
+ 2445 0230 8C46 mov ip, r1
+ 2446 0232 6244 add r2, r2, ip
+ 2447 .LVL322:
+ 2448 .LBB85:
+ 2449 0234 002B cmp r3, #0
+ 2450 0236 19D1 bne .L124
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2451 .loc 1 481 0 discriminator 18
+ 2452 0238 1388 ldrh r3, [r2]
+ 2453 .LVL323:
+ 2454 023a 1E49 ldr r1, .L130+4
+ 2455 023c 1940 ands r1, r3
+ 2456 023e 1E4B ldr r3, .L130+8
+ 2457 0240 0B43 orrs r3, r1
+ 2458 0242 1380 strh r3, [r2]
+ 2459 0244 FFE6 b .L114
+ 2460 .LVL324:
+ 2461 .L119:
+ 2462 .LBE85:
+ 2463 .LBE84:
+ 2464 .LBE83:
+ 2465 .LBB88:
+ 2466 .LBB82:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2467 .loc 1 481 0 discriminator 4
+ 2468 0246 3E2B cmp r3, #62
+ 2469 0248 06D8 bhi .L120
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2470 .loc 1 481 0 discriminator 5
+ 2471 024a 5908 lsrs r1, r3, #1
+ 2472 .LVL325:
+ 2473 024c D807 lsls r0, r3, #31
+ 2474 024e 00D5 bpl .L121
+ 2475 .LVL326:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2476 .loc 1 481 0 discriminator 7
+ ARM GAS /tmp/ccalJhl3.s page 60
+
+
+ 2477 0250 0131 adds r1, r1, #1
+ 2478 .LVL327:
+ 2479 .L121:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2480 .loc 1 481 0 discriminator 9
+ 2481 0252 8902 lsls r1, r1, #10
+ 2482 .LVL328:
+ 2483 0254 1180 strh r1, [r2]
+ 2484 0256 E1E7 b .L118
+ 2485 .LVL329:
+ 2486 .L120:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2487 .loc 1 481 0 discriminator 6
+ 2488 0258 5909 lsrs r1, r3, #5
+ 2489 .LVL330:
+ 2490 025a D806 lsls r0, r3, #27
+ 2491 025c 00D1 bne .L122
+ 2492 .LVL331:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2493 .loc 1 481 0 discriminator 10
+ 2494 025e 0139 subs r1, r1, #1
+ 2495 .LVL332:
+ 2496 .L122:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2497 .loc 1 481 0 discriminator 12
+ 2498 0260 8902 lsls r1, r1, #10
+ 2499 .LVL333:
+ 2500 0262 89B2 uxth r1, r1
+ 2501 0264 1448 ldr r0, .L130+8
+ 2502 0266 0143 orrs r1, r0
+ 2503 0268 1180 strh r1, [r2]
+ 2504 026a D7E7 b .L118
+ 2505 .LVL334:
+ 2506 .L124:
+ 2507 .LBE82:
+ 2508 .LBE88:
+ 2509 .LBB89:
+ 2510 .LBB87:
+ 2511 .LBB86:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2512 .loc 1 481 0 discriminator 19
+ 2513 026c 3E2B cmp r3, #62
+ 2514 026e 06D8 bhi .L125
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2515 .loc 1 481 0 discriminator 20
+ 2516 0270 5908 lsrs r1, r3, #1
+ 2517 .LVL335:
+ 2518 0272 DB07 lsls r3, r3, #31
+ 2519 0274 00D5 bpl .L126
+ 2520 .LVL336:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2521 .loc 1 481 0 discriminator 22
+ 2522 0276 0131 adds r1, r1, #1
+ 2523 .LVL337:
+ 2524 .L126:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2525 .loc 1 481 0 discriminator 24
+ ARM GAS /tmp/ccalJhl3.s page 61
+
+
+ 2526 0278 8902 lsls r1, r1, #10
+ 2527 .LVL338:
+ 2528 027a 1180 strh r1, [r2]
+ 2529 027c E3E6 b .L114
+ 2530 .LVL339:
+ 2531 .L125:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2532 .loc 1 481 0 discriminator 21
+ 2533 027e 5909 lsrs r1, r3, #5
+ 2534 .LVL340:
+ 2535 0280 DB06 lsls r3, r3, #27
+ 2536 0282 00D1 bne .L127
+ 2537 .LVL341:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2538 .loc 1 481 0 discriminator 25
+ 2539 0284 0139 subs r1, r1, #1
+ 2540 .LVL342:
+ 2541 .L127:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2542 .loc 1 481 0 discriminator 27
+ 2543 0286 8902 lsls r1, r1, #10
+ 2544 .LVL343:
+ 2545 0288 89B2 uxth r1, r1
+ 2546 028a 0B4B ldr r3, .L130+8
+ 2547 028c 1943 orrs r1, r3
+ 2548 028e 1180 strh r1, [r2]
+ 2549 0290 D9E6 b .L114
+ 2550 .LVL344:
+ 2551 .L123:
+ 2552 .LBE86:
+ 2553 .LBE87:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2554 .loc 1 481 0 discriminator 17
+ 2555 0292 012A cmp r2, #1
+ 2556 0294 00D0 beq .LCB2716
+ 2557 0296 D6E6 b .L114 @long jump
+ 2558 .LCB2716:
+ 481:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2559 .loc 1 481 0 discriminator 28
+ 2560 0298 4F32 adds r2, r2, #79
+ 2561 029a A95A ldrh r1, [r5, r2]
+ 2562 029c 6918 adds r1, r5, r1
+ 2563 .LVL345:
+ 2564 029e 2278 ldrb r2, [r4]
+ 2565 02a0 D200 lsls r2, r2, #3
+ 2566 02a2 5218 adds r2, r2, r1
+ 2567 02a4 0249 ldr r1, .L130
+ 2568 .LVL346:
+ 2569 02a6 8C46 mov ip, r1
+ 2570 02a8 6244 add r2, r2, ip
+ 2571 .LVL347:
+ 2572 02aa 1380 strh r3, [r2]
+ 2573 02ac CBE6 b .L114
+ 2574 .L131:
+ 2575 02ae C046 .align 2
+ 2576 .L130:
+ 2577 02b0 06040000 .word 1030
+ ARM GAS /tmp/ccalJhl3.s page 62
+
+
+ 2578 02b4 FF83FFFF .word -31745
+ 2579 02b8 0080FFFF .word -32768
+ 2580 02bc 8FBFFFFF .word -16497
+ 2581 02c0 8080FFFF .word -32640
+ 2582 02c4 02040000 .word 1026
+ 2583 02c8 8F8FFFFF .word -28785
+ 2584 02cc C080FFFF .word -32576
+ 2585 02d0 BF8FFFFF .word -28737
+ 2586 02d4 80C0FFFF .word -16256
+ 2587 .LBE89:
+ 2588 .cfi_endproc
+ 2589 .LFE50:
+ 2591 .section .text.USB_ReadPMA,"ax",%progbits
+ 2592 .align 1
+ 2593 .global USB_ReadPMA
+ 2594 .syntax unified
+ 2595 .code 16
+ 2596 .thumb_func
+ 2597 .fpu softvfp
+ 2599 USB_ReadPMA:
+ 2600 .LFB69:
+ 823:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 824:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** /**
+ 825:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @brief Copy a buffer from user memory area to packet memory area (PMA)
+ 826:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param USBx: USB peripheral instance register address.
+ 827:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param pbUsrBuf pointer to user memory area.
+ 828:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wPMABufAddr address into PMA.
+ 829:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @param wNBytes: no. of bytes to be copied.
+ 830:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** * @retval None
+ 831:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** */
+ 832:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** void USB_ReadPMA(USB_TypeDef *USBx, uint8_t *pbUsrBuf, uint16_t wPMABufAddr, uint16_t wNBytes)
+ 833:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2601 .loc 1 833 0 is_stmt 1
+ 2602 .cfi_startproc
+ 2603 @ args = 0, pretend = 0, frame = 0
+ 2604 @ frame_needed = 0, uses_anonymous_args = 0
+ 2605 .LVL348:
+ 2606 0000 30B5 push {r4, r5, lr}
+ 2607 .LCFI8:
+ 2608 .cfi_def_cfa_offset 12
+ 2609 .cfi_offset 4, -12
+ 2610 .cfi_offset 5, -8
+ 2611 .cfi_offset 14, -4
+ 834:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t n = (uint32_t)wNBytes >> 1;
+ 2612 .loc 1 834 0
+ 2613 0002 5D08 lsrs r5, r3, #1
+ 2614 .LVL349:
+ 835:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t BaseAddr = (uint32_t)USBx;
+ 836:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint32_t i, temp;
+ 837:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** __IO uint16_t *pdwVal;
+ 838:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** uint8_t *pBuf = pbUsrBuf;
+ 839:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 840:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal = (__IO uint16_t *)(BaseAddr + 0x400U + ((uint32_t)wPMABufAddr * PMA_ACCESS));
+ 2615 .loc 1 840 0
+ 2616 0004 1218 adds r2, r2, r0
+ 2617 .LVL350:
+ 2618 0006 8020 movs r0, #128
+ ARM GAS /tmp/ccalJhl3.s page 63
+
+
+ 2619 .LVL351:
+ 2620 0008 C000 lsls r0, r0, #3
+ 2621 000a 8446 mov ip, r0
+ 2622 000c 6244 add r2, r2, ip
+ 2623 .LVL352:
+ 841:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** for (i = n; i != 0U; i--)
+ 2624 .loc 1 842 0
+ 2625 000e 07E0 b .L133
+ 2626 .LVL353:
+ 2627 .L134:
+ 843:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 844:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp = *(__IO uint16_t *)pdwVal;
+ 2628 .loc 1 844 0 discriminator 3
+ 2629 0010 1488 ldrh r4, [r2]
+ 2630 0012 A4B2 uxth r4, r4
+ 2631 .LVL354:
+ 845:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 2632 .loc 1 845 0 discriminator 3
+ 2633 0014 0232 adds r2, r2, #2
+ 2634 .LVL355:
+ 846:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
+ 2635 .loc 1 846 0 discriminator 3
+ 2636 0016 0C70 strb r4, [r1]
+ 2637 .LVL356:
+ 847:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 848:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 8) & 0xFFU);
+ 2638 .loc 1 848 0 discriminator 3
+ 2639 0018 240A lsrs r4, r4, #8
+ 2640 .LVL357:
+ 2641 001a 4C70 strb r4, [r1, #1]
+ 849:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pBuf++;
+ 2642 .loc 1 849 0 discriminator 3
+ 2643 001c 0231 adds r1, r1, #2
+ 2644 .LVL358:
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2645 .loc 1 842 0 discriminator 3
+ 2646 001e 013D subs r5, r5, #1
+ 2647 .LVL359:
+ 2648 .L133:
+ 842:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 2649 .loc 1 842 0 is_stmt 0 discriminator 1
+ 2650 0020 002D cmp r5, #0
+ 2651 0022 F5D1 bne .L134
+ 850:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 851:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #if PMA_ACCESS > 1U
+ 852:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** pdwVal++;
+ 853:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** #endif
+ 854:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 855:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c ****
+ 856:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** if ((wNBytes % 2U) != 0U)
+ 2652 .loc 1 856 0 is_stmt 1
+ 2653 0024 DB07 lsls r3, r3, #31
+ 2654 0026 01D5 bpl .L132
+ 2655 .LVL360:
+ 857:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** {
+ 858:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** temp = *pdwVal;
+ ARM GAS /tmp/ccalJhl3.s page 64
+
+
+ 2656 .loc 1 858 0
+ 2657 0028 1388 ldrh r3, [r2]
+ 2658 .LVL361:
+ 859:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** *pBuf = (uint8_t)((temp >> 0) & 0xFFU);
+ 2659 .loc 1 859 0
+ 2660 002a 0B70 strb r3, [r1]
+ 2661 .LVL362:
+ 2662 .L132:
+ 860:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 861:Drivers/STM32F0xx_HAL_Driver/Src/stm32f0xx_ll_usb.c **** }
+ 2663 .loc 1 861 0
+ 2664 @ sp needed
+ 2665 .LVL363:
+ 2666 002c 30BD pop {r4, r5, pc}
+ 2667 .cfi_endproc
+ 2668 .LFE69:
+ 2670 .text
+ 2671 .Letext0:
+ 2672 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 2673 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 2674 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 2675 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 2676 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 2677 .file 7 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 2678 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccalJhl3.s page 65
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 stm32f0xx_ll_usb.c
+ /tmp/ccalJhl3.s:16 .text.USB_CoreInit:0000000000000000 $t
+ /tmp/ccalJhl3.s:23 .text.USB_CoreInit:0000000000000000 USB_CoreInit
+ /tmp/ccalJhl3.s:48 .text.USB_EnableGlobalInt:0000000000000000 $t
+ /tmp/ccalJhl3.s:55 .text.USB_EnableGlobalInt:0000000000000000 USB_EnableGlobalInt
+ /tmp/ccalJhl3.s:78 .text.USB_EnableGlobalInt:0000000000000010 $d
+ /tmp/ccalJhl3.s:83 .text.USB_DisableGlobalInt:0000000000000000 $t
+ /tmp/ccalJhl3.s:90 .text.USB_DisableGlobalInt:0000000000000000 USB_DisableGlobalInt
+ /tmp/ccalJhl3.s:112 .text.USB_DisableGlobalInt:0000000000000010 $d
+ /tmp/ccalJhl3.s:117 .text.USB_SetCurrentMode:0000000000000000 $t
+ /tmp/ccalJhl3.s:124 .text.USB_SetCurrentMode:0000000000000000 USB_SetCurrentMode
+ /tmp/ccalJhl3.s:141 .text.USB_DevInit:0000000000000000 $t
+ /tmp/ccalJhl3.s:148 .text.USB_DevInit:0000000000000000 USB_DevInit
+ /tmp/ccalJhl3.s:193 .text.USB_SetDevSpeed:0000000000000000 $t
+ /tmp/ccalJhl3.s:200 .text.USB_SetDevSpeed:0000000000000000 USB_SetDevSpeed
+ /tmp/ccalJhl3.s:217 .text.USB_FlushTxFifo:0000000000000000 $t
+ /tmp/ccalJhl3.s:224 .text.USB_FlushTxFifo:0000000000000000 USB_FlushTxFifo
+ /tmp/ccalJhl3.s:241 .text.USB_FlushRxFifo:0000000000000000 $t
+ /tmp/ccalJhl3.s:248 .text.USB_FlushRxFifo:0000000000000000 USB_FlushRxFifo
+ /tmp/ccalJhl3.s:265 .text.USB_ActivateEndpoint:0000000000000000 $t
+ /tmp/ccalJhl3.s:272 .text.USB_ActivateEndpoint:0000000000000000 USB_ActivateEndpoint
+ /tmp/ccalJhl3.s:891 .text.USB_ActivateEndpoint:00000000000002d0 $d
+ /tmp/ccalJhl3.s:908 .text.USB_DeactivateEndpoint:0000000000000000 $t
+ /tmp/ccalJhl3.s:915 .text.USB_DeactivateEndpoint:0000000000000000 USB_DeactivateEndpoint
+ /tmp/ccalJhl3.s:1220 .text.USB_DeactivateEndpoint:0000000000000158 $d
+ /tmp/ccalJhl3.s:1231 .text.USB_WritePacket:0000000000000000 $t
+ /tmp/ccalJhl3.s:1238 .text.USB_WritePacket:0000000000000000 USB_WritePacket
+ /tmp/ccalJhl3.s:1255 .text.USB_ReadPacket:0000000000000000 $t
+ /tmp/ccalJhl3.s:1262 .text.USB_ReadPacket:0000000000000000 USB_ReadPacket
+ /tmp/ccalJhl3.s:1279 .text.USB_EPSetStall:0000000000000000 $t
+ /tmp/ccalJhl3.s:1286 .text.USB_EPSetStall:0000000000000000 USB_EPSetStall
+ /tmp/ccalJhl3.s:1347 .text.USB_EPSetStall:0000000000000040 $d
+ /tmp/ccalJhl3.s:1354 .text.USB_EPClearStall:0000000000000000 $t
+ /tmp/ccalJhl3.s:1361 .text.USB_EPClearStall:0000000000000000 USB_EPClearStall
+ /tmp/ccalJhl3.s:1482 .text.USB_EPClearStall:0000000000000080 $d
+ /tmp/ccalJhl3.s:1492 .text.USB_StopDevice:0000000000000000 $t
+ /tmp/ccalJhl3.s:1499 .text.USB_StopDevice:0000000000000000 USB_StopDevice
+ /tmp/ccalJhl3.s:1527 .text.USB_SetDevAddress:0000000000000000 $t
+ /tmp/ccalJhl3.s:1534 .text.USB_SetDevAddress:0000000000000000 USB_SetDevAddress
+ /tmp/ccalJhl3.s:1559 .text.USB_DevConnect:0000000000000000 $t
+ /tmp/ccalJhl3.s:1566 .text.USB_DevConnect:0000000000000000 USB_DevConnect
+ /tmp/ccalJhl3.s:1589 .text.USB_DevConnect:0000000000000010 $d
+ /tmp/ccalJhl3.s:1594 .text.USB_DevDisconnect:0000000000000000 $t
+ /tmp/ccalJhl3.s:1601 .text.USB_DevDisconnect:0000000000000000 USB_DevDisconnect
+ /tmp/ccalJhl3.s:1624 .text.USB_ReadInterrupts:0000000000000000 $t
+ /tmp/ccalJhl3.s:1631 .text.USB_ReadInterrupts:0000000000000000 USB_ReadInterrupts
+ /tmp/ccalJhl3.s:1652 .text.USB_ReadDevAllOutEpInterrupt:0000000000000000 $t
+ /tmp/ccalJhl3.s:1659 .text.USB_ReadDevAllOutEpInterrupt:0000000000000000 USB_ReadDevAllOutEpInterrupt
+ /tmp/ccalJhl3.s:1676 .text.USB_ReadDevAllInEpInterrupt:0000000000000000 $t
+ /tmp/ccalJhl3.s:1683 .text.USB_ReadDevAllInEpInterrupt:0000000000000000 USB_ReadDevAllInEpInterrupt
+ /tmp/ccalJhl3.s:1700 .text.USB_ReadDevOutEPInterrupt:0000000000000000 $t
+ /tmp/ccalJhl3.s:1707 .text.USB_ReadDevOutEPInterrupt:0000000000000000 USB_ReadDevOutEPInterrupt
+ /tmp/ccalJhl3.s:1724 .text.USB_ReadDevInEPInterrupt:0000000000000000 $t
+ /tmp/ccalJhl3.s:1731 .text.USB_ReadDevInEPInterrupt:0000000000000000 USB_ReadDevInEPInterrupt
+ /tmp/ccalJhl3.s:1748 .text.USB_ClearInterrupts:0000000000000000 $t
+ /tmp/ccalJhl3.s:1755 .text.USB_ClearInterrupts:0000000000000000 USB_ClearInterrupts
+ ARM GAS /tmp/ccalJhl3.s page 66
+
+
+ /tmp/ccalJhl3.s:1770 .text.USB_EP0_OutStart:0000000000000000 $t
+ /tmp/ccalJhl3.s:1777 .text.USB_EP0_OutStart:0000000000000000 USB_EP0_OutStart
+ /tmp/ccalJhl3.s:1794 .text.USB_ActivateRemoteWakeup:0000000000000000 $t
+ /tmp/ccalJhl3.s:1801 .text.USB_ActivateRemoteWakeup:0000000000000000 USB_ActivateRemoteWakeup
+ /tmp/ccalJhl3.s:1824 .text.USB_DeActivateRemoteWakeup:0000000000000000 $t
+ /tmp/ccalJhl3.s:1831 .text.USB_DeActivateRemoteWakeup:0000000000000000 USB_DeActivateRemoteWakeup
+ /tmp/ccalJhl3.s:1854 .text.USB_WritePMA:0000000000000000 $t
+ /tmp/ccalJhl3.s:1861 .text.USB_WritePMA:0000000000000000 USB_WritePMA
+ /tmp/ccalJhl3.s:1922 .text.USB_EPStartXfer:0000000000000000 $t
+ /tmp/ccalJhl3.s:1929 .text.USB_EPStartXfer:0000000000000000 USB_EPStartXfer
+ /tmp/ccalJhl3.s:2577 .text.USB_EPStartXfer:00000000000002b0 $d
+ /tmp/ccalJhl3.s:2592 .text.USB_ReadPMA:0000000000000000 $t
+ /tmp/ccalJhl3.s:2599 .text.USB_ReadPMA:0000000000000000 USB_ReadPMA
+
+NO UNDEFINED SYMBOLS
diff --git a/fw/midi-dials/build/stm32f0xx_ll_usb.o b/fw/midi-dials/build/stm32f0xx_ll_usb.o
new file mode 100644
index 0000000..b0efa3f
--- /dev/null
+++ b/fw/midi-dials/build/stm32f0xx_ll_usb.o
Binary files differ
diff --git a/fw/midi-dials/build/system_stm32f0xx.d b/fw/midi-dials/build/system_stm32f0xx.d
new file mode 100644
index 0000000..ad1d99e
--- /dev/null
+++ b/fw/midi-dials/build/system_stm32f0xx.d
@@ -0,0 +1,86 @@
+build/system_stm32f0xx.o: Src/system_stm32f0xx.c \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
diff --git a/fw/midi-dials/build/system_stm32f0xx.lst b/fw/midi-dials/build/system_stm32f0xx.lst
new file mode 100644
index 0000000..5794d8c
--- /dev/null
+++ b/fw/midi-dials/build/system_stm32f0xx.lst
@@ -0,0 +1,539 @@
+ARM GAS /tmp/ccfT8vne.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 "system_stm32f0xx.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.SystemInit,"ax",%progbits
+ 16 .align 1
+ 17 .global SystemInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 SystemInit:
+ 24 .LFB40:
+ 25 .file 1 "Src/system_stm32f0xx.c"
+ 1:Src/system_stm32f0xx.c **** /**
+ 2:Src/system_stm32f0xx.c **** ******************************************************************************
+ 3:Src/system_stm32f0xx.c **** * @file system_stm32f0xx.c
+ 4:Src/system_stm32f0xx.c **** * @author MCD Application Team
+ 5:Src/system_stm32f0xx.c **** * @brief CMSIS Cortex-M0 Device Peripheral Access Layer System Source File.
+ 6:Src/system_stm32f0xx.c **** *
+ 7:Src/system_stm32f0xx.c **** * 1. This file provides two functions and one global variable to be called from
+ 8:Src/system_stm32f0xx.c **** * user application:
+ 9:Src/system_stm32f0xx.c **** * - SystemInit(): This function is called at startup just after reset and
+ 10:Src/system_stm32f0xx.c **** * before branch to main program. This call is made inside
+ 11:Src/system_stm32f0xx.c **** * the "startup_stm32f0xx.s" file.
+ 12:Src/system_stm32f0xx.c **** *
+ 13:Src/system_stm32f0xx.c **** * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ 14:Src/system_stm32f0xx.c **** * by the user application to setup the SysTick
+ 15:Src/system_stm32f0xx.c **** * timer or configure other parameters.
+ 16:Src/system_stm32f0xx.c **** *
+ 17:Src/system_stm32f0xx.c **** * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ 18:Src/system_stm32f0xx.c **** * be called whenever the core clock is changed
+ 19:Src/system_stm32f0xx.c **** * during program execution.
+ 20:Src/system_stm32f0xx.c **** *
+ 21:Src/system_stm32f0xx.c **** * 2. After each device reset the HSI (8 MHz) is used as system clock source.
+ 22:Src/system_stm32f0xx.c **** * Then SystemInit() function is called, in "startup_stm32f0xx.s" file, to
+ 23:Src/system_stm32f0xx.c **** * configure the system clock before to branch to main program.
+ 24:Src/system_stm32f0xx.c **** *
+ 25:Src/system_stm32f0xx.c **** * 3. This file configures the system clock as follows:
+ 26:Src/system_stm32f0xx.c **** *=============================================================================
+ 27:Src/system_stm32f0xx.c **** * Supported STM32F0xx device
+ 28:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 29:Src/system_stm32f0xx.c **** * System Clock source | HSI
+ 30:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 31:Src/system_stm32f0xx.c **** * SYSCLK(Hz) | 8000000
+ 32:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 33:Src/system_stm32f0xx.c **** * HCLK(Hz) | 8000000
+ ARM GAS /tmp/ccfT8vne.s page 2
+
+
+ 34:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 35:Src/system_stm32f0xx.c **** * AHB Prescaler | 1
+ 36:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 37:Src/system_stm32f0xx.c **** * APB1 Prescaler | 1
+ 38:Src/system_stm32f0xx.c **** *-----------------------------------------------------------------------------
+ 39:Src/system_stm32f0xx.c **** *=============================================================================
+ 40:Src/system_stm32f0xx.c **** ******************************************************************************
+ 41:Src/system_stm32f0xx.c **** * @attention
+ 42:Src/system_stm32f0xx.c **** *
+ 43:Src/system_stm32f0xx.c **** * <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
+ 44:Src/system_stm32f0xx.c **** * All rights reserved.</center></h2>
+ 45:Src/system_stm32f0xx.c **** *
+ 46:Src/system_stm32f0xx.c **** * This software component is licensed by ST under BSD 3-Clause license,
+ 47:Src/system_stm32f0xx.c **** * the "License"; You may not use this file except in compliance with the
+ 48:Src/system_stm32f0xx.c **** * License. You may obtain a copy of the License at:
+ 49:Src/system_stm32f0xx.c **** * opensource.org/licenses/BSD-3-Clause
+ 50:Src/system_stm32f0xx.c **** *
+ 51:Src/system_stm32f0xx.c **** ******************************************************************************
+ 52:Src/system_stm32f0xx.c **** */
+ 53:Src/system_stm32f0xx.c ****
+ 54:Src/system_stm32f0xx.c **** /** @addtogroup CMSIS
+ 55:Src/system_stm32f0xx.c **** * @{
+ 56:Src/system_stm32f0xx.c **** */
+ 57:Src/system_stm32f0xx.c ****
+ 58:Src/system_stm32f0xx.c **** /** @addtogroup stm32f0xx_system
+ 59:Src/system_stm32f0xx.c **** * @{
+ 60:Src/system_stm32f0xx.c **** */
+ 61:Src/system_stm32f0xx.c ****
+ 62:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Includes
+ 63:Src/system_stm32f0xx.c **** * @{
+ 64:Src/system_stm32f0xx.c **** */
+ 65:Src/system_stm32f0xx.c ****
+ 66:Src/system_stm32f0xx.c **** #include "stm32f0xx.h"
+ 67:Src/system_stm32f0xx.c ****
+ 68:Src/system_stm32f0xx.c **** /**
+ 69:Src/system_stm32f0xx.c **** * @}
+ 70:Src/system_stm32f0xx.c **** */
+ 71:Src/system_stm32f0xx.c ****
+ 72:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_TypesDefinitions
+ 73:Src/system_stm32f0xx.c **** * @{
+ 74:Src/system_stm32f0xx.c **** */
+ 75:Src/system_stm32f0xx.c ****
+ 76:Src/system_stm32f0xx.c **** /**
+ 77:Src/system_stm32f0xx.c **** * @}
+ 78:Src/system_stm32f0xx.c **** */
+ 79:Src/system_stm32f0xx.c ****
+ 80:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Defines
+ 81:Src/system_stm32f0xx.c **** * @{
+ 82:Src/system_stm32f0xx.c **** */
+ 83:Src/system_stm32f0xx.c **** #if !defined (HSE_VALUE)
+ 84:Src/system_stm32f0xx.c **** #define HSE_VALUE ((uint32_t)8000000) /*!< Default value of the External oscillator in Hz.
+ 85:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
+ 86:Src/system_stm32f0xx.c **** #endif /* HSE_VALUE */
+ 87:Src/system_stm32f0xx.c ****
+ 88:Src/system_stm32f0xx.c **** #if !defined (HSI_VALUE)
+ 89:Src/system_stm32f0xx.c **** #define HSI_VALUE ((uint32_t)8000000) /*!< Default value of the Internal oscillator in Hz.
+ 90:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
+ ARM GAS /tmp/ccfT8vne.s page 3
+
+
+ 91:Src/system_stm32f0xx.c **** #endif /* HSI_VALUE */
+ 92:Src/system_stm32f0xx.c ****
+ 93:Src/system_stm32f0xx.c **** #if !defined (HSI48_VALUE)
+ 94:Src/system_stm32f0xx.c **** #define HSI48_VALUE ((uint32_t)48000000) /*!< Default value of the HSI48 Internal oscillator in
+ 95:Src/system_stm32f0xx.c **** This value can be provided and adapted by the user
+ 96:Src/system_stm32f0xx.c **** #endif /* HSI48_VALUE */
+ 97:Src/system_stm32f0xx.c **** /**
+ 98:Src/system_stm32f0xx.c **** * @}
+ 99:Src/system_stm32f0xx.c **** */
+ 100:Src/system_stm32f0xx.c ****
+ 101:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Macros
+ 102:Src/system_stm32f0xx.c **** * @{
+ 103:Src/system_stm32f0xx.c **** */
+ 104:Src/system_stm32f0xx.c ****
+ 105:Src/system_stm32f0xx.c **** /**
+ 106:Src/system_stm32f0xx.c **** * @}
+ 107:Src/system_stm32f0xx.c **** */
+ 108:Src/system_stm32f0xx.c ****
+ 109:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Variables
+ 110:Src/system_stm32f0xx.c **** * @{
+ 111:Src/system_stm32f0xx.c **** */
+ 112:Src/system_stm32f0xx.c **** /* This variable is updated in three ways:
+ 113:Src/system_stm32f0xx.c **** 1) by calling CMSIS function SystemCoreClockUpdate()
+ 114:Src/system_stm32f0xx.c **** 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 115:Src/system_stm32f0xx.c **** 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ 116:Src/system_stm32f0xx.c **** Note: If you use this function to configure the system clock there is no need to
+ 117:Src/system_stm32f0xx.c **** call the 2 first functions listed above, since SystemCoreClock variable is
+ 118:Src/system_stm32f0xx.c **** updated automatically.
+ 119:Src/system_stm32f0xx.c **** */
+ 120:Src/system_stm32f0xx.c **** uint32_t SystemCoreClock = 8000000;
+ 121:Src/system_stm32f0xx.c ****
+ 122:Src/system_stm32f0xx.c **** const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
+ 123:Src/system_stm32f0xx.c **** const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
+ 124:Src/system_stm32f0xx.c ****
+ 125:Src/system_stm32f0xx.c **** /**
+ 126:Src/system_stm32f0xx.c **** * @}
+ 127:Src/system_stm32f0xx.c **** */
+ 128:Src/system_stm32f0xx.c ****
+ 129:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_FunctionPrototypes
+ 130:Src/system_stm32f0xx.c **** * @{
+ 131:Src/system_stm32f0xx.c **** */
+ 132:Src/system_stm32f0xx.c ****
+ 133:Src/system_stm32f0xx.c **** /**
+ 134:Src/system_stm32f0xx.c **** * @}
+ 135:Src/system_stm32f0xx.c **** */
+ 136:Src/system_stm32f0xx.c ****
+ 137:Src/system_stm32f0xx.c **** /** @addtogroup STM32F0xx_System_Private_Functions
+ 138:Src/system_stm32f0xx.c **** * @{
+ 139:Src/system_stm32f0xx.c **** */
+ 140:Src/system_stm32f0xx.c ****
+ 141:Src/system_stm32f0xx.c **** /**
+ 142:Src/system_stm32f0xx.c **** * @brief Setup the microcontroller system.
+ 143:Src/system_stm32f0xx.c **** * @param None
+ 144:Src/system_stm32f0xx.c **** * @retval None
+ 145:Src/system_stm32f0xx.c **** */
+ 146:Src/system_stm32f0xx.c **** void SystemInit(void)
+ 147:Src/system_stm32f0xx.c **** {
+ ARM GAS /tmp/ccfT8vne.s page 4
+
+
+ 26 .loc 1 147 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 148:Src/system_stm32f0xx.c **** /* NOTE :SystemInit(): This function is called at startup just after reset and
+ 149:Src/system_stm32f0xx.c **** before branch to main program. This call is made inside
+ 150:Src/system_stm32f0xx.c **** the "startup_stm32f0xx.s" file.
+ 151:Src/system_stm32f0xx.c **** User can setups the default system clock (System clock source, PLL Multipl
+ 152:Src/system_stm32f0xx.c **** and Divider factors, AHB/APBx prescalers and Flash settings).
+ 153:Src/system_stm32f0xx.c **** */
+ 154:Src/system_stm32f0xx.c **** }
+ 31 .loc 1 154 0
+ 32 @ sp needed
+ 33 0000 7047 bx lr
+ 34 .cfi_endproc
+ 35 .LFE40:
+ 37 .global __aeabi_uidiv
+ 38 .section .text.SystemCoreClockUpdate,"ax",%progbits
+ 39 .align 1
+ 40 .global SystemCoreClockUpdate
+ 41 .syntax unified
+ 42 .code 16
+ 43 .thumb_func
+ 44 .fpu softvfp
+ 46 SystemCoreClockUpdate:
+ 47 .LFB41:
+ 155:Src/system_stm32f0xx.c ****
+ 156:Src/system_stm32f0xx.c **** /**
+ 157:Src/system_stm32f0xx.c **** * @brief Update SystemCoreClock variable according to Clock Register Values.
+ 158:Src/system_stm32f0xx.c **** * The SystemCoreClock variable contains the core clock (HCLK), it can
+ 159:Src/system_stm32f0xx.c **** * be used by the user application to setup the SysTick timer or configure
+ 160:Src/system_stm32f0xx.c **** * other parameters.
+ 161:Src/system_stm32f0xx.c **** *
+ 162:Src/system_stm32f0xx.c **** * @note Each time the core clock (HCLK) changes, this function must be called
+ 163:Src/system_stm32f0xx.c **** * to update SystemCoreClock variable value. Otherwise, any configuration
+ 164:Src/system_stm32f0xx.c **** * based on this variable will be incorrect.
+ 165:Src/system_stm32f0xx.c **** *
+ 166:Src/system_stm32f0xx.c **** * @note - The system frequency computed by this function is not the real
+ 167:Src/system_stm32f0xx.c **** * frequency in the chip. It is calculated based on the predefined
+ 168:Src/system_stm32f0xx.c **** * constant and the selected clock source:
+ 169:Src/system_stm32f0xx.c **** *
+ 170:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
+ 171:Src/system_stm32f0xx.c **** *
+ 172:Src/system_stm32f0xx.c **** * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
+ 173:Src/system_stm32f0xx.c **** *
+ 174:Src/system_stm32f0xx.c **** * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
+ 175:Src/system_stm32f0xx.c **** * or HSI_VALUE(*) multiplied/divided by the PLL factors.
+ 176:Src/system_stm32f0xx.c **** *
+ 177:Src/system_stm32f0xx.c **** * (*) HSI_VALUE is a constant defined in stm32f0xx_hal.h file (default value
+ 178:Src/system_stm32f0xx.c **** * 8 MHz) but the real value may vary depending on the variations
+ 179:Src/system_stm32f0xx.c **** * in voltage and temperature.
+ 180:Src/system_stm32f0xx.c **** *
+ 181:Src/system_stm32f0xx.c **** * (**) HSE_VALUE is a constant defined in stm32f0xx_hal.h file (default value
+ 182:Src/system_stm32f0xx.c **** * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ 183:Src/system_stm32f0xx.c **** * frequency of the crystal used. Otherwise, this function may
+ 184:Src/system_stm32f0xx.c **** * have wrong result.
+ ARM GAS /tmp/ccfT8vne.s page 5
+
+
+ 185:Src/system_stm32f0xx.c **** *
+ 186:Src/system_stm32f0xx.c **** * - The result of this function could be not correct when using fractional
+ 187:Src/system_stm32f0xx.c **** * value for HSE crystal.
+ 188:Src/system_stm32f0xx.c **** *
+ 189:Src/system_stm32f0xx.c **** * @param None
+ 190:Src/system_stm32f0xx.c **** * @retval None
+ 191:Src/system_stm32f0xx.c **** */
+ 192:Src/system_stm32f0xx.c **** void SystemCoreClockUpdate (void)
+ 193:Src/system_stm32f0xx.c **** {
+ 48 .loc 1 193 0
+ 49 .cfi_startproc
+ 50 @ args = 0, pretend = 0, frame = 0
+ 51 @ frame_needed = 0, uses_anonymous_args = 0
+ 52 0000 10B5 push {r4, lr}
+ 53 .LCFI0:
+ 54 .cfi_def_cfa_offset 8
+ 55 .cfi_offset 4, -8
+ 56 .cfi_offset 14, -4
+ 57 .LVL0:
+ 194:Src/system_stm32f0xx.c **** uint32_t tmp = 0, pllmull = 0, pllsource = 0, predivfactor = 0;
+ 195:Src/system_stm32f0xx.c ****
+ 196:Src/system_stm32f0xx.c **** /* Get SYSCLK source -------------------------------------------------------*/
+ 197:Src/system_stm32f0xx.c **** tmp = RCC->CFGR & RCC_CFGR_SWS;
+ 58 .loc 1 197 0
+ 59 0002 254B ldr r3, .L14
+ 60 0004 5A68 ldr r2, [r3, #4]
+ 61 0006 0C23 movs r3, #12
+ 62 0008 1340 ands r3, r2
+ 63 .LVL1:
+ 198:Src/system_stm32f0xx.c ****
+ 199:Src/system_stm32f0xx.c **** switch (tmp)
+ 64 .loc 1 199 0
+ 65 000a 042B cmp r3, #4
+ 66 000c 16D0 beq .L4
+ 67 000e 082B cmp r3, #8
+ 68 0010 18D0 beq .L5
+ 69 0012 002B cmp r3, #0
+ 70 0014 03D0 beq .L11
+ 200:Src/system_stm32f0xx.c **** {
+ 201:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSI: /* HSI used as system clock */
+ 202:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE;
+ 203:Src/system_stm32f0xx.c **** break;
+ 204:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_HSE: /* HSE used as system clock */
+ 205:Src/system_stm32f0xx.c **** SystemCoreClock = HSE_VALUE;
+ 206:Src/system_stm32f0xx.c **** break;
+ 207:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */
+ 208:Src/system_stm32f0xx.c **** /* Get PLL clock source and multiplication factor ----------------------*/
+ 209:Src/system_stm32f0xx.c **** pllmull = RCC->CFGR & RCC_CFGR_PLLMUL;
+ 210:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
+ 211:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2;
+ 212:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
+ 213:Src/system_stm32f0xx.c ****
+ 214:Src/system_stm32f0xx.c **** if (pllsource == RCC_CFGR_PLLSRC_HSE_PREDIV)
+ 215:Src/system_stm32f0xx.c **** {
+ 216:Src/system_stm32f0xx.c **** /* HSE used as PLL clock source : SystemCoreClock = HSE/PREDIV * PLLMUL */
+ 217:Src/system_stm32f0xx.c **** SystemCoreClock = (HSE_VALUE/predivfactor) * pllmull;
+ 218:Src/system_stm32f0xx.c **** }
+ ARM GAS /tmp/ccfT8vne.s page 6
+
+
+ 219:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F072xB) || defined(STM32F078xx) ||
+ 220:Src/system_stm32f0xx.c **** else if (pllsource == RCC_CFGR_PLLSRC_HSI48_PREDIV)
+ 221:Src/system_stm32f0xx.c **** {
+ 222:Src/system_stm32f0xx.c **** /* HSI48 used as PLL clock source : SystemCoreClock = HSI48/PREDIV * PLLMUL */
+ 223:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI48_VALUE/predivfactor) * pllmull;
+ 224:Src/system_stm32f0xx.c **** }
+ 225:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F072xB || STM32F078xx || STM32F091xC || STM32F098xx */
+ 226:Src/system_stm32f0xx.c **** else
+ 227:Src/system_stm32f0xx.c **** {
+ 228:Src/system_stm32f0xx.c **** #if defined(STM32F042x6) || defined(STM32F048xx) || defined(STM32F070x6) \
+ 229:Src/system_stm32f0xx.c **** || defined(STM32F078xx) || defined(STM32F071xB) || defined(STM32F072xB) \
+ 230:Src/system_stm32f0xx.c **** || defined(STM32F070xB) || defined(STM32F091xC) || defined(STM32F098xx) || defined(STM32F030xC)
+ 231:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/PREDIV * PLLMUL */
+ 232:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE/predivfactor) * pllmull;
+ 233:Src/system_stm32f0xx.c **** #else
+ 234:Src/system_stm32f0xx.c **** /* HSI used as PLL clock source : SystemCoreClock = HSI/2 * PLLMUL */
+ 235:Src/system_stm32f0xx.c **** SystemCoreClock = (HSI_VALUE >> 1) * pllmull;
+ 236:Src/system_stm32f0xx.c **** #endif /* STM32F042x6 || STM32F048xx || STM32F070x6 ||
+ 237:Src/system_stm32f0xx.c **** STM32F071xB || STM32F072xB || STM32F078xx || STM32F070xB ||
+ 238:Src/system_stm32f0xx.c **** STM32F091xC || STM32F098xx || STM32F030xC */
+ 239:Src/system_stm32f0xx.c **** }
+ 240:Src/system_stm32f0xx.c **** break;
+ 241:Src/system_stm32f0xx.c **** default: /* HSI used as system clock */
+ 242:Src/system_stm32f0xx.c **** SystemCoreClock = HSI_VALUE;
+ 71 .loc 1 242 0
+ 72 0016 214B ldr r3, .L14+4
+ 73 .LVL2:
+ 74 0018 214A ldr r2, .L14+8
+ 75 .LVL3:
+ 76 001a 1A60 str r2, [r3]
+ 243:Src/system_stm32f0xx.c **** break;
+ 77 .loc 1 243 0
+ 78 001c 02E0 b .L7
+ 79 .LVL4:
+ 80 .L11:
+ 202:Src/system_stm32f0xx.c **** break;
+ 81 .loc 1 202 0
+ 82 001e 1F4B ldr r3, .L14+4
+ 83 .LVL5:
+ 84 0020 1F4A ldr r2, .L14+8
+ 85 .LVL6:
+ 86 0022 1A60 str r2, [r3]
+ 87 .LVL7:
+ 88 .L7:
+ 244:Src/system_stm32f0xx.c **** }
+ 245:Src/system_stm32f0xx.c **** /* Compute HCLK clock frequency ----------------*/
+ 246:Src/system_stm32f0xx.c **** /* Get HCLK prescaler */
+ 247:Src/system_stm32f0xx.c **** tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
+ 89 .loc 1 247 0
+ 90 0024 1C4B ldr r3, .L14
+ 91 0026 5A68 ldr r2, [r3, #4]
+ 92 0028 1209 lsrs r2, r2, #4
+ 93 002a 0F23 movs r3, #15
+ 94 002c 1340 ands r3, r2
+ 95 002e 1D4A ldr r2, .L14+12
+ 96 0030 D35C ldrb r3, [r2, r3]
+ 97 .LVL8:
+ ARM GAS /tmp/ccfT8vne.s page 7
+
+
+ 248:Src/system_stm32f0xx.c **** /* HCLK clock frequency */
+ 249:Src/system_stm32f0xx.c **** SystemCoreClock >>= tmp;
+ 98 .loc 1 249 0
+ 99 0032 1A4A ldr r2, .L14+4
+ 100 0034 1168 ldr r1, [r2]
+ 101 0036 D940 lsrs r1, r1, r3
+ 102 0038 1160 str r1, [r2]
+ 250:Src/system_stm32f0xx.c **** }
+ 103 .loc 1 250 0
+ 104 @ sp needed
+ 105 003a 10BD pop {r4, pc}
+ 106 .LVL9:
+ 107 .L4:
+ 205:Src/system_stm32f0xx.c **** break;
+ 108 .loc 1 205 0
+ 109 003c 174B ldr r3, .L14+4
+ 110 .LVL10:
+ 111 003e 184A ldr r2, .L14+8
+ 112 .LVL11:
+ 113 0040 1A60 str r2, [r3]
+ 206:Src/system_stm32f0xx.c **** case RCC_CFGR_SWS_PLL: /* PLL used as system clock */
+ 114 .loc 1 206 0
+ 115 0042 EFE7 b .L7
+ 116 .LVL12:
+ 117 .L5:
+ 209:Src/system_stm32f0xx.c **** pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
+ 118 .loc 1 209 0
+ 119 0044 144A ldr r2, .L14
+ 120 0046 5068 ldr r0, [r2, #4]
+ 121 .LVL13:
+ 210:Src/system_stm32f0xx.c **** pllmull = ( pllmull >> 18) + 2;
+ 122 .loc 1 210 0
+ 123 0048 5368 ldr r3, [r2, #4]
+ 124 .LVL14:
+ 125 004a C021 movs r1, #192
+ 126 004c 4902 lsls r1, r1, #9
+ 127 004e 0B40 ands r3, r1
+ 128 .LVL15:
+ 211:Src/system_stm32f0xx.c **** predivfactor = (RCC->CFGR2 & RCC_CFGR2_PREDIV) + 1;
+ 129 .loc 1 211 0
+ 130 0050 800C lsrs r0, r0, #18
+ 131 .LVL16:
+ 132 0052 0F21 movs r1, #15
+ 133 0054 0840 ands r0, r1
+ 134 0056 841C adds r4, r0, #2
+ 135 .LVL17:
+ 212:Src/system_stm32f0xx.c ****
+ 136 .loc 1 212 0
+ 137 0058 D26A ldr r2, [r2, #44]
+ 138 005a 1140 ands r1, r2
+ 139 005c 0131 adds r1, r1, #1
+ 140 .LVL18:
+ 214:Src/system_stm32f0xx.c **** {
+ 141 .loc 1 214 0
+ 142 005e 8022 movs r2, #128
+ 143 0060 5202 lsls r2, r2, #9
+ 144 0062 9342 cmp r3, r2
+ ARM GAS /tmp/ccfT8vne.s page 8
+
+
+ 145 0064 0AD0 beq .L12
+ 220:Src/system_stm32f0xx.c **** {
+ 146 .loc 1 220 0
+ 147 0066 C022 movs r2, #192
+ 148 0068 5202 lsls r2, r2, #9
+ 149 006a 9342 cmp r3, r2
+ 150 006c 0DD0 beq .L13
+ 232:Src/system_stm32f0xx.c **** #else
+ 151 .loc 1 232 0
+ 152 006e 0C48 ldr r0, .L14+8
+ 153 0070 FFF7FEFF bl __aeabi_uidiv
+ 154 .LVL19:
+ 155 0074 6043 muls r0, r4
+ 156 0076 094B ldr r3, .L14+4
+ 157 0078 1860 str r0, [r3]
+ 158 007a D3E7 b .L7
+ 159 .LVL20:
+ 160 .L12:
+ 217:Src/system_stm32f0xx.c **** }
+ 161 .loc 1 217 0
+ 162 007c 0848 ldr r0, .L14+8
+ 163 007e FFF7FEFF bl __aeabi_uidiv
+ 164 .LVL21:
+ 165 0082 6043 muls r0, r4
+ 166 0084 054B ldr r3, .L14+4
+ 167 0086 1860 str r0, [r3]
+ 168 0088 CCE7 b .L7
+ 169 .LVL22:
+ 170 .L13:
+ 223:Src/system_stm32f0xx.c **** }
+ 171 .loc 1 223 0
+ 172 008a 0748 ldr r0, .L14+16
+ 173 008c FFF7FEFF bl __aeabi_uidiv
+ 174 .LVL23:
+ 175 0090 6043 muls r0, r4
+ 176 0092 024B ldr r3, .L14+4
+ 177 0094 1860 str r0, [r3]
+ 178 0096 C5E7 b .L7
+ 179 .L15:
+ 180 .align 2
+ 181 .L14:
+ 182 0098 00100240 .word 1073876992
+ 183 009c 00000000 .word .LANCHOR0
+ 184 00a0 00127A00 .word 8000000
+ 185 00a4 00000000 .word .LANCHOR1
+ 186 00a8 006CDC02 .word 48000000
+ 187 .cfi_endproc
+ 188 .LFE41:
+ 190 .global APBPrescTable
+ 191 .global AHBPrescTable
+ 192 .global SystemCoreClock
+ 193 .section .data.SystemCoreClock,"aw",%progbits
+ 194 .align 2
+ 195 .set .LANCHOR0,. + 0
+ 198 SystemCoreClock:
+ 199 0000 00127A00 .word 8000000
+ 200 .section .rodata.AHBPrescTable,"a",%progbits
+ ARM GAS /tmp/ccfT8vne.s page 9
+
+
+ 201 .align 2
+ 202 .set .LANCHOR1,. + 0
+ 205 AHBPrescTable:
+ 206 0000 00 .byte 0
+ 207 0001 00 .byte 0
+ 208 0002 00 .byte 0
+ 209 0003 00 .byte 0
+ 210 0004 00 .byte 0
+ 211 0005 00 .byte 0
+ 212 0006 00 .byte 0
+ 213 0007 00 .byte 0
+ 214 0008 01 .byte 1
+ 215 0009 02 .byte 2
+ 216 000a 03 .byte 3
+ 217 000b 04 .byte 4
+ 218 000c 06 .byte 6
+ 219 000d 07 .byte 7
+ 220 000e 08 .byte 8
+ 221 000f 09 .byte 9
+ 222 .section .rodata.APBPrescTable,"a",%progbits
+ 223 .align 2
+ 226 APBPrescTable:
+ 227 0000 00 .byte 0
+ 228 0001 00 .byte 0
+ 229 0002 00 .byte 0
+ 230 0003 00 .byte 0
+ 231 0004 01 .byte 1
+ 232 0005 02 .byte 2
+ 233 0006 03 .byte 3
+ 234 0007 04 .byte 4
+ 235 .text
+ 236 .Letext0:
+ 237 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 238 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 239 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 240 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 241 .file 6 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ ARM GAS /tmp/ccfT8vne.s page 10
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 system_stm32f0xx.c
+ /tmp/ccfT8vne.s:16 .text.SystemInit:0000000000000000 $t
+ /tmp/ccfT8vne.s:23 .text.SystemInit:0000000000000000 SystemInit
+ /tmp/ccfT8vne.s:39 .text.SystemCoreClockUpdate:0000000000000000 $t
+ /tmp/ccfT8vne.s:46 .text.SystemCoreClockUpdate:0000000000000000 SystemCoreClockUpdate
+ /tmp/ccfT8vne.s:182 .text.SystemCoreClockUpdate:0000000000000098 $d
+ /tmp/ccfT8vne.s:226 .rodata.APBPrescTable:0000000000000000 APBPrescTable
+ /tmp/ccfT8vne.s:205 .rodata.AHBPrescTable:0000000000000000 AHBPrescTable
+ /tmp/ccfT8vne.s:198 .data.SystemCoreClock:0000000000000000 SystemCoreClock
+ /tmp/ccfT8vne.s:194 .data.SystemCoreClock:0000000000000000 $d
+ /tmp/ccfT8vne.s:201 .rodata.AHBPrescTable:0000000000000000 $d
+ /tmp/ccfT8vne.s:223 .rodata.APBPrescTable:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+__aeabi_uidiv
diff --git a/fw/midi-dials/build/system_stm32f0xx.o b/fw/midi-dials/build/system_stm32f0xx.o
new file mode 100644
index 0000000..ceb6ee1
--- /dev/null
+++ b/fw/midi-dials/build/system_stm32f0xx.o
Binary files differ
diff --git a/fw/midi-dials/build/usb_device.d b/fw/midi-dials/build/usb_device.d
new file mode 100644
index 0000000..d56bea0
--- /dev/null
+++ b/fw/midi-dials/build/usb_device.d
@@ -0,0 +1,127 @@
+build/usb_device.o: Src/usb_device.c Inc/usb_device.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Inc/usbd_desc.h Middlewares/USBMIDI/Inc/usbd_midi.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Inc/usbd_midi_if.h Inc/usbd_desc.h Inc/curelib_inc/curemisc.h \
+ Inc/curelib_inc/curebuffer.h
+
+Inc/usb_device.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Inc/usbd_desc.h:
+
+Middlewares/USBMIDI/Inc/usbd_midi.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Inc/usbd_midi_if.h:
+
+Inc/usbd_desc.h:
+
+Inc/curelib_inc/curemisc.h:
+
+Inc/curelib_inc/curebuffer.h:
diff --git a/fw/midi-dials/build/usb_device.lst b/fw/midi-dials/build/usb_device.lst
new file mode 100644
index 0000000..6ad058f
--- /dev/null
+++ b/fw/midi-dials/build/usb_device.lst
@@ -0,0 +1,257 @@
+ARM GAS /tmp/cctPhfTd.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 "usb_device.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.MX_USB_MIDI_INIT,"ax",%progbits
+ 16 .align 1
+ 17 .global MX_USB_MIDI_INIT
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 MX_USB_MIDI_INIT:
+ 24 .LFB43:
+ 25 .file 1 "Src/usb_device.c"
+ 1:Src/usb_device.c **** /**
+ 2:Src/usb_device.c **** ******************************************************************************
+ 3:Src/usb_device.c **** * @file : usb_device.c
+ 4:Src/usb_device.c **** * @version : v2.0_Cube
+ 5:Src/usb_device.c **** * @brief : This file implements the USB Device
+ 6:Src/usb_device.c **** ******************************************************************************
+ 7:Src/usb_device.c **** * This notice applies to any and all portions of this file
+ 8:Src/usb_device.c **** * that are not between comment pairs USER CODE BEGIN and
+ 9:Src/usb_device.c **** * USER CODE END. Other portions of this file, whether
+ 10:Src/usb_device.c **** * inserted by the user or by software development tools
+ 11:Src/usb_device.c **** * are owned by their respective copyright owners.
+ 12:Src/usb_device.c **** *
+ 13:Src/usb_device.c **** * Copyright (c) 2018 STMicroelectronics International N.V.
+ 14:Src/usb_device.c **** * All rights reserved.
+ 15:Src/usb_device.c **** *
+ 16:Src/usb_device.c **** * Redistribution and use in source and binary forms, with or without
+ 17:Src/usb_device.c **** * modification, are permitted, provided that the following conditions are met:
+ 18:Src/usb_device.c **** *
+ 19:Src/usb_device.c **** * 1. Redistribution of source code must retain the above copyright notice,
+ 20:Src/usb_device.c **** * this list of conditions and the following disclaimer.
+ 21:Src/usb_device.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
+ 22:Src/usb_device.c **** * this list of conditions and the following disclaimer in the documentation
+ 23:Src/usb_device.c **** * and/or other materials provided with the distribution.
+ 24:Src/usb_device.c **** * 3. Neither the name of STMicroelectronics nor the names of other
+ 25:Src/usb_device.c **** * contributors to this software may be used to endorse or promote products
+ 26:Src/usb_device.c **** * derived from this software without specific written permission.
+ 27:Src/usb_device.c **** * 4. This software, including modifications and/or derivative works of this
+ 28:Src/usb_device.c **** * software, must execute solely and exclusively on microcontroller or
+ 29:Src/usb_device.c **** * microprocessor devices manufactured by or for STMicroelectronics.
+ 30:Src/usb_device.c **** * 5. Redistribution and use of this software other than as permitted under
+ 31:Src/usb_device.c **** * this license is void and will automatically terminate your rights under
+ 32:Src/usb_device.c **** * this license.
+ 33:Src/usb_device.c **** *
+ ARM GAS /tmp/cctPhfTd.s page 2
+
+
+ 34:Src/usb_device.c **** * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ 35:Src/usb_device.c **** * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ 36:Src/usb_device.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ 37:Src/usb_device.c **** * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ 38:Src/usb_device.c **** * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ 39:Src/usb_device.c **** * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ 40:Src/usb_device.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ 41:Src/usb_device.c **** * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ 42:Src/usb_device.c **** * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ 43:Src/usb_device.c **** * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ 44:Src/usb_device.c **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ 45:Src/usb_device.c **** * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 46:Src/usb_device.c **** *
+ 47:Src/usb_device.c **** ******************************************************************************
+ 48:Src/usb_device.c **** */
+ 49:Src/usb_device.c ****
+ 50:Src/usb_device.c **** /* Includes ------------------------------------------------------------------*/
+ 51:Src/usb_device.c ****
+ 52:Src/usb_device.c **** #include "usb_device.h"
+ 53:Src/usb_device.c **** #include "usbd_core.h"
+ 54:Src/usb_device.c **** #include "usbd_desc.h"
+ 55:Src/usb_device.c ****
+ 56:Src/usb_device.c **** /* USER CODE BEGIN Includes */
+ 57:Src/usb_device.c **** #include "usbd_midi.h"
+ 58:Src/usb_device.c **** #include "usbd_midi_if.h"
+ 59:Src/usb_device.c ****
+ 60:Src/usb_device.c **** /* USER CODE END Includes */
+ 61:Src/usb_device.c ****
+ 62:Src/usb_device.c **** /* USER CODE BEGIN PV */
+ 63:Src/usb_device.c **** /* Private variables ---------------------------------------------------------*/
+ 64:Src/usb_device.c ****
+ 65:Src/usb_device.c **** /* USER CODE END PV */
+ 66:Src/usb_device.c ****
+ 67:Src/usb_device.c **** /* USER CODE BEGIN PFP */
+ 68:Src/usb_device.c **** /* Private function prototypes -----------------------------------------------*/
+ 69:Src/usb_device.c ****
+ 70:Src/usb_device.c **** /* USER CODE END PFP */
+ 71:Src/usb_device.c ****
+ 72:Src/usb_device.c **** /* USB Device Core handle declaration. */
+ 73:Src/usb_device.c **** USBD_HandleTypeDef hUsbDeviceFS;
+ 74:Src/usb_device.c ****
+ 75:Src/usb_device.c **** /*
+ 76:Src/usb_device.c **** * -- Insert your variables declaration here --
+ 77:Src/usb_device.c **** */
+ 78:Src/usb_device.c **** /* USER CODE BEGIN 0 */
+ 79:Src/usb_device.c ****
+ 80:Src/usb_device.c **** /* USER CODE END 0 */
+ 81:Src/usb_device.c ****
+ 82:Src/usb_device.c **** /*
+ 83:Src/usb_device.c **** * -- Insert your external function declaration here --
+ 84:Src/usb_device.c **** */
+ 85:Src/usb_device.c **** /* USER CODE BEGIN 1 */
+ 86:Src/usb_device.c ****
+ 87:Src/usb_device.c **** void MX_USB_MIDI_INIT(void)
+ 88:Src/usb_device.c **** {
+ 26 .loc 1 88 0
+ 27 .cfi_startproc
+ ARM GAS /tmp/cctPhfTd.s page 3
+
+
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 0000 10B5 push {r4, lr}
+ 31 .LCFI0:
+ 32 .cfi_def_cfa_offset 8
+ 33 .cfi_offset 4, -8
+ 34 .cfi_offset 14, -4
+ 89:Src/usb_device.c **** USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS);
+ 35 .loc 1 89 0
+ 36 0002 094C ldr r4, .L2
+ 37 0004 0022 movs r2, #0
+ 38 0006 0949 ldr r1, .L2+4
+ 39 0008 2000 movs r0, r4
+ 40 000a FFF7FEFF bl USBD_Init
+ 41 .LVL0:
+ 90:Src/usb_device.c ****
+ 91:Src/usb_device.c **** USBD_RegisterClass(&hUsbDeviceFS, &USBD_MIDI);
+ 42 .loc 1 91 0
+ 43 000e 0849 ldr r1, .L2+8
+ 44 0010 2000 movs r0, r4
+ 45 0012 FFF7FEFF bl USBD_RegisterClass
+ 46 .LVL1:
+ 92:Src/usb_device.c ****
+ 93:Src/usb_device.c **** USBD_MIDI_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS);
+ 47 .loc 1 93 0
+ 48 0016 0749 ldr r1, .L2+12
+ 49 0018 2000 movs r0, r4
+ 50 001a FFF7FEFF bl USBD_MIDI_RegisterInterface
+ 51 .LVL2:
+ 94:Src/usb_device.c ****
+ 95:Src/usb_device.c **** USBD_Start(&hUsbDeviceFS);
+ 52 .loc 1 95 0
+ 53 001e 2000 movs r0, r4
+ 54 0020 FFF7FEFF bl USBD_Start
+ 55 .LVL3:
+ 96:Src/usb_device.c **** }
+ 56 .loc 1 96 0
+ 57 @ sp needed
+ 58 0024 10BD pop {r4, pc}
+ 59 .L3:
+ 60 0026 C046 .align 2
+ 61 .L2:
+ 62 0028 00000000 .word hUsbDeviceFS
+ 63 002c 00000000 .word FS_Desc
+ 64 0030 00000000 .word USBD_MIDI
+ 65 0034 00000000 .word USBD_Interface_fops_FS
+ 66 .cfi_endproc
+ 67 .LFE43:
+ 69 .section .text.MX_USB_DEVICE_Init,"ax",%progbits
+ 70 .align 1
+ 71 .global MX_USB_DEVICE_Init
+ 72 .syntax unified
+ 73 .code 16
+ 74 .thumb_func
+ 75 .fpu softvfp
+ 77 MX_USB_DEVICE_Init:
+ 78 .LFB44:
+ ARM GAS /tmp/cctPhfTd.s page 4
+
+
+ 97:Src/usb_device.c ****
+ 98:Src/usb_device.c **** /* USER CODE END 1 */
+ 99:Src/usb_device.c ****
+ 100:Src/usb_device.c **** /**
+ 101:Src/usb_device.c **** * Init USB device Library, add supported class and start the library
+ 102:Src/usb_device.c **** * @retval None
+ 103:Src/usb_device.c **** */
+ 104:Src/usb_device.c **** void MX_USB_DEVICE_Init(void)
+ 105:Src/usb_device.c **** {
+ 79 .loc 1 105 0
+ 80 .cfi_startproc
+ 81 @ args = 0, pretend = 0, frame = 0
+ 82 @ frame_needed = 0, uses_anonymous_args = 0
+ 83 @ link register save eliminated.
+ 106:Src/usb_device.c **** /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */
+ 107:Src/usb_device.c **** #ifdef USBMIDI
+ 108:Src/usb_device.c **** /* USER CODE END USB_DEVICE_Init_PreTreatment */
+ 109:Src/usb_device.c ****
+ 110:Src/usb_device.c **** /* Init Device Library, add supported class and start the library. */
+ 111:Src/usb_device.c **** USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS);
+ 112:Src/usb_device.c ****
+ 113:Src/usb_device.c **** USBD_RegisterClass(&hUsbDeviceFS, &USBD_CDC);
+ 114:Src/usb_device.c ****
+ 115:Src/usb_device.c **** USBD_CDC_RegisterInterface(&hUsbDeviceFS, &USBD_Interface_fops_FS);
+ 116:Src/usb_device.c ****
+ 117:Src/usb_device.c **** USBD_Start(&hUsbDeviceFS);
+ 118:Src/usb_device.c ****
+ 119:Src/usb_device.c **** /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */
+ 120:Src/usb_device.c **** #endif
+ 121:Src/usb_device.c **** /* USER CODE END USB_DEVICE_Init_PostTreatment */
+ 122:Src/usb_device.c **** }
+ 84 .loc 1 122 0
+ 85 @ sp needed
+ 86 0000 7047 bx lr
+ 87 .cfi_endproc
+ 88 .LFE44:
+ 90 .comm hUsbDeviceFS,548,4
+ 91 .text
+ 92 .Letext0:
+ 93 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 94 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 95 .file 4 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 96 .file 5 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 97 .file 6 "/usr/include/newlib/sys/lock.h"
+ 98 .file 7 "/usr/include/newlib/sys/_types.h"
+ 99 .file 8 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 100 .file 9 "/usr/include/newlib/sys/reent.h"
+ 101 .file 10 "/usr/include/newlib/stdlib.h"
+ 102 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 103 .file 12 "Inc/usb_device.h"
+ 104 .file 13 "Inc/usbd_desc.h"
+ 105 .file 14 "Middlewares/USBMIDI/Inc/usbd_midi.h"
+ 106 .file 15 "Inc/usbd_midi_if.h"
+ 107 .file 16 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ ARM GAS /tmp/cctPhfTd.s page 5
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usb_device.c
+ /tmp/cctPhfTd.s:16 .text.MX_USB_MIDI_INIT:0000000000000000 $t
+ /tmp/cctPhfTd.s:23 .text.MX_USB_MIDI_INIT:0000000000000000 MX_USB_MIDI_INIT
+ /tmp/cctPhfTd.s:62 .text.MX_USB_MIDI_INIT:0000000000000028 $d
+ *COM*:0000000000000224 hUsbDeviceFS
+ /tmp/cctPhfTd.s:70 .text.MX_USB_DEVICE_Init:0000000000000000 $t
+ /tmp/cctPhfTd.s:77 .text.MX_USB_DEVICE_Init:0000000000000000 MX_USB_DEVICE_Init
+
+UNDEFINED SYMBOLS
+USBD_Init
+USBD_RegisterClass
+USBD_MIDI_RegisterInterface
+USBD_Start
+FS_Desc
+USBD_MIDI
+USBD_Interface_fops_FS
diff --git a/fw/midi-dials/build/usb_device.o b/fw/midi-dials/build/usb_device.o
new file mode 100644
index 0000000..68bb036
--- /dev/null
+++ b/fw/midi-dials/build/usb_device.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_conf.d b/fw/midi-dials/build/usbd_conf.d
new file mode 100644
index 0000000..0942e35
--- /dev/null
+++ b/fw/midi-dials/build/usbd_conf.d
@@ -0,0 +1,107 @@
+build/usbd_conf.o: Src/usbd_conf.c \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
diff --git a/fw/midi-dials/build/usbd_conf.lst b/fw/midi-dials/build/usbd_conf.lst
new file mode 100644
index 0000000..1d03ddb
--- /dev/null
+++ b/fw/midi-dials/build/usbd_conf.lst
@@ -0,0 +1,2429 @@
+ARM GAS /tmp/ccvOfDqw.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_conf.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.HAL_PCD_MspInit,"ax",%progbits
+ 16 .align 1
+ 17 .global HAL_PCD_MspInit
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 HAL_PCD_MspInit:
+ 24 .LFB43:
+ 25 .file 1 "Src/usbd_conf.c"
+ 1:Src/usbd_conf.c **** /**
+ 2:Src/usbd_conf.c **** ******************************************************************************
+ 3:Src/usbd_conf.c **** * @file : usbd_conf.c
+ 4:Src/usbd_conf.c **** * @version : v2.0_Cube
+ 5:Src/usbd_conf.c **** * @brief : This file implements the board support package for the USB device library
+ 6:Src/usbd_conf.c **** ******************************************************************************
+ 7:Src/usbd_conf.c **** * This notice applies to any and all portions of this file
+ 8:Src/usbd_conf.c **** * that are not between comment pairs USER CODE BEGIN and
+ 9:Src/usbd_conf.c **** * USER CODE END. Other portions of this file, whether
+ 10:Src/usbd_conf.c **** * inserted by the user or by software development tools
+ 11:Src/usbd_conf.c **** * are owned by their respective copyright owners.
+ 12:Src/usbd_conf.c **** *
+ 13:Src/usbd_conf.c **** * Copyright (c) 2018 STMicroelectronics International N.V.
+ 14:Src/usbd_conf.c **** * All rights reserved.
+ 15:Src/usbd_conf.c **** *
+ 16:Src/usbd_conf.c **** * Redistribution and use in source and binary forms, with or without
+ 17:Src/usbd_conf.c **** * modification, are permitted, provided that the following conditions are met:
+ 18:Src/usbd_conf.c **** *
+ 19:Src/usbd_conf.c **** * 1. Redistribution of source code must retain the above copyright notice,
+ 20:Src/usbd_conf.c **** * this list of conditions and the following disclaimer.
+ 21:Src/usbd_conf.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
+ 22:Src/usbd_conf.c **** * this list of conditions and the following disclaimer in the documentation
+ 23:Src/usbd_conf.c **** * and/or other materials provided with the distribution.
+ 24:Src/usbd_conf.c **** * 3. Neither the name of STMicroelectronics nor the names of other
+ 25:Src/usbd_conf.c **** * contributors to this software may be used to endorse or promote products
+ 26:Src/usbd_conf.c **** * derived from this software without specific written permission.
+ 27:Src/usbd_conf.c **** * 4. This software, including modifications and/or derivative works of this
+ 28:Src/usbd_conf.c **** * software, must execute solely and exclusively on microcontroller or
+ 29:Src/usbd_conf.c **** * microprocessor devices manufactured by or for STMicroelectronics.
+ 30:Src/usbd_conf.c **** * 5. Redistribution and use of this software other than as permitted under
+ 31:Src/usbd_conf.c **** * this license is void and will automatically terminate your rights under
+ 32:Src/usbd_conf.c **** * this license.
+ 33:Src/usbd_conf.c **** *
+ ARM GAS /tmp/ccvOfDqw.s page 2
+
+
+ 34:Src/usbd_conf.c **** * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ 35:Src/usbd_conf.c **** * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ 36:Src/usbd_conf.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ 37:Src/usbd_conf.c **** * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ 38:Src/usbd_conf.c **** * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ 39:Src/usbd_conf.c **** * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ 40:Src/usbd_conf.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ 41:Src/usbd_conf.c **** * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ 42:Src/usbd_conf.c **** * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ 43:Src/usbd_conf.c **** * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ 44:Src/usbd_conf.c **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ 45:Src/usbd_conf.c **** * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 46:Src/usbd_conf.c **** *
+ 47:Src/usbd_conf.c **** ******************************************************************************
+ 48:Src/usbd_conf.c **** */
+ 49:Src/usbd_conf.c ****
+ 50:Src/usbd_conf.c **** /* Includes ------------------------------------------------------------------*/
+ 51:Src/usbd_conf.c **** #include "stm32f0xx.h"
+ 52:Src/usbd_conf.c **** #include "stm32f0xx_hal.h"
+ 53:Src/usbd_conf.c **** #include "usbd_def.h"
+ 54:Src/usbd_conf.c **** #include "usbd_core.h"
+ 55:Src/usbd_conf.c ****
+ 56:Src/usbd_conf.c **** /* USER CODE BEGIN Includes */
+ 57:Src/usbd_conf.c ****
+ 58:Src/usbd_conf.c **** /* USER CODE END Includes */
+ 59:Src/usbd_conf.c ****
+ 60:Src/usbd_conf.c **** /* Private typedef -----------------------------------------------------------*/
+ 61:Src/usbd_conf.c **** /* Private define ------------------------------------------------------------*/
+ 62:Src/usbd_conf.c **** /* Private macro -------------------------------------------------------------*/
+ 63:Src/usbd_conf.c ****
+ 64:Src/usbd_conf.c **** /* USER CODE BEGIN PV */
+ 65:Src/usbd_conf.c **** /* Private variables ---------------------------------------------------------*/
+ 66:Src/usbd_conf.c ****
+ 67:Src/usbd_conf.c **** /* USER CODE END PV */
+ 68:Src/usbd_conf.c ****
+ 69:Src/usbd_conf.c **** PCD_HandleTypeDef hpcd_USB_FS;
+ 70:Src/usbd_conf.c **** //void _Error_Handler(char * file, int line);
+ 71:Src/usbd_conf.c ****
+ 72:Src/usbd_conf.c **** /* USER CODE BEGIN 0 */
+ 73:Src/usbd_conf.c ****
+ 74:Src/usbd_conf.c **** /* USER CODE END 0 */
+ 75:Src/usbd_conf.c ****
+ 76:Src/usbd_conf.c **** /* USER CODE BEGIN PFP */
+ 77:Src/usbd_conf.c **** /* Private function prototypes -----------------------------------------------*/
+ 78:Src/usbd_conf.c ****
+ 79:Src/usbd_conf.c **** /* USER CODE END PFP */
+ 80:Src/usbd_conf.c ****
+ 81:Src/usbd_conf.c **** /* Private functions ---------------------------------------------------------*/
+ 82:Src/usbd_conf.c ****
+ 83:Src/usbd_conf.c **** /* USER CODE BEGIN 1 */
+ 84:Src/usbd_conf.c ****
+ 85:Src/usbd_conf.c **** /* USER CODE END 1 */
+ 86:Src/usbd_conf.c **** void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state);
+ 87:Src/usbd_conf.c **** //extern void SystemClock_Config(void);
+ 88:Src/usbd_conf.c ****
+ 89:Src/usbd_conf.c **** /*******************************************************************************
+ 90:Src/usbd_conf.c **** LL Driver Callbacks (PCD -> USB Device Library)
+ ARM GAS /tmp/ccvOfDqw.s page 3
+
+
+ 91:Src/usbd_conf.c **** *******************************************************************************/
+ 92:Src/usbd_conf.c **** /* MSP Init */
+ 93:Src/usbd_conf.c ****
+ 94:Src/usbd_conf.c **** void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle)
+ 95:Src/usbd_conf.c **** {
+ 26 .loc 1 95 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 8
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 .LVL0:
+ 31 0000 00B5 push {lr}
+ 32 .LCFI0:
+ 33 .cfi_def_cfa_offset 4
+ 34 .cfi_offset 14, -4
+ 35 0002 83B0 sub sp, sp, #12
+ 36 .LCFI1:
+ 37 .cfi_def_cfa_offset 16
+ 96:Src/usbd_conf.c **** if(pcdHandle->Instance==USB)
+ 38 .loc 1 96 0
+ 39 0004 0268 ldr r2, [r0]
+ 40 0006 0C4B ldr r3, .L4
+ 41 0008 9A42 cmp r2, r3
+ 42 000a 01D0 beq .L3
+ 43 .LVL1:
+ 44 .L1:
+ 97:Src/usbd_conf.c **** {
+ 98:Src/usbd_conf.c **** /* USER CODE BEGIN USB_MspInit 0 */
+ 99:Src/usbd_conf.c ****
+ 100:Src/usbd_conf.c **** /* USER CODE END USB_MspInit 0 */
+ 101:Src/usbd_conf.c **** /* Peripheral clock enable */
+ 102:Src/usbd_conf.c **** __HAL_RCC_USB_CLK_ENABLE();
+ 103:Src/usbd_conf.c ****
+ 104:Src/usbd_conf.c **** /* Peripheral interrupt init */
+ 105:Src/usbd_conf.c **** HAL_NVIC_SetPriority(USB_IRQn, 1, 0);
+ 106:Src/usbd_conf.c **** HAL_NVIC_EnableIRQ(USB_IRQn);
+ 107:Src/usbd_conf.c **** /* USER CODE BEGIN USB_MspInit 1 */
+ 108:Src/usbd_conf.c ****
+ 109:Src/usbd_conf.c **** /* USER CODE END USB_MspInit 1 */
+ 110:Src/usbd_conf.c **** }
+ 111:Src/usbd_conf.c **** }
+ 45 .loc 1 111 0
+ 46 000c 03B0 add sp, sp, #12
+ 47 @ sp needed
+ 48 000e 00BD pop {pc}
+ 49 .LVL2:
+ 50 .L3:
+ 51 .LBB2:
+ 102:Src/usbd_conf.c ****
+ 52 .loc 1 102 0
+ 53 0010 0A4A ldr r2, .L4+4
+ 54 0012 D169 ldr r1, [r2, #28]
+ 55 0014 8020 movs r0, #128
+ 56 .LVL3:
+ 57 0016 0004 lsls r0, r0, #16
+ 58 0018 0143 orrs r1, r0
+ 59 001a D161 str r1, [r2, #28]
+ 60 001c D369 ldr r3, [r2, #28]
+ ARM GAS /tmp/ccvOfDqw.s page 4
+
+
+ 61 001e 0340 ands r3, r0
+ 62 0020 0193 str r3, [sp, #4]
+ 63 0022 019B ldr r3, [sp, #4]
+ 64 .LBE2:
+ 105:Src/usbd_conf.c **** HAL_NVIC_EnableIRQ(USB_IRQn);
+ 65 .loc 1 105 0
+ 66 0024 0022 movs r2, #0
+ 67 0026 0121 movs r1, #1
+ 68 0028 1F20 movs r0, #31
+ 69 002a FFF7FEFF bl HAL_NVIC_SetPriority
+ 70 .LVL4:
+ 106:Src/usbd_conf.c **** /* USER CODE BEGIN USB_MspInit 1 */
+ 71 .loc 1 106 0
+ 72 002e 1F20 movs r0, #31
+ 73 0030 FFF7FEFF bl HAL_NVIC_EnableIRQ
+ 74 .LVL5:
+ 75 .loc 1 111 0
+ 76 0034 EAE7 b .L1
+ 77 .L5:
+ 78 0036 C046 .align 2
+ 79 .L4:
+ 80 0038 005C0040 .word 1073765376
+ 81 003c 00100240 .word 1073876992
+ 82 .cfi_endproc
+ 83 .LFE43:
+ 85 .section .text.HAL_PCD_MspDeInit,"ax",%progbits
+ 86 .align 1
+ 87 .global HAL_PCD_MspDeInit
+ 88 .syntax unified
+ 89 .code 16
+ 90 .thumb_func
+ 91 .fpu softvfp
+ 93 HAL_PCD_MspDeInit:
+ 94 .LFB44:
+ 112:Src/usbd_conf.c ****
+ 113:Src/usbd_conf.c **** void HAL_PCD_MspDeInit(PCD_HandleTypeDef* pcdHandle)
+ 114:Src/usbd_conf.c **** {
+ 95 .loc 1 114 0
+ 96 .cfi_startproc
+ 97 @ args = 0, pretend = 0, frame = 0
+ 98 @ frame_needed = 0, uses_anonymous_args = 0
+ 99 .LVL6:
+ 100 0000 10B5 push {r4, lr}
+ 101 .LCFI2:
+ 102 .cfi_def_cfa_offset 8
+ 103 .cfi_offset 4, -8
+ 104 .cfi_offset 14, -4
+ 115:Src/usbd_conf.c **** if(pcdHandle->Instance==USB)
+ 105 .loc 1 115 0
+ 106 0002 0268 ldr r2, [r0]
+ 107 0004 064B ldr r3, .L9
+ 108 0006 9A42 cmp r2, r3
+ 109 0008 00D0 beq .L8
+ 110 .LVL7:
+ 111 .L6:
+ 116:Src/usbd_conf.c **** {
+ 117:Src/usbd_conf.c **** /* USER CODE BEGIN USB_MspDeInit 0 */
+ ARM GAS /tmp/ccvOfDqw.s page 5
+
+
+ 118:Src/usbd_conf.c ****
+ 119:Src/usbd_conf.c **** /* USER CODE END USB_MspDeInit 0 */
+ 120:Src/usbd_conf.c **** /* Peripheral clock disable */
+ 121:Src/usbd_conf.c **** __HAL_RCC_USB_CLK_DISABLE();
+ 122:Src/usbd_conf.c ****
+ 123:Src/usbd_conf.c **** /* Peripheral interrupt Deinit*/
+ 124:Src/usbd_conf.c **** HAL_NVIC_DisableIRQ(USB_IRQn);
+ 125:Src/usbd_conf.c ****
+ 126:Src/usbd_conf.c **** /* USER CODE BEGIN USB_MspDeInit 1 */
+ 127:Src/usbd_conf.c ****
+ 128:Src/usbd_conf.c **** /* USER CODE END USB_MspDeInit 1 */
+ 129:Src/usbd_conf.c **** }
+ 130:Src/usbd_conf.c **** }
+ 112 .loc 1 130 0
+ 113 @ sp needed
+ 114 000a 10BD pop {r4, pc}
+ 115 .LVL8:
+ 116 .L8:
+ 121:Src/usbd_conf.c ****
+ 117 .loc 1 121 0
+ 118 000c 054A ldr r2, .L9+4
+ 119 000e D369 ldr r3, [r2, #28]
+ 120 0010 0549 ldr r1, .L9+8
+ 121 0012 0B40 ands r3, r1
+ 122 0014 D361 str r3, [r2, #28]
+ 124:Src/usbd_conf.c ****
+ 123 .loc 1 124 0
+ 124 0016 1F20 movs r0, #31
+ 125 .LVL9:
+ 126 0018 FFF7FEFF bl HAL_NVIC_DisableIRQ
+ 127 .LVL10:
+ 128 .loc 1 130 0
+ 129 001c F5E7 b .L6
+ 130 .L10:
+ 131 001e C046 .align 2
+ 132 .L9:
+ 133 0020 005C0040 .word 1073765376
+ 134 0024 00100240 .word 1073876992
+ 135 0028 FFFF7FFF .word -8388609
+ 136 .cfi_endproc
+ 137 .LFE44:
+ 139 .section .text.HAL_PCD_SetupStageCallback,"ax",%progbits
+ 140 .align 1
+ 141 .global HAL_PCD_SetupStageCallback
+ 142 .syntax unified
+ 143 .code 16
+ 144 .thumb_func
+ 145 .fpu softvfp
+ 147 HAL_PCD_SetupStageCallback:
+ 148 .LFB45:
+ 131:Src/usbd_conf.c ****
+ 132:Src/usbd_conf.c **** /**
+ 133:Src/usbd_conf.c **** * @brief Setup stage callback
+ 134:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 135:Src/usbd_conf.c **** * @retval None
+ 136:Src/usbd_conf.c **** */
+ 137:Src/usbd_conf.c **** void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd)
+ ARM GAS /tmp/ccvOfDqw.s page 6
+
+
+ 138:Src/usbd_conf.c **** {
+ 149 .loc 1 138 0
+ 150 .cfi_startproc
+ 151 @ args = 0, pretend = 0, frame = 0
+ 152 @ frame_needed = 0, uses_anonymous_args = 0
+ 153 .LVL11:
+ 154 0000 10B5 push {r4, lr}
+ 155 .LCFI3:
+ 156 .cfi_def_cfa_offset 8
+ 157 .cfi_offset 4, -8
+ 158 .cfi_offset 14, -4
+ 159 0002 0100 movs r1, r0
+ 139:Src/usbd_conf.c **** USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup);
+ 160 .loc 1 139 0
+ 161 0004 9C23 movs r3, #156
+ 162 0006 9B00 lsls r3, r3, #2
+ 163 0008 C058 ldr r0, [r0, r3]
+ 164 .LVL12:
+ 165 000a 403B subs r3, r3, #64
+ 166 000c 9C46 mov ip, r3
+ 167 000e 6144 add r1, r1, ip
+ 168 .LVL13:
+ 169 0010 FFF7FEFF bl USBD_LL_SetupStage
+ 170 .LVL14:
+ 140:Src/usbd_conf.c **** }
+ 171 .loc 1 140 0
+ 172 @ sp needed
+ 173 0014 10BD pop {r4, pc}
+ 174 .cfi_endproc
+ 175 .LFE45:
+ 177 .section .text.HAL_PCD_DataOutStageCallback,"ax",%progbits
+ 178 .align 1
+ 179 .global HAL_PCD_DataOutStageCallback
+ 180 .syntax unified
+ 181 .code 16
+ 182 .thumb_func
+ 183 .fpu softvfp
+ 185 HAL_PCD_DataOutStageCallback:
+ 186 .LFB46:
+ 141:Src/usbd_conf.c ****
+ 142:Src/usbd_conf.c **** /**
+ 143:Src/usbd_conf.c **** * @brief Data Out stage callback.
+ 144:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 145:Src/usbd_conf.c **** * @param epnum: Endpoint number
+ 146:Src/usbd_conf.c **** * @retval None
+ 147:Src/usbd_conf.c **** */
+ 148:Src/usbd_conf.c **** void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+ 149:Src/usbd_conf.c **** {
+ 187 .loc 1 149 0
+ 188 .cfi_startproc
+ 189 @ args = 0, pretend = 0, frame = 0
+ 190 @ frame_needed = 0, uses_anonymous_args = 0
+ 191 .LVL15:
+ 192 0000 10B5 push {r4, lr}
+ 193 .LCFI4:
+ 194 .cfi_def_cfa_offset 8
+ 195 .cfi_offset 4, -8
+ ARM GAS /tmp/ccvOfDqw.s page 7
+
+
+ 196 .cfi_offset 14, -4
+ 197 0002 0300 movs r3, r0
+ 150:Src/usbd_conf.c **** USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff);
+ 198 .loc 1 150 0
+ 199 0004 9C22 movs r2, #156
+ 200 0006 9200 lsls r2, r2, #2
+ 201 0008 8058 ldr r0, [r0, r2]
+ 202 .LVL16:
+ 203 000a 4A01 lsls r2, r1, #5
+ 204 000c 9B18 adds r3, r3, r2
+ 205 .LVL17:
+ 206 000e 3D33 adds r3, r3, #61
+ 207 0010 FF33 adds r3, r3, #255
+ 208 0012 1A68 ldr r2, [r3]
+ 209 0014 FFF7FEFF bl USBD_LL_DataOutStage
+ 210 .LVL18:
+ 151:Src/usbd_conf.c **** }
+ 211 .loc 1 151 0
+ 212 @ sp needed
+ 213 0018 10BD pop {r4, pc}
+ 214 .cfi_endproc
+ 215 .LFE46:
+ 217 .section .text.HAL_PCD_DataInStageCallback,"ax",%progbits
+ 218 .align 1
+ 219 .global HAL_PCD_DataInStageCallback
+ 220 .syntax unified
+ 221 .code 16
+ 222 .thumb_func
+ 223 .fpu softvfp
+ 225 HAL_PCD_DataInStageCallback:
+ 226 .LFB47:
+ 152:Src/usbd_conf.c ****
+ 153:Src/usbd_conf.c **** /**
+ 154:Src/usbd_conf.c **** * @brief Data In stage callback.
+ 155:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 156:Src/usbd_conf.c **** * @param epnum: Endpoint number
+ 157:Src/usbd_conf.c **** * @retval None
+ 158:Src/usbd_conf.c **** */
+ 159:Src/usbd_conf.c **** void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+ 160:Src/usbd_conf.c **** {
+ 227 .loc 1 160 0
+ 228 .cfi_startproc
+ 229 @ args = 0, pretend = 0, frame = 0
+ 230 @ frame_needed = 0, uses_anonymous_args = 0
+ 231 .LVL19:
+ 232 0000 10B5 push {r4, lr}
+ 233 .LCFI5:
+ 234 .cfi_def_cfa_offset 8
+ 235 .cfi_offset 4, -8
+ 236 .cfi_offset 14, -4
+ 237 0002 0300 movs r3, r0
+ 161:Src/usbd_conf.c **** USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff);
+ 238 .loc 1 161 0
+ 239 0004 9C22 movs r2, #156
+ 240 0006 9200 lsls r2, r2, #2
+ 241 0008 8058 ldr r0, [r0, r2]
+ 242 .LVL20:
+ ARM GAS /tmp/ccvOfDqw.s page 8
+
+
+ 243 000a 4A01 lsls r2, r1, #5
+ 244 000c 9B18 adds r3, r3, r2
+ 245 .LVL21:
+ 246 000e DA6B ldr r2, [r3, #60]
+ 247 0010 FFF7FEFF bl USBD_LL_DataInStage
+ 248 .LVL22:
+ 162:Src/usbd_conf.c **** }
+ 249 .loc 1 162 0
+ 250 @ sp needed
+ 251 0014 10BD pop {r4, pc}
+ 252 .cfi_endproc
+ 253 .LFE47:
+ 255 .section .text.HAL_PCD_SOFCallback,"ax",%progbits
+ 256 .align 1
+ 257 .global HAL_PCD_SOFCallback
+ 258 .syntax unified
+ 259 .code 16
+ 260 .thumb_func
+ 261 .fpu softvfp
+ 263 HAL_PCD_SOFCallback:
+ 264 .LFB48:
+ 163:Src/usbd_conf.c ****
+ 164:Src/usbd_conf.c **** /**
+ 165:Src/usbd_conf.c **** * @brief SOF callback.
+ 166:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 167:Src/usbd_conf.c **** * @retval None
+ 168:Src/usbd_conf.c **** */
+ 169:Src/usbd_conf.c **** void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd)
+ 170:Src/usbd_conf.c **** {
+ 265 .loc 1 170 0
+ 266 .cfi_startproc
+ 267 @ args = 0, pretend = 0, frame = 0
+ 268 @ frame_needed = 0, uses_anonymous_args = 0
+ 269 .LVL23:
+ 270 0000 10B5 push {r4, lr}
+ 271 .LCFI6:
+ 272 .cfi_def_cfa_offset 8
+ 273 .cfi_offset 4, -8
+ 274 .cfi_offset 14, -4
+ 171:Src/usbd_conf.c **** USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData);
+ 275 .loc 1 171 0
+ 276 0002 9C23 movs r3, #156
+ 277 0004 9B00 lsls r3, r3, #2
+ 278 0006 C058 ldr r0, [r0, r3]
+ 279 .LVL24:
+ 280 0008 FFF7FEFF bl USBD_LL_SOF
+ 281 .LVL25:
+ 172:Src/usbd_conf.c **** }
+ 282 .loc 1 172 0
+ 283 @ sp needed
+ 284 000c 10BD pop {r4, pc}
+ 285 .cfi_endproc
+ 286 .LFE48:
+ 288 .section .text.HAL_PCD_ResetCallback,"ax",%progbits
+ 289 .align 1
+ 290 .global HAL_PCD_ResetCallback
+ 291 .syntax unified
+ ARM GAS /tmp/ccvOfDqw.s page 9
+
+
+ 292 .code 16
+ 293 .thumb_func
+ 294 .fpu softvfp
+ 296 HAL_PCD_ResetCallback:
+ 297 .LFB49:
+ 173:Src/usbd_conf.c ****
+ 174:Src/usbd_conf.c **** /**
+ 175:Src/usbd_conf.c **** * @brief Reset callback.
+ 176:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 177:Src/usbd_conf.c **** * @retval None
+ 178:Src/usbd_conf.c **** */
+ 179:Src/usbd_conf.c **** void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd)
+ 180:Src/usbd_conf.c **** {
+ 298 .loc 1 180 0
+ 299 .cfi_startproc
+ 300 @ args = 0, pretend = 0, frame = 0
+ 301 @ frame_needed = 0, uses_anonymous_args = 0
+ 302 .LVL26:
+ 303 0000 70B5 push {r4, r5, r6, lr}
+ 304 .LCFI7:
+ 305 .cfi_def_cfa_offset 16
+ 306 .cfi_offset 4, -16
+ 307 .cfi_offset 5, -12
+ 308 .cfi_offset 6, -8
+ 309 .cfi_offset 14, -4
+ 310 0002 0500 movs r5, r0
+ 311 .LVL27:
+ 181:Src/usbd_conf.c **** USBD_SpeedTypeDef speed = USBD_SPEED_FULL;
+ 182:Src/usbd_conf.c ****
+ 183:Src/usbd_conf.c **** /* Set USB current speed. */
+ 184:Src/usbd_conf.c **** switch (hpcd->Init.speed)
+ 185:Src/usbd_conf.c **** {
+ 186:Src/usbd_conf.c **** case PCD_SPEED_FULL:
+ 187:Src/usbd_conf.c **** speed = USBD_SPEED_FULL;
+ 188:Src/usbd_conf.c **** break;
+ 189:Src/usbd_conf.c ****
+ 190:Src/usbd_conf.c **** default:
+ 191:Src/usbd_conf.c **** speed = USBD_SPEED_FULL;
+ 192:Src/usbd_conf.c **** break;
+ 193:Src/usbd_conf.c **** }
+ 194:Src/usbd_conf.c **** USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed);
+ 312 .loc 1 194 0
+ 313 0004 9C24 movs r4, #156
+ 314 0006 A400 lsls r4, r4, #2
+ 315 0008 0121 movs r1, #1
+ 316 000a 0059 ldr r0, [r0, r4]
+ 317 .LVL28:
+ 318 000c FFF7FEFF bl USBD_LL_SetSpeed
+ 319 .LVL29:
+ 195:Src/usbd_conf.c ****
+ 196:Src/usbd_conf.c **** /* Reset Device. */
+ 197:Src/usbd_conf.c **** USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData);
+ 320 .loc 1 197 0
+ 321 0010 2859 ldr r0, [r5, r4]
+ 322 0012 FFF7FEFF bl USBD_LL_Reset
+ 323 .LVL30:
+ 198:Src/usbd_conf.c **** }
+ ARM GAS /tmp/ccvOfDqw.s page 10
+
+
+ 324 .loc 1 198 0
+ 325 @ sp needed
+ 326 .LVL31:
+ 327 0016 70BD pop {r4, r5, r6, pc}
+ 328 .cfi_endproc
+ 329 .LFE49:
+ 331 .section .text.HAL_PCD_SuspendCallback,"ax",%progbits
+ 332 .align 1
+ 333 .global HAL_PCD_SuspendCallback
+ 334 .syntax unified
+ 335 .code 16
+ 336 .thumb_func
+ 337 .fpu softvfp
+ 339 HAL_PCD_SuspendCallback:
+ 340 .LFB50:
+ 199:Src/usbd_conf.c ****
+ 200:Src/usbd_conf.c **** /**
+ 201:Src/usbd_conf.c **** * @brief Suspend callback.
+ 202:Src/usbd_conf.c **** * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
+ 203:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 204:Src/usbd_conf.c **** * @retval None
+ 205:Src/usbd_conf.c **** */
+ 206:Src/usbd_conf.c **** void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd)
+ 207:Src/usbd_conf.c **** {
+ 341 .loc 1 207 0
+ 342 .cfi_startproc
+ 343 @ args = 0, pretend = 0, frame = 0
+ 344 @ frame_needed = 0, uses_anonymous_args = 0
+ 345 .LVL32:
+ 346 0000 10B5 push {r4, lr}
+ 347 .LCFI8:
+ 348 .cfi_def_cfa_offset 8
+ 349 .cfi_offset 4, -8
+ 350 .cfi_offset 14, -4
+ 351 0002 0400 movs r4, r0
+ 208:Src/usbd_conf.c **** /* Inform USB library that core enters in suspend Mode. */
+ 209:Src/usbd_conf.c **** USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData);
+ 352 .loc 1 209 0
+ 353 0004 9C23 movs r3, #156
+ 354 0006 9B00 lsls r3, r3, #2
+ 355 0008 C058 ldr r0, [r0, r3]
+ 356 .LVL33:
+ 357 000a FFF7FEFF bl USBD_LL_Suspend
+ 358 .LVL34:
+ 210:Src/usbd_conf.c **** /* Enter in STOP mode. */
+ 211:Src/usbd_conf.c **** /* USER CODE BEGIN 2 */
+ 212:Src/usbd_conf.c **** if (hpcd->Init.low_power_enable)
+ 359 .loc 1 212 0
+ 360 000e A369 ldr r3, [r4, #24]
+ 361 0010 002B cmp r3, #0
+ 362 0012 04D0 beq .L16
+ 213:Src/usbd_conf.c **** {
+ 214:Src/usbd_conf.c **** /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */
+ 215:Src/usbd_conf.c **** SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk));
+ 363 .loc 1 215 0
+ 364 0014 024A ldr r2, .L18
+ 365 0016 1369 ldr r3, [r2, #16]
+ ARM GAS /tmp/ccvOfDqw.s page 11
+
+
+ 366 0018 0621 movs r1, #6
+ 367 001a 0B43 orrs r3, r1
+ 368 001c 1361 str r3, [r2, #16]
+ 369 .L16:
+ 216:Src/usbd_conf.c **** }
+ 217:Src/usbd_conf.c **** /* USER CODE END 2 */
+ 218:Src/usbd_conf.c **** }
+ 370 .loc 1 218 0
+ 371 @ sp needed
+ 372 .LVL35:
+ 373 001e 10BD pop {r4, pc}
+ 374 .L19:
+ 375 .align 2
+ 376 .L18:
+ 377 0020 00ED00E0 .word -536810240
+ 378 .cfi_endproc
+ 379 .LFE50:
+ 381 .section .text.HAL_PCD_ResumeCallback,"ax",%progbits
+ 382 .align 1
+ 383 .global HAL_PCD_ResumeCallback
+ 384 .syntax unified
+ 385 .code 16
+ 386 .thumb_func
+ 387 .fpu softvfp
+ 389 HAL_PCD_ResumeCallback:
+ 390 .LFB51:
+ 219:Src/usbd_conf.c ****
+ 220:Src/usbd_conf.c **** /**
+ 221:Src/usbd_conf.c **** * @brief Resume callback.
+ 222:Src/usbd_conf.c **** * When Low power mode is enabled the debug cannot be used (IAR, Keil doesn't support it)
+ 223:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 224:Src/usbd_conf.c **** * @retval None
+ 225:Src/usbd_conf.c **** */
+ 226:Src/usbd_conf.c **** void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd)
+ 227:Src/usbd_conf.c **** {
+ 391 .loc 1 227 0
+ 392 .cfi_startproc
+ 393 @ args = 0, pretend = 0, frame = 0
+ 394 @ frame_needed = 0, uses_anonymous_args = 0
+ 395 .LVL36:
+ 396 0000 10B5 push {r4, lr}
+ 397 .LCFI9:
+ 398 .cfi_def_cfa_offset 8
+ 399 .cfi_offset 4, -8
+ 400 .cfi_offset 14, -4
+ 228:Src/usbd_conf.c **** /* USER CODE BEGIN 3 */
+ 229:Src/usbd_conf.c ****
+ 230:Src/usbd_conf.c **** /* USER CODE END 3 */
+ 231:Src/usbd_conf.c **** USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData);
+ 401 .loc 1 231 0
+ 402 0002 9C23 movs r3, #156
+ 403 0004 9B00 lsls r3, r3, #2
+ 404 0006 C058 ldr r0, [r0, r3]
+ 405 .LVL37:
+ 406 0008 FFF7FEFF bl USBD_LL_Resume
+ 407 .LVL38:
+ 232:Src/usbd_conf.c **** }
+ ARM GAS /tmp/ccvOfDqw.s page 12
+
+
+ 408 .loc 1 232 0
+ 409 @ sp needed
+ 410 000c 10BD pop {r4, pc}
+ 411 .cfi_endproc
+ 412 .LFE51:
+ 414 .section .text.HAL_PCD_ISOOUTIncompleteCallback,"ax",%progbits
+ 415 .align 1
+ 416 .global HAL_PCD_ISOOUTIncompleteCallback
+ 417 .syntax unified
+ 418 .code 16
+ 419 .thumb_func
+ 420 .fpu softvfp
+ 422 HAL_PCD_ISOOUTIncompleteCallback:
+ 423 .LFB52:
+ 233:Src/usbd_conf.c ****
+ 234:Src/usbd_conf.c **** /**
+ 235:Src/usbd_conf.c **** * @brief ISOOUTIncomplete callback.
+ 236:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 237:Src/usbd_conf.c **** * @param epnum: Endpoint number
+ 238:Src/usbd_conf.c **** * @retval None
+ 239:Src/usbd_conf.c **** */
+ 240:Src/usbd_conf.c **** void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+ 241:Src/usbd_conf.c **** {
+ 424 .loc 1 241 0
+ 425 .cfi_startproc
+ 426 @ args = 0, pretend = 0, frame = 0
+ 427 @ frame_needed = 0, uses_anonymous_args = 0
+ 428 .LVL39:
+ 429 0000 10B5 push {r4, lr}
+ 430 .LCFI10:
+ 431 .cfi_def_cfa_offset 8
+ 432 .cfi_offset 4, -8
+ 433 .cfi_offset 14, -4
+ 242:Src/usbd_conf.c **** USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
+ 434 .loc 1 242 0
+ 435 0002 9C23 movs r3, #156
+ 436 0004 9B00 lsls r3, r3, #2
+ 437 0006 C058 ldr r0, [r0, r3]
+ 438 .LVL40:
+ 439 0008 FFF7FEFF bl USBD_LL_IsoOUTIncomplete
+ 440 .LVL41:
+ 243:Src/usbd_conf.c **** }
+ 441 .loc 1 243 0
+ 442 @ sp needed
+ 443 000c 10BD pop {r4, pc}
+ 444 .cfi_endproc
+ 445 .LFE52:
+ 447 .section .text.HAL_PCD_ISOINIncompleteCallback,"ax",%progbits
+ 448 .align 1
+ 449 .global HAL_PCD_ISOINIncompleteCallback
+ 450 .syntax unified
+ 451 .code 16
+ 452 .thumb_func
+ 453 .fpu softvfp
+ 455 HAL_PCD_ISOINIncompleteCallback:
+ 456 .LFB53:
+ 244:Src/usbd_conf.c ****
+ ARM GAS /tmp/ccvOfDqw.s page 13
+
+
+ 245:Src/usbd_conf.c **** /**
+ 246:Src/usbd_conf.c **** * @brief ISOINIncomplete callback.
+ 247:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 248:Src/usbd_conf.c **** * @param epnum: Endpoint number
+ 249:Src/usbd_conf.c **** * @retval None
+ 250:Src/usbd_conf.c **** */
+ 251:Src/usbd_conf.c **** void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum)
+ 252:Src/usbd_conf.c **** {
+ 457 .loc 1 252 0
+ 458 .cfi_startproc
+ 459 @ args = 0, pretend = 0, frame = 0
+ 460 @ frame_needed = 0, uses_anonymous_args = 0
+ 461 .LVL42:
+ 462 0000 10B5 push {r4, lr}
+ 463 .LCFI11:
+ 464 .cfi_def_cfa_offset 8
+ 465 .cfi_offset 4, -8
+ 466 .cfi_offset 14, -4
+ 253:Src/usbd_conf.c **** USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum);
+ 467 .loc 1 253 0
+ 468 0002 9C23 movs r3, #156
+ 469 0004 9B00 lsls r3, r3, #2
+ 470 0006 C058 ldr r0, [r0, r3]
+ 471 .LVL43:
+ 472 0008 FFF7FEFF bl USBD_LL_IsoINIncomplete
+ 473 .LVL44:
+ 254:Src/usbd_conf.c **** }
+ 474 .loc 1 254 0
+ 475 @ sp needed
+ 476 000c 10BD pop {r4, pc}
+ 477 .cfi_endproc
+ 478 .LFE53:
+ 480 .section .text.HAL_PCD_ConnectCallback,"ax",%progbits
+ 481 .align 1
+ 482 .global HAL_PCD_ConnectCallback
+ 483 .syntax unified
+ 484 .code 16
+ 485 .thumb_func
+ 486 .fpu softvfp
+ 488 HAL_PCD_ConnectCallback:
+ 489 .LFB54:
+ 255:Src/usbd_conf.c ****
+ 256:Src/usbd_conf.c **** /**
+ 257:Src/usbd_conf.c **** * @brief Connect callback.
+ 258:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 259:Src/usbd_conf.c **** * @retval None
+ 260:Src/usbd_conf.c **** */
+ 261:Src/usbd_conf.c **** void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
+ 262:Src/usbd_conf.c **** {
+ 490 .loc 1 262 0
+ 491 .cfi_startproc
+ 492 @ args = 0, pretend = 0, frame = 0
+ 493 @ frame_needed = 0, uses_anonymous_args = 0
+ 494 .LVL45:
+ 495 0000 10B5 push {r4, lr}
+ 496 .LCFI12:
+ 497 .cfi_def_cfa_offset 8
+ ARM GAS /tmp/ccvOfDqw.s page 14
+
+
+ 498 .cfi_offset 4, -8
+ 499 .cfi_offset 14, -4
+ 263:Src/usbd_conf.c **** USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData);
+ 500 .loc 1 263 0
+ 501 0002 9C23 movs r3, #156
+ 502 0004 9B00 lsls r3, r3, #2
+ 503 0006 C058 ldr r0, [r0, r3]
+ 504 .LVL46:
+ 505 0008 FFF7FEFF bl USBD_LL_DevConnected
+ 506 .LVL47:
+ 264:Src/usbd_conf.c **** }
+ 507 .loc 1 264 0
+ 508 @ sp needed
+ 509 000c 10BD pop {r4, pc}
+ 510 .cfi_endproc
+ 511 .LFE54:
+ 513 .section .text.HAL_PCD_DisconnectCallback,"ax",%progbits
+ 514 .align 1
+ 515 .global HAL_PCD_DisconnectCallback
+ 516 .syntax unified
+ 517 .code 16
+ 518 .thumb_func
+ 519 .fpu softvfp
+ 521 HAL_PCD_DisconnectCallback:
+ 522 .LFB55:
+ 265:Src/usbd_conf.c ****
+ 266:Src/usbd_conf.c **** /**
+ 267:Src/usbd_conf.c **** * @brief Disconnect callback.
+ 268:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 269:Src/usbd_conf.c **** * @retval None
+ 270:Src/usbd_conf.c **** */
+ 271:Src/usbd_conf.c **** void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
+ 272:Src/usbd_conf.c **** {
+ 523 .loc 1 272 0
+ 524 .cfi_startproc
+ 525 @ args = 0, pretend = 0, frame = 0
+ 526 @ frame_needed = 0, uses_anonymous_args = 0
+ 527 .LVL48:
+ 528 0000 10B5 push {r4, lr}
+ 529 .LCFI13:
+ 530 .cfi_def_cfa_offset 8
+ 531 .cfi_offset 4, -8
+ 532 .cfi_offset 14, -4
+ 273:Src/usbd_conf.c **** USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData);
+ 533 .loc 1 273 0
+ 534 0002 9C23 movs r3, #156
+ 535 0004 9B00 lsls r3, r3, #2
+ 536 0006 C058 ldr r0, [r0, r3]
+ 537 .LVL49:
+ 538 0008 FFF7FEFF bl USBD_LL_DevDisconnected
+ 539 .LVL50:
+ 274:Src/usbd_conf.c **** }
+ 540 .loc 1 274 0
+ 541 @ sp needed
+ 542 000c 10BD pop {r4, pc}
+ 543 .cfi_endproc
+ 544 .LFE55:
+ ARM GAS /tmp/ccvOfDqw.s page 15
+
+
+ 546 .section .text.USBD_LL_Init,"ax",%progbits
+ 547 .align 1
+ 548 .global USBD_LL_Init
+ 549 .syntax unified
+ 550 .code 16
+ 551 .thumb_func
+ 552 .fpu softvfp
+ 554 USBD_LL_Init:
+ 555 .LFB56:
+ 275:Src/usbd_conf.c ****
+ 276:Src/usbd_conf.c **** /*******************************************************************************
+ 277:Src/usbd_conf.c **** LL Driver Interface (USB Device Library --> PCD)
+ 278:Src/usbd_conf.c **** *******************************************************************************/
+ 279:Src/usbd_conf.c ****
+ 280:Src/usbd_conf.c **** /**
+ 281:Src/usbd_conf.c **** * @brief Initializes the low level portion of the device driver.
+ 282:Src/usbd_conf.c **** * @param pdev: Device handle
+ 283:Src/usbd_conf.c **** * @retval USBD status
+ 284:Src/usbd_conf.c **** */
+ 285:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev)
+ 286:Src/usbd_conf.c **** {
+ 556 .loc 1 286 0
+ 557 .cfi_startproc
+ 558 @ args = 0, pretend = 0, frame = 0
+ 559 @ frame_needed = 0, uses_anonymous_args = 0
+ 560 .LVL51:
+ 561 0000 70B5 push {r4, r5, r6, lr}
+ 562 .LCFI14:
+ 563 .cfi_def_cfa_offset 16
+ 564 .cfi_offset 4, -16
+ 565 .cfi_offset 5, -12
+ 566 .cfi_offset 6, -8
+ 567 .cfi_offset 14, -4
+ 568 0002 0400 movs r4, r0
+ 287:Src/usbd_conf.c **** /* Init USB Ip. */
+ 288:Src/usbd_conf.c **** /* Link the driver to the stack. */
+ 289:Src/usbd_conf.c **** hpcd_USB_FS.pData = pdev;
+ 569 .loc 1 289 0
+ 570 0004 1B48 ldr r0, .L26
+ 571 .LVL52:
+ 572 0006 9C23 movs r3, #156
+ 573 0008 9B00 lsls r3, r3, #2
+ 574 000a C450 str r4, [r0, r3]
+ 290:Src/usbd_conf.c **** pdev->pData = &hpcd_USB_FS;
+ 575 .loc 1 290 0
+ 576 000c 8825 movs r5, #136
+ 577 000e AD00 lsls r5, r5, #2
+ 578 0010 6051 str r0, [r4, r5]
+ 291:Src/usbd_conf.c ****
+ 292:Src/usbd_conf.c **** hpcd_USB_FS.Instance = USB;
+ 579 .loc 1 292 0
+ 580 0012 194B ldr r3, .L26+4
+ 581 0014 0360 str r3, [r0]
+ 293:Src/usbd_conf.c **** hpcd_USB_FS.Init.dev_endpoints = 8;
+ 582 .loc 1 293 0
+ 583 0016 0823 movs r3, #8
+ 584 0018 4360 str r3, [r0, #4]
+ ARM GAS /tmp/ccvOfDqw.s page 16
+
+
+ 294:Src/usbd_conf.c **** hpcd_USB_FS.Init.speed = PCD_SPEED_FULL;
+ 585 .loc 1 294 0
+ 586 001a 0222 movs r2, #2
+ 587 001c 8260 str r2, [r0, #8]
+ 295:Src/usbd_conf.c **** hpcd_USB_FS.Init.ep0_mps = DEP0CTL_MPS_64;
+ 588 .loc 1 295 0
+ 589 001e 0023 movs r3, #0
+ 590 0020 C360 str r3, [r0, #12]
+ 296:Src/usbd_conf.c **** hpcd_USB_FS.Init.phy_itface = PCD_PHY_EMBEDDED;
+ 591 .loc 1 296 0
+ 592 0022 0261 str r2, [r0, #16]
+ 297:Src/usbd_conf.c **** hpcd_USB_FS.Init.low_power_enable = DISABLE;
+ 593 .loc 1 297 0
+ 594 0024 8361 str r3, [r0, #24]
+ 298:Src/usbd_conf.c **** hpcd_USB_FS.Init.lpm_enable = DISABLE;
+ 595 .loc 1 298 0
+ 596 0026 C361 str r3, [r0, #28]
+ 299:Src/usbd_conf.c **** hpcd_USB_FS.Init.battery_charging_enable = DISABLE;
+ 597 .loc 1 299 0
+ 598 0028 0362 str r3, [r0, #32]
+ 300:Src/usbd_conf.c **** if (HAL_PCD_Init(&hpcd_USB_FS) != HAL_OK)
+ 599 .loc 1 300 0
+ 600 002a FFF7FEFF bl HAL_PCD_Init
+ 601 .LVL53:
+ 301:Src/usbd_conf.c **** {
+ 302:Src/usbd_conf.c **** //_Error_Handler(__FILE__, __LINE__);
+ 303:Src/usbd_conf.c **** }
+ 304:Src/usbd_conf.c ****
+ 305:Src/usbd_conf.c **** HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x00 , PCD_SNG_BUF, 0x18);
+ 602 .loc 1 305 0
+ 603 002e 1823 movs r3, #24
+ 604 0030 0022 movs r2, #0
+ 605 0032 0021 movs r1, #0
+ 606 0034 6059 ldr r0, [r4, r5]
+ 607 0036 FFF7FEFF bl HAL_PCDEx_PMAConfig
+ 608 .LVL54:
+ 306:Src/usbd_conf.c **** HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x80 , PCD_SNG_BUF, 0x58);
+ 609 .loc 1 306 0
+ 610 003a 5823 movs r3, #88
+ 611 003c 0022 movs r2, #0
+ 612 003e 8021 movs r1, #128
+ 613 0040 6059 ldr r0, [r4, r5]
+ 614 0042 FFF7FEFF bl HAL_PCDEx_PMAConfig
+ 615 .LVL55:
+ 307:Src/usbd_conf.c **** HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x81 , PCD_SNG_BUF, 0xC0);
+ 616 .loc 1 307 0
+ 617 0046 C023 movs r3, #192
+ 618 0048 0022 movs r2, #0
+ 619 004a 8121 movs r1, #129
+ 620 004c 6059 ldr r0, [r4, r5]
+ 621 004e FFF7FEFF bl HAL_PCDEx_PMAConfig
+ 622 .LVL56:
+ 308:Src/usbd_conf.c **** HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x01 , PCD_SNG_BUF, 0x110);
+ 623 .loc 1 308 0
+ 624 0052 8823 movs r3, #136
+ 625 0054 5B00 lsls r3, r3, #1
+ 626 0056 0022 movs r2, #0
+ ARM GAS /tmp/ccvOfDqw.s page 17
+
+
+ 627 0058 0121 movs r1, #1
+ 628 005a 6059 ldr r0, [r4, r5]
+ 629 005c FFF7FEFF bl HAL_PCDEx_PMAConfig
+ 630 .LVL57:
+ 309:Src/usbd_conf.c **** HAL_PCDEx_PMAConfig((PCD_HandleTypeDef*)pdev->pData , 0x82 , PCD_SNG_BUF, 0x100);
+ 631 .loc 1 309 0
+ 632 0060 6059 ldr r0, [r4, r5]
+ 633 0062 8023 movs r3, #128
+ 634 0064 5B00 lsls r3, r3, #1
+ 635 0066 0022 movs r2, #0
+ 636 0068 8221 movs r1, #130
+ 637 006a FFF7FEFF bl HAL_PCDEx_PMAConfig
+ 638 .LVL58:
+ 310:Src/usbd_conf.c **** return USBD_OK;
+ 311:Src/usbd_conf.c **** }
+ 639 .loc 1 311 0
+ 640 006e 0020 movs r0, #0
+ 641 @ sp needed
+ 642 .LVL59:
+ 643 0070 70BD pop {r4, r5, r6, pc}
+ 644 .L27:
+ 645 0072 C046 .align 2
+ 646 .L26:
+ 647 0074 00000000 .word hpcd_USB_FS
+ 648 0078 005C0040 .word 1073765376
+ 649 .cfi_endproc
+ 650 .LFE56:
+ 652 .section .text.USBD_LL_DeInit,"ax",%progbits
+ 653 .align 1
+ 654 .global USBD_LL_DeInit
+ 655 .syntax unified
+ 656 .code 16
+ 657 .thumb_func
+ 658 .fpu softvfp
+ 660 USBD_LL_DeInit:
+ 661 .LFB57:
+ 312:Src/usbd_conf.c ****
+ 313:Src/usbd_conf.c **** /**
+ 314:Src/usbd_conf.c **** * @brief De-Initializes the low level portion of the device driver.
+ 315:Src/usbd_conf.c **** * @param pdev: Device handle
+ 316:Src/usbd_conf.c **** * @retval USBD status
+ 317:Src/usbd_conf.c **** */
+ 318:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_DeInit(USBD_HandleTypeDef *pdev)
+ 319:Src/usbd_conf.c **** {
+ 662 .loc 1 319 0
+ 663 .cfi_startproc
+ 664 @ args = 0, pretend = 0, frame = 0
+ 665 @ frame_needed = 0, uses_anonymous_args = 0
+ 666 .LVL60:
+ 667 0000 10B5 push {r4, lr}
+ 668 .LCFI15:
+ 669 .cfi_def_cfa_offset 8
+ 670 .cfi_offset 4, -8
+ 671 .cfi_offset 14, -4
+ 672 .LVL61:
+ 320:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 321:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ ARM GAS /tmp/ccvOfDqw.s page 18
+
+
+ 322:Src/usbd_conf.c ****
+ 323:Src/usbd_conf.c **** hal_status = HAL_PCD_DeInit(pdev->pData);
+ 673 .loc 1 323 0
+ 674 0002 8823 movs r3, #136
+ 675 0004 9B00 lsls r3, r3, #2
+ 676 0006 C058 ldr r0, [r0, r3]
+ 677 .LVL62:
+ 678 0008 FFF7FEFF bl HAL_PCD_DeInit
+ 679 .LVL63:
+ 324:Src/usbd_conf.c ****
+ 325:Src/usbd_conf.c **** switch (hal_status) {
+ 680 .loc 1 325 0
+ 681 000c 0028 cmp r0, #0
+ 682 000e 03D0 beq .L30
+ 683 0010 0228 cmp r0, #2
+ 684 0012 03D0 beq .L31
+ 326:Src/usbd_conf.c **** case HAL_OK :
+ 327:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 328:Src/usbd_conf.c **** break;
+ 329:Src/usbd_conf.c **** case HAL_ERROR :
+ 330:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 685 .loc 1 330 0
+ 686 0014 0220 movs r0, #2
+ 687 .LVL64:
+ 688 .L29:
+ 331:Src/usbd_conf.c **** break;
+ 332:Src/usbd_conf.c **** case HAL_BUSY :
+ 333:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 334:Src/usbd_conf.c **** break;
+ 335:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 336:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 337:Src/usbd_conf.c **** break;
+ 338:Src/usbd_conf.c **** default :
+ 339:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 340:Src/usbd_conf.c **** break;
+ 341:Src/usbd_conf.c **** }
+ 342:Src/usbd_conf.c **** return usb_status;
+ 343:Src/usbd_conf.c **** }
+ 689 .loc 1 343 0
+ 690 @ sp needed
+ 691 0016 10BD pop {r4, pc}
+ 692 .LVL65:
+ 693 .L30:
+ 327:Src/usbd_conf.c **** break;
+ 694 .loc 1 327 0
+ 695 0018 0020 movs r0, #0
+ 696 .LVL66:
+ 697 001a FCE7 b .L29
+ 698 .LVL67:
+ 699 .L31:
+ 333:Src/usbd_conf.c **** break;
+ 700 .loc 1 333 0
+ 701 001c 0120 movs r0, #1
+ 702 .LVL68:
+ 334:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 703 .loc 1 334 0
+ 704 001e FAE7 b .L29
+ ARM GAS /tmp/ccvOfDqw.s page 19
+
+
+ 705 .cfi_endproc
+ 706 .LFE57:
+ 708 .section .text.USBD_LL_Start,"ax",%progbits
+ 709 .align 1
+ 710 .global USBD_LL_Start
+ 711 .syntax unified
+ 712 .code 16
+ 713 .thumb_func
+ 714 .fpu softvfp
+ 716 USBD_LL_Start:
+ 717 .LFB58:
+ 344:Src/usbd_conf.c ****
+ 345:Src/usbd_conf.c **** /**
+ 346:Src/usbd_conf.c **** * @brief Starts the low level portion of the device driver.
+ 347:Src/usbd_conf.c **** * @param pdev: Device handle
+ 348:Src/usbd_conf.c **** * @retval USBD status
+ 349:Src/usbd_conf.c **** */
+ 350:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev)
+ 351:Src/usbd_conf.c **** {
+ 718 .loc 1 351 0
+ 719 .cfi_startproc
+ 720 @ args = 0, pretend = 0, frame = 0
+ 721 @ frame_needed = 0, uses_anonymous_args = 0
+ 722 .LVL69:
+ 723 0000 10B5 push {r4, lr}
+ 724 .LCFI16:
+ 725 .cfi_def_cfa_offset 8
+ 726 .cfi_offset 4, -8
+ 727 .cfi_offset 14, -4
+ 728 .LVL70:
+ 352:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 353:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 354:Src/usbd_conf.c ****
+ 355:Src/usbd_conf.c **** hal_status = HAL_PCD_Start(pdev->pData);
+ 729 .loc 1 355 0
+ 730 0002 8823 movs r3, #136
+ 731 0004 9B00 lsls r3, r3, #2
+ 732 0006 C058 ldr r0, [r0, r3]
+ 733 .LVL71:
+ 734 0008 FFF7FEFF bl HAL_PCD_Start
+ 735 .LVL72:
+ 356:Src/usbd_conf.c ****
+ 357:Src/usbd_conf.c **** switch (hal_status) {
+ 736 .loc 1 357 0
+ 737 000c 0028 cmp r0, #0
+ 738 000e 03D0 beq .L36
+ 739 0010 0228 cmp r0, #2
+ 740 0012 03D0 beq .L37
+ 358:Src/usbd_conf.c **** case HAL_OK :
+ 359:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 360:Src/usbd_conf.c **** break;
+ 361:Src/usbd_conf.c **** case HAL_ERROR :
+ 362:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 741 .loc 1 362 0
+ 742 0014 0220 movs r0, #2
+ 743 .LVL73:
+ 744 .L35:
+ ARM GAS /tmp/ccvOfDqw.s page 20
+
+
+ 363:Src/usbd_conf.c **** break;
+ 364:Src/usbd_conf.c **** case HAL_BUSY :
+ 365:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 366:Src/usbd_conf.c **** break;
+ 367:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 368:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 369:Src/usbd_conf.c **** break;
+ 370:Src/usbd_conf.c **** default :
+ 371:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 372:Src/usbd_conf.c **** break;
+ 373:Src/usbd_conf.c **** }
+ 374:Src/usbd_conf.c **** return usb_status;
+ 375:Src/usbd_conf.c **** }
+ 745 .loc 1 375 0
+ 746 @ sp needed
+ 747 0016 10BD pop {r4, pc}
+ 748 .LVL74:
+ 749 .L36:
+ 359:Src/usbd_conf.c **** break;
+ 750 .loc 1 359 0
+ 751 0018 0020 movs r0, #0
+ 752 .LVL75:
+ 753 001a FCE7 b .L35
+ 754 .LVL76:
+ 755 .L37:
+ 365:Src/usbd_conf.c **** break;
+ 756 .loc 1 365 0
+ 757 001c 0120 movs r0, #1
+ 758 .LVL77:
+ 366:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 759 .loc 1 366 0
+ 760 001e FAE7 b .L35
+ 761 .cfi_endproc
+ 762 .LFE58:
+ 764 .section .text.USBD_LL_Stop,"ax",%progbits
+ 765 .align 1
+ 766 .global USBD_LL_Stop
+ 767 .syntax unified
+ 768 .code 16
+ 769 .thumb_func
+ 770 .fpu softvfp
+ 772 USBD_LL_Stop:
+ 773 .LFB59:
+ 376:Src/usbd_conf.c ****
+ 377:Src/usbd_conf.c **** /**
+ 378:Src/usbd_conf.c **** * @brief Stops the low level portion of the device driver.
+ 379:Src/usbd_conf.c **** * @param pdev: Device handle
+ 380:Src/usbd_conf.c **** * @retval USBD status
+ 381:Src/usbd_conf.c **** */
+ 382:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Stop(USBD_HandleTypeDef *pdev)
+ 383:Src/usbd_conf.c **** {
+ 774 .loc 1 383 0
+ 775 .cfi_startproc
+ 776 @ args = 0, pretend = 0, frame = 0
+ 777 @ frame_needed = 0, uses_anonymous_args = 0
+ 778 .LVL78:
+ 779 0000 10B5 push {r4, lr}
+ ARM GAS /tmp/ccvOfDqw.s page 21
+
+
+ 780 .LCFI17:
+ 781 .cfi_def_cfa_offset 8
+ 782 .cfi_offset 4, -8
+ 783 .cfi_offset 14, -4
+ 784 .LVL79:
+ 384:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 385:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 386:Src/usbd_conf.c ****
+ 387:Src/usbd_conf.c **** hal_status = HAL_PCD_Stop(pdev->pData);
+ 785 .loc 1 387 0
+ 786 0002 8823 movs r3, #136
+ 787 0004 9B00 lsls r3, r3, #2
+ 788 0006 C058 ldr r0, [r0, r3]
+ 789 .LVL80:
+ 790 0008 FFF7FEFF bl HAL_PCD_Stop
+ 791 .LVL81:
+ 388:Src/usbd_conf.c ****
+ 389:Src/usbd_conf.c **** switch (hal_status) {
+ 792 .loc 1 389 0
+ 793 000c 0028 cmp r0, #0
+ 794 000e 03D0 beq .L42
+ 795 0010 0228 cmp r0, #2
+ 796 0012 03D0 beq .L43
+ 390:Src/usbd_conf.c **** case HAL_OK :
+ 391:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 392:Src/usbd_conf.c **** break;
+ 393:Src/usbd_conf.c **** case HAL_ERROR :
+ 394:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 797 .loc 1 394 0
+ 798 0014 0220 movs r0, #2
+ 799 .LVL82:
+ 800 .L41:
+ 395:Src/usbd_conf.c **** break;
+ 396:Src/usbd_conf.c **** case HAL_BUSY :
+ 397:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 398:Src/usbd_conf.c **** break;
+ 399:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 400:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 401:Src/usbd_conf.c **** break;
+ 402:Src/usbd_conf.c **** default :
+ 403:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 404:Src/usbd_conf.c **** break;
+ 405:Src/usbd_conf.c **** }
+ 406:Src/usbd_conf.c **** return usb_status;
+ 407:Src/usbd_conf.c **** }
+ 801 .loc 1 407 0
+ 802 @ sp needed
+ 803 0016 10BD pop {r4, pc}
+ 804 .LVL83:
+ 805 .L42:
+ 391:Src/usbd_conf.c **** break;
+ 806 .loc 1 391 0
+ 807 0018 0020 movs r0, #0
+ 808 .LVL84:
+ 809 001a FCE7 b .L41
+ 810 .LVL85:
+ 811 .L43:
+ ARM GAS /tmp/ccvOfDqw.s page 22
+
+
+ 397:Src/usbd_conf.c **** break;
+ 812 .loc 1 397 0
+ 813 001c 0120 movs r0, #1
+ 814 .LVL86:
+ 398:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 815 .loc 1 398 0
+ 816 001e FAE7 b .L41
+ 817 .cfi_endproc
+ 818 .LFE59:
+ 820 .section .text.USBD_LL_OpenEP,"ax",%progbits
+ 821 .align 1
+ 822 .global USBD_LL_OpenEP
+ 823 .syntax unified
+ 824 .code 16
+ 825 .thumb_func
+ 826 .fpu softvfp
+ 828 USBD_LL_OpenEP:
+ 829 .LFB60:
+ 408:Src/usbd_conf.c ****
+ 409:Src/usbd_conf.c **** /**
+ 410:Src/usbd_conf.c **** * @brief Opens an endpoint of the low level driver.
+ 411:Src/usbd_conf.c **** * @param pdev: Device handle
+ 412:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 413:Src/usbd_conf.c **** * @param ep_type: Endpoint type
+ 414:Src/usbd_conf.c **** * @param ep_mps: Endpoint max packet size
+ 415:Src/usbd_conf.c **** * @retval USBD status
+ 416:Src/usbd_conf.c **** */
+ 417:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint1
+ 418:Src/usbd_conf.c **** {
+ 830 .loc 1 418 0
+ 831 .cfi_startproc
+ 832 @ args = 0, pretend = 0, frame = 0
+ 833 @ frame_needed = 0, uses_anonymous_args = 0
+ 834 .LVL87:
+ 835 0000 10B5 push {r4, lr}
+ 836 .LCFI18:
+ 837 .cfi_def_cfa_offset 8
+ 838 .cfi_offset 4, -8
+ 839 .cfi_offset 14, -4
+ 840 0002 1400 movs r4, r2
+ 841 0004 1A00 movs r2, r3
+ 842 .LVL88:
+ 419:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 420:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 421:Src/usbd_conf.c ****
+ 422:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type);
+ 843 .loc 1 422 0
+ 844 0006 8823 movs r3, #136
+ 845 .LVL89:
+ 846 0008 9B00 lsls r3, r3, #2
+ 847 000a C058 ldr r0, [r0, r3]
+ 848 .LVL90:
+ 849 000c 2300 movs r3, r4
+ 850 000e FFF7FEFF bl HAL_PCD_EP_Open
+ 851 .LVL91:
+ 423:Src/usbd_conf.c ****
+ 424:Src/usbd_conf.c **** switch (hal_status) {
+ ARM GAS /tmp/ccvOfDqw.s page 23
+
+
+ 852 .loc 1 424 0
+ 853 0012 0028 cmp r0, #0
+ 854 0014 03D0 beq .L48
+ 855 0016 0228 cmp r0, #2
+ 856 0018 03D0 beq .L49
+ 425:Src/usbd_conf.c **** case HAL_OK :
+ 426:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 427:Src/usbd_conf.c **** break;
+ 428:Src/usbd_conf.c **** case HAL_ERROR :
+ 429:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 857 .loc 1 429 0
+ 858 001a 0220 movs r0, #2
+ 859 .LVL92:
+ 860 .L47:
+ 430:Src/usbd_conf.c **** break;
+ 431:Src/usbd_conf.c **** case HAL_BUSY :
+ 432:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 433:Src/usbd_conf.c **** break;
+ 434:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 435:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 436:Src/usbd_conf.c **** break;
+ 437:Src/usbd_conf.c **** default :
+ 438:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 439:Src/usbd_conf.c **** break;
+ 440:Src/usbd_conf.c **** }
+ 441:Src/usbd_conf.c **** return usb_status;
+ 442:Src/usbd_conf.c **** }
+ 861 .loc 1 442 0
+ 862 @ sp needed
+ 863 001c 10BD pop {r4, pc}
+ 864 .LVL93:
+ 865 .L48:
+ 426:Src/usbd_conf.c **** break;
+ 866 .loc 1 426 0
+ 867 001e 0020 movs r0, #0
+ 868 .LVL94:
+ 869 0020 FCE7 b .L47
+ 870 .LVL95:
+ 871 .L49:
+ 432:Src/usbd_conf.c **** break;
+ 872 .loc 1 432 0
+ 873 0022 0120 movs r0, #1
+ 874 .LVL96:
+ 433:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 875 .loc 1 433 0
+ 876 0024 FAE7 b .L47
+ 877 .cfi_endproc
+ 878 .LFE60:
+ 880 .section .text.USBD_LL_CloseEP,"ax",%progbits
+ 881 .align 1
+ 882 .global USBD_LL_CloseEP
+ 883 .syntax unified
+ 884 .code 16
+ 885 .thumb_func
+ 886 .fpu softvfp
+ 888 USBD_LL_CloseEP:
+ 889 .LFB61:
+ ARM GAS /tmp/ccvOfDqw.s page 24
+
+
+ 443:Src/usbd_conf.c ****
+ 444:Src/usbd_conf.c **** /**
+ 445:Src/usbd_conf.c **** * @brief Closes an endpoint of the low level driver.
+ 446:Src/usbd_conf.c **** * @param pdev: Device handle
+ 447:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 448:Src/usbd_conf.c **** * @retval USBD status
+ 449:Src/usbd_conf.c **** */
+ 450:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 451:Src/usbd_conf.c **** {
+ 890 .loc 1 451 0
+ 891 .cfi_startproc
+ 892 @ args = 0, pretend = 0, frame = 0
+ 893 @ frame_needed = 0, uses_anonymous_args = 0
+ 894 .LVL97:
+ 895 0000 10B5 push {r4, lr}
+ 896 .LCFI19:
+ 897 .cfi_def_cfa_offset 8
+ 898 .cfi_offset 4, -8
+ 899 .cfi_offset 14, -4
+ 900 .LVL98:
+ 452:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 453:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 454:Src/usbd_conf.c ****
+ 455:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr);
+ 901 .loc 1 455 0
+ 902 0002 8823 movs r3, #136
+ 903 0004 9B00 lsls r3, r3, #2
+ 904 0006 C058 ldr r0, [r0, r3]
+ 905 .LVL99:
+ 906 0008 FFF7FEFF bl HAL_PCD_EP_Close
+ 907 .LVL100:
+ 456:Src/usbd_conf.c ****
+ 457:Src/usbd_conf.c **** switch (hal_status) {
+ 908 .loc 1 457 0
+ 909 000c 0028 cmp r0, #0
+ 910 000e 03D0 beq .L54
+ 911 0010 0228 cmp r0, #2
+ 912 0012 03D0 beq .L55
+ 458:Src/usbd_conf.c **** case HAL_OK :
+ 459:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 460:Src/usbd_conf.c **** break;
+ 461:Src/usbd_conf.c **** case HAL_ERROR :
+ 462:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 913 .loc 1 462 0
+ 914 0014 0220 movs r0, #2
+ 915 .LVL101:
+ 916 .L53:
+ 463:Src/usbd_conf.c **** break;
+ 464:Src/usbd_conf.c **** case HAL_BUSY :
+ 465:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 466:Src/usbd_conf.c **** break;
+ 467:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 468:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 469:Src/usbd_conf.c **** break;
+ 470:Src/usbd_conf.c **** default :
+ 471:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 472:Src/usbd_conf.c **** break;
+ ARM GAS /tmp/ccvOfDqw.s page 25
+
+
+ 473:Src/usbd_conf.c **** }
+ 474:Src/usbd_conf.c **** return usb_status;
+ 475:Src/usbd_conf.c **** }
+ 917 .loc 1 475 0
+ 918 @ sp needed
+ 919 0016 10BD pop {r4, pc}
+ 920 .LVL102:
+ 921 .L54:
+ 459:Src/usbd_conf.c **** break;
+ 922 .loc 1 459 0
+ 923 0018 0020 movs r0, #0
+ 924 .LVL103:
+ 925 001a FCE7 b .L53
+ 926 .LVL104:
+ 927 .L55:
+ 465:Src/usbd_conf.c **** break;
+ 928 .loc 1 465 0
+ 929 001c 0120 movs r0, #1
+ 930 .LVL105:
+ 466:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 931 .loc 1 466 0
+ 932 001e FAE7 b .L53
+ 933 .cfi_endproc
+ 934 .LFE61:
+ 936 .section .text.USBD_LL_FlushEP,"ax",%progbits
+ 937 .align 1
+ 938 .global USBD_LL_FlushEP
+ 939 .syntax unified
+ 940 .code 16
+ 941 .thumb_func
+ 942 .fpu softvfp
+ 944 USBD_LL_FlushEP:
+ 945 .LFB62:
+ 476:Src/usbd_conf.c ****
+ 477:Src/usbd_conf.c **** /**
+ 478:Src/usbd_conf.c **** * @brief Flushes an endpoint of the Low Level Driver.
+ 479:Src/usbd_conf.c **** * @param pdev: Device handle
+ 480:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 481:Src/usbd_conf.c **** * @retval USBD status
+ 482:Src/usbd_conf.c **** */
+ 483:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 484:Src/usbd_conf.c **** {
+ 946 .loc 1 484 0
+ 947 .cfi_startproc
+ 948 @ args = 0, pretend = 0, frame = 0
+ 949 @ frame_needed = 0, uses_anonymous_args = 0
+ 950 .LVL106:
+ 951 0000 10B5 push {r4, lr}
+ 952 .LCFI20:
+ 953 .cfi_def_cfa_offset 8
+ 954 .cfi_offset 4, -8
+ 955 .cfi_offset 14, -4
+ 956 .LVL107:
+ 485:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 486:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 487:Src/usbd_conf.c ****
+ 488:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr);
+ ARM GAS /tmp/ccvOfDqw.s page 26
+
+
+ 957 .loc 1 488 0
+ 958 0002 8823 movs r3, #136
+ 959 0004 9B00 lsls r3, r3, #2
+ 960 0006 C058 ldr r0, [r0, r3]
+ 961 .LVL108:
+ 962 0008 FFF7FEFF bl HAL_PCD_EP_Flush
+ 963 .LVL109:
+ 489:Src/usbd_conf.c ****
+ 490:Src/usbd_conf.c **** switch (hal_status) {
+ 964 .loc 1 490 0
+ 965 000c 0028 cmp r0, #0
+ 966 000e 03D0 beq .L60
+ 967 0010 0228 cmp r0, #2
+ 968 0012 03D0 beq .L61
+ 491:Src/usbd_conf.c **** case HAL_OK :
+ 492:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 493:Src/usbd_conf.c **** break;
+ 494:Src/usbd_conf.c **** case HAL_ERROR :
+ 495:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 969 .loc 1 495 0
+ 970 0014 0220 movs r0, #2
+ 971 .LVL110:
+ 972 .L59:
+ 496:Src/usbd_conf.c **** break;
+ 497:Src/usbd_conf.c **** case HAL_BUSY :
+ 498:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 499:Src/usbd_conf.c **** break;
+ 500:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 501:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 502:Src/usbd_conf.c **** break;
+ 503:Src/usbd_conf.c **** default :
+ 504:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 505:Src/usbd_conf.c **** break;
+ 506:Src/usbd_conf.c **** }
+ 507:Src/usbd_conf.c **** return usb_status;
+ 508:Src/usbd_conf.c **** }
+ 973 .loc 1 508 0
+ 974 @ sp needed
+ 975 0016 10BD pop {r4, pc}
+ 976 .LVL111:
+ 977 .L60:
+ 492:Src/usbd_conf.c **** break;
+ 978 .loc 1 492 0
+ 979 0018 0020 movs r0, #0
+ 980 .LVL112:
+ 981 001a FCE7 b .L59
+ 982 .LVL113:
+ 983 .L61:
+ 498:Src/usbd_conf.c **** break;
+ 984 .loc 1 498 0
+ 985 001c 0120 movs r0, #1
+ 986 .LVL114:
+ 499:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 987 .loc 1 499 0
+ 988 001e FAE7 b .L59
+ 989 .cfi_endproc
+ 990 .LFE62:
+ ARM GAS /tmp/ccvOfDqw.s page 27
+
+
+ 992 .section .text.USBD_LL_StallEP,"ax",%progbits
+ 993 .align 1
+ 994 .global USBD_LL_StallEP
+ 995 .syntax unified
+ 996 .code 16
+ 997 .thumb_func
+ 998 .fpu softvfp
+ 1000 USBD_LL_StallEP:
+ 1001 .LFB63:
+ 509:Src/usbd_conf.c ****
+ 510:Src/usbd_conf.c **** /**
+ 511:Src/usbd_conf.c **** * @brief Sets a Stall condition on an endpoint of the Low Level Driver.
+ 512:Src/usbd_conf.c **** * @param pdev: Device handle
+ 513:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 514:Src/usbd_conf.c **** * @retval USBD status
+ 515:Src/usbd_conf.c **** */
+ 516:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 517:Src/usbd_conf.c **** {
+ 1002 .loc 1 517 0
+ 1003 .cfi_startproc
+ 1004 @ args = 0, pretend = 0, frame = 0
+ 1005 @ frame_needed = 0, uses_anonymous_args = 0
+ 1006 .LVL115:
+ 1007 0000 10B5 push {r4, lr}
+ 1008 .LCFI21:
+ 1009 .cfi_def_cfa_offset 8
+ 1010 .cfi_offset 4, -8
+ 1011 .cfi_offset 14, -4
+ 1012 .LVL116:
+ 518:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 519:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 520:Src/usbd_conf.c ****
+ 521:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr);
+ 1013 .loc 1 521 0
+ 1014 0002 8823 movs r3, #136
+ 1015 0004 9B00 lsls r3, r3, #2
+ 1016 0006 C058 ldr r0, [r0, r3]
+ 1017 .LVL117:
+ 1018 0008 FFF7FEFF bl HAL_PCD_EP_SetStall
+ 1019 .LVL118:
+ 522:Src/usbd_conf.c ****
+ 523:Src/usbd_conf.c **** switch (hal_status) {
+ 1020 .loc 1 523 0
+ 1021 000c 0028 cmp r0, #0
+ 1022 000e 03D0 beq .L66
+ 1023 0010 0228 cmp r0, #2
+ 1024 0012 03D0 beq .L67
+ 524:Src/usbd_conf.c **** case HAL_OK :
+ 525:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 526:Src/usbd_conf.c **** break;
+ 527:Src/usbd_conf.c **** case HAL_ERROR :
+ 528:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 1025 .loc 1 528 0
+ 1026 0014 0220 movs r0, #2
+ 1027 .LVL119:
+ 1028 .L65:
+ 529:Src/usbd_conf.c **** break;
+ ARM GAS /tmp/ccvOfDqw.s page 28
+
+
+ 530:Src/usbd_conf.c **** case HAL_BUSY :
+ 531:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 532:Src/usbd_conf.c **** break;
+ 533:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 534:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 535:Src/usbd_conf.c **** break;
+ 536:Src/usbd_conf.c **** default :
+ 537:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 538:Src/usbd_conf.c **** break;
+ 539:Src/usbd_conf.c **** }
+ 540:Src/usbd_conf.c **** return usb_status;
+ 541:Src/usbd_conf.c **** }
+ 1029 .loc 1 541 0
+ 1030 @ sp needed
+ 1031 0016 10BD pop {r4, pc}
+ 1032 .LVL120:
+ 1033 .L66:
+ 525:Src/usbd_conf.c **** break;
+ 1034 .loc 1 525 0
+ 1035 0018 0020 movs r0, #0
+ 1036 .LVL121:
+ 1037 001a FCE7 b .L65
+ 1038 .LVL122:
+ 1039 .L67:
+ 531:Src/usbd_conf.c **** break;
+ 1040 .loc 1 531 0
+ 1041 001c 0120 movs r0, #1
+ 1042 .LVL123:
+ 532:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 1043 .loc 1 532 0
+ 1044 001e FAE7 b .L65
+ 1045 .cfi_endproc
+ 1046 .LFE63:
+ 1048 .section .text.USBD_LL_ClearStallEP,"ax",%progbits
+ 1049 .align 1
+ 1050 .global USBD_LL_ClearStallEP
+ 1051 .syntax unified
+ 1052 .code 16
+ 1053 .thumb_func
+ 1054 .fpu softvfp
+ 1056 USBD_LL_ClearStallEP:
+ 1057 .LFB64:
+ 542:Src/usbd_conf.c ****
+ 543:Src/usbd_conf.c **** /**
+ 544:Src/usbd_conf.c **** * @brief Clears a Stall condition on an endpoint of the Low Level Driver.
+ 545:Src/usbd_conf.c **** * @param pdev: Device handle
+ 546:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 547:Src/usbd_conf.c **** * @retval USBD status
+ 548:Src/usbd_conf.c **** */
+ 549:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 550:Src/usbd_conf.c **** {
+ 1058 .loc 1 550 0
+ 1059 .cfi_startproc
+ 1060 @ args = 0, pretend = 0, frame = 0
+ 1061 @ frame_needed = 0, uses_anonymous_args = 0
+ 1062 .LVL124:
+ 1063 0000 10B5 push {r4, lr}
+ ARM GAS /tmp/ccvOfDqw.s page 29
+
+
+ 1064 .LCFI22:
+ 1065 .cfi_def_cfa_offset 8
+ 1066 .cfi_offset 4, -8
+ 1067 .cfi_offset 14, -4
+ 1068 .LVL125:
+ 551:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 552:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 553:Src/usbd_conf.c ****
+ 554:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr);
+ 1069 .loc 1 554 0
+ 1070 0002 8823 movs r3, #136
+ 1071 0004 9B00 lsls r3, r3, #2
+ 1072 0006 C058 ldr r0, [r0, r3]
+ 1073 .LVL126:
+ 1074 0008 FFF7FEFF bl HAL_PCD_EP_ClrStall
+ 1075 .LVL127:
+ 555:Src/usbd_conf.c ****
+ 556:Src/usbd_conf.c **** switch (hal_status) {
+ 1076 .loc 1 556 0
+ 1077 000c 0028 cmp r0, #0
+ 1078 000e 03D0 beq .L72
+ 1079 0010 0228 cmp r0, #2
+ 1080 0012 03D0 beq .L73
+ 557:Src/usbd_conf.c **** case HAL_OK :
+ 558:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 559:Src/usbd_conf.c **** break;
+ 560:Src/usbd_conf.c **** case HAL_ERROR :
+ 561:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 1081 .loc 1 561 0
+ 1082 0014 0220 movs r0, #2
+ 1083 .LVL128:
+ 1084 .L71:
+ 562:Src/usbd_conf.c **** break;
+ 563:Src/usbd_conf.c **** case HAL_BUSY :
+ 564:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 565:Src/usbd_conf.c **** break;
+ 566:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 567:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 568:Src/usbd_conf.c **** break;
+ 569:Src/usbd_conf.c **** default :
+ 570:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 571:Src/usbd_conf.c **** break;
+ 572:Src/usbd_conf.c **** }
+ 573:Src/usbd_conf.c **** return usb_status;
+ 574:Src/usbd_conf.c **** }
+ 1085 .loc 1 574 0
+ 1086 @ sp needed
+ 1087 0016 10BD pop {r4, pc}
+ 1088 .LVL129:
+ 1089 .L72:
+ 558:Src/usbd_conf.c **** break;
+ 1090 .loc 1 558 0
+ 1091 0018 0020 movs r0, #0
+ 1092 .LVL130:
+ 1093 001a FCE7 b .L71
+ 1094 .LVL131:
+ 1095 .L73:
+ ARM GAS /tmp/ccvOfDqw.s page 30
+
+
+ 564:Src/usbd_conf.c **** break;
+ 1096 .loc 1 564 0
+ 1097 001c 0120 movs r0, #1
+ 1098 .LVL132:
+ 565:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 1099 .loc 1 565 0
+ 1100 001e FAE7 b .L71
+ 1101 .cfi_endproc
+ 1102 .LFE64:
+ 1104 .section .text.USBD_LL_IsStallEP,"ax",%progbits
+ 1105 .align 1
+ 1106 .global USBD_LL_IsStallEP
+ 1107 .syntax unified
+ 1108 .code 16
+ 1109 .thumb_func
+ 1110 .fpu softvfp
+ 1112 USBD_LL_IsStallEP:
+ 1113 .LFB65:
+ 575:Src/usbd_conf.c ****
+ 576:Src/usbd_conf.c **** /**
+ 577:Src/usbd_conf.c **** * @brief Returns Stall condition.
+ 578:Src/usbd_conf.c **** * @param pdev: Device handle
+ 579:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 580:Src/usbd_conf.c **** * @retval Stall (1: Yes, 0: No)
+ 581:Src/usbd_conf.c **** */
+ 582:Src/usbd_conf.c **** uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 583:Src/usbd_conf.c **** {
+ 1114 .loc 1 583 0
+ 1115 .cfi_startproc
+ 1116 @ args = 0, pretend = 0, frame = 0
+ 1117 @ frame_needed = 0, uses_anonymous_args = 0
+ 1118 @ link register save eliminated.
+ 1119 .LVL133:
+ 1120 0000 0A00 movs r2, r1
+ 584:Src/usbd_conf.c **** PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData;
+ 1121 .loc 1 584 0
+ 1122 0002 8823 movs r3, #136
+ 1123 0004 9B00 lsls r3, r3, #2
+ 1124 0006 C358 ldr r3, [r0, r3]
+ 1125 .LVL134:
+ 585:Src/usbd_conf.c ****
+ 586:Src/usbd_conf.c **** if((ep_addr & 0x80) == 0x80)
+ 1126 .loc 1 586 0
+ 1127 0008 49B2 sxtb r1, r1
+ 1128 000a 0029 cmp r1, #0
+ 1129 000c 07DB blt .L79
+ 587:Src/usbd_conf.c **** {
+ 588:Src/usbd_conf.c **** return hpcd->IN_ep[ep_addr & 0x7F].is_stall;
+ 589:Src/usbd_conf.c **** }
+ 590:Src/usbd_conf.c **** else
+ 591:Src/usbd_conf.c **** {
+ 592:Src/usbd_conf.c **** return hpcd->OUT_ep[ep_addr & 0x7F].is_stall;
+ 1130 .loc 1 592 0
+ 1131 000e 7F21 movs r1, #127
+ 1132 .LVL135:
+ 1133 0010 1140 ands r1, r2
+ 1134 0012 4901 lsls r1, r1, #5
+ ARM GAS /tmp/ccvOfDqw.s page 31
+
+
+ 1135 0014 5B18 adds r3, r3, r1
+ 1136 .LVL136:
+ 1137 0016 2B33 adds r3, r3, #43
+ 1138 0018 FF33 adds r3, r3, #255
+ 1139 001a 1878 ldrb r0, [r3]
+ 1140 .LVL137:
+ 1141 .L78:
+ 593:Src/usbd_conf.c **** }
+ 594:Src/usbd_conf.c **** }
+ 1142 .loc 1 594 0
+ 1143 @ sp needed
+ 1144 001c 7047 bx lr
+ 1145 .LVL138:
+ 1146 .L79:
+ 588:Src/usbd_conf.c **** }
+ 1147 .loc 1 588 0
+ 1148 001e 7F21 movs r1, #127
+ 1149 0020 1140 ands r1, r2
+ 1150 0022 4901 lsls r1, r1, #5
+ 1151 0024 5B18 adds r3, r3, r1
+ 1152 .LVL139:
+ 1153 0026 2A33 adds r3, r3, #42
+ 1154 0028 1878 ldrb r0, [r3]
+ 1155 .LVL140:
+ 1156 002a F7E7 b .L78
+ 1157 .cfi_endproc
+ 1158 .LFE65:
+ 1160 .section .text.USBD_LL_SetUSBAddress,"ax",%progbits
+ 1161 .align 1
+ 1162 .global USBD_LL_SetUSBAddress
+ 1163 .syntax unified
+ 1164 .code 16
+ 1165 .thumb_func
+ 1166 .fpu softvfp
+ 1168 USBD_LL_SetUSBAddress:
+ 1169 .LFB66:
+ 595:Src/usbd_conf.c ****
+ 596:Src/usbd_conf.c **** /**
+ 597:Src/usbd_conf.c **** * @brief Assigns a USB address to the device.
+ 598:Src/usbd_conf.c **** * @param pdev: Device handle
+ 599:Src/usbd_conf.c **** * @param dev_addr: Device address
+ 600:Src/usbd_conf.c **** * @retval USBD status
+ 601:Src/usbd_conf.c **** */
+ 602:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr)
+ 603:Src/usbd_conf.c **** {
+ 1170 .loc 1 603 0
+ 1171 .cfi_startproc
+ 1172 @ args = 0, pretend = 0, frame = 0
+ 1173 @ frame_needed = 0, uses_anonymous_args = 0
+ 1174 .LVL141:
+ 1175 0000 10B5 push {r4, lr}
+ 1176 .LCFI23:
+ 1177 .cfi_def_cfa_offset 8
+ 1178 .cfi_offset 4, -8
+ 1179 .cfi_offset 14, -4
+ 1180 .LVL142:
+ 604:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ ARM GAS /tmp/ccvOfDqw.s page 32
+
+
+ 605:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 606:Src/usbd_conf.c ****
+ 607:Src/usbd_conf.c **** hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr);
+ 1181 .loc 1 607 0
+ 1182 0002 8823 movs r3, #136
+ 1183 0004 9B00 lsls r3, r3, #2
+ 1184 0006 C058 ldr r0, [r0, r3]
+ 1185 .LVL143:
+ 1186 0008 FFF7FEFF bl HAL_PCD_SetAddress
+ 1187 .LVL144:
+ 608:Src/usbd_conf.c ****
+ 609:Src/usbd_conf.c **** switch (hal_status) {
+ 1188 .loc 1 609 0
+ 1189 000c 0028 cmp r0, #0
+ 1190 000e 03D0 beq .L82
+ 1191 0010 0228 cmp r0, #2
+ 1192 0012 03D0 beq .L83
+ 610:Src/usbd_conf.c **** case HAL_OK :
+ 611:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 612:Src/usbd_conf.c **** break;
+ 613:Src/usbd_conf.c **** case HAL_ERROR :
+ 614:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 1193 .loc 1 614 0
+ 1194 0014 0220 movs r0, #2
+ 1195 .LVL145:
+ 1196 .L81:
+ 615:Src/usbd_conf.c **** break;
+ 616:Src/usbd_conf.c **** case HAL_BUSY :
+ 617:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 618:Src/usbd_conf.c **** break;
+ 619:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 620:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 621:Src/usbd_conf.c **** break;
+ 622:Src/usbd_conf.c **** default :
+ 623:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 624:Src/usbd_conf.c **** break;
+ 625:Src/usbd_conf.c **** }
+ 626:Src/usbd_conf.c **** return usb_status;
+ 627:Src/usbd_conf.c **** }
+ 1197 .loc 1 627 0
+ 1198 @ sp needed
+ 1199 0016 10BD pop {r4, pc}
+ 1200 .LVL146:
+ 1201 .L82:
+ 611:Src/usbd_conf.c **** break;
+ 1202 .loc 1 611 0
+ 1203 0018 0020 movs r0, #0
+ 1204 .LVL147:
+ 1205 001a FCE7 b .L81
+ 1206 .LVL148:
+ 1207 .L83:
+ 617:Src/usbd_conf.c **** break;
+ 1208 .loc 1 617 0
+ 1209 001c 0120 movs r0, #1
+ 1210 .LVL149:
+ 618:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 1211 .loc 1 618 0
+ ARM GAS /tmp/ccvOfDqw.s page 33
+
+
+ 1212 001e FAE7 b .L81
+ 1213 .cfi_endproc
+ 1214 .LFE66:
+ 1216 .section .text.USBD_LL_Transmit,"ax",%progbits
+ 1217 .align 1
+ 1218 .global USBD_LL_Transmit
+ 1219 .syntax unified
+ 1220 .code 16
+ 1221 .thumb_func
+ 1222 .fpu softvfp
+ 1224 USBD_LL_Transmit:
+ 1225 .LFB67:
+ 628:Src/usbd_conf.c ****
+ 629:Src/usbd_conf.c **** /**
+ 630:Src/usbd_conf.c **** * @brief Transmits data over an endpoint.
+ 631:Src/usbd_conf.c **** * @param pdev: Device handle
+ 632:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 633:Src/usbd_conf.c **** * @param pbuf: Pointer to data to be sent
+ 634:Src/usbd_conf.c **** * @param size: Data size
+ 635:Src/usbd_conf.c **** * @retval USBD status
+ 636:Src/usbd_conf.c **** */
+ 637:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint1
+ 638:Src/usbd_conf.c **** {
+ 1226 .loc 1 638 0
+ 1227 .cfi_startproc
+ 1228 @ args = 0, pretend = 0, frame = 0
+ 1229 @ frame_needed = 0, uses_anonymous_args = 0
+ 1230 .LVL150:
+ 1231 0000 10B5 push {r4, lr}
+ 1232 .LCFI24:
+ 1233 .cfi_def_cfa_offset 8
+ 1234 .cfi_offset 4, -8
+ 1235 .cfi_offset 14, -4
+ 1236 .LVL151:
+ 639:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 640:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 641:Src/usbd_conf.c ****
+ 642:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size);
+ 1237 .loc 1 642 0
+ 1238 0002 8824 movs r4, #136
+ 1239 0004 A400 lsls r4, r4, #2
+ 1240 0006 0059 ldr r0, [r0, r4]
+ 1241 .LVL152:
+ 1242 0008 FFF7FEFF bl HAL_PCD_EP_Transmit
+ 1243 .LVL153:
+ 643:Src/usbd_conf.c ****
+ 644:Src/usbd_conf.c **** switch (hal_status) {
+ 1244 .loc 1 644 0
+ 1245 000c 0028 cmp r0, #0
+ 1246 000e 03D0 beq .L88
+ 1247 0010 0228 cmp r0, #2
+ 1248 0012 03D0 beq .L89
+ 645:Src/usbd_conf.c **** case HAL_OK :
+ 646:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 647:Src/usbd_conf.c **** break;
+ 648:Src/usbd_conf.c **** case HAL_ERROR :
+ 649:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ ARM GAS /tmp/ccvOfDqw.s page 34
+
+
+ 1249 .loc 1 649 0
+ 1250 0014 0220 movs r0, #2
+ 1251 .LVL154:
+ 1252 .L87:
+ 650:Src/usbd_conf.c **** break;
+ 651:Src/usbd_conf.c **** case HAL_BUSY :
+ 652:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 653:Src/usbd_conf.c **** break;
+ 654:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 655:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 656:Src/usbd_conf.c **** break;
+ 657:Src/usbd_conf.c **** default :
+ 658:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 659:Src/usbd_conf.c **** break;
+ 660:Src/usbd_conf.c **** }
+ 661:Src/usbd_conf.c **** return usb_status;
+ 662:Src/usbd_conf.c **** }
+ 1253 .loc 1 662 0
+ 1254 @ sp needed
+ 1255 0016 10BD pop {r4, pc}
+ 1256 .LVL155:
+ 1257 .L88:
+ 646:Src/usbd_conf.c **** break;
+ 1258 .loc 1 646 0
+ 1259 0018 0020 movs r0, #0
+ 1260 .LVL156:
+ 1261 001a FCE7 b .L87
+ 1262 .LVL157:
+ 1263 .L89:
+ 652:Src/usbd_conf.c **** break;
+ 1264 .loc 1 652 0
+ 1265 001c 0120 movs r0, #1
+ 1266 .LVL158:
+ 653:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 1267 .loc 1 653 0
+ 1268 001e FAE7 b .L87
+ 1269 .cfi_endproc
+ 1270 .LFE67:
+ 1272 .section .text.USBD_LL_PrepareReceive,"ax",%progbits
+ 1273 .align 1
+ 1274 .global USBD_LL_PrepareReceive
+ 1275 .syntax unified
+ 1276 .code 16
+ 1277 .thumb_func
+ 1278 .fpu softvfp
+ 1280 USBD_LL_PrepareReceive:
+ 1281 .LFB68:
+ 663:Src/usbd_conf.c ****
+ 664:Src/usbd_conf.c **** /**
+ 665:Src/usbd_conf.c **** * @brief Prepares an endpoint for reception.
+ 666:Src/usbd_conf.c **** * @param pdev: Device handle
+ 667:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 668:Src/usbd_conf.c **** * @param pbuf: Pointer to data to be received
+ 669:Src/usbd_conf.c **** * @param size: Data size
+ 670:Src/usbd_conf.c **** * @retval USBD status
+ 671:Src/usbd_conf.c **** */
+ 672:Src/usbd_conf.c **** USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf,
+ ARM GAS /tmp/ccvOfDqw.s page 35
+
+
+ 673:Src/usbd_conf.c **** {
+ 1282 .loc 1 673 0
+ 1283 .cfi_startproc
+ 1284 @ args = 0, pretend = 0, frame = 0
+ 1285 @ frame_needed = 0, uses_anonymous_args = 0
+ 1286 .LVL159:
+ 1287 0000 10B5 push {r4, lr}
+ 1288 .LCFI25:
+ 1289 .cfi_def_cfa_offset 8
+ 1290 .cfi_offset 4, -8
+ 1291 .cfi_offset 14, -4
+ 1292 .LVL160:
+ 674:Src/usbd_conf.c **** HAL_StatusTypeDef hal_status = HAL_OK;
+ 675:Src/usbd_conf.c **** USBD_StatusTypeDef usb_status = USBD_OK;
+ 676:Src/usbd_conf.c ****
+ 677:Src/usbd_conf.c **** hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size);
+ 1293 .loc 1 677 0
+ 1294 0002 8824 movs r4, #136
+ 1295 0004 A400 lsls r4, r4, #2
+ 1296 0006 0059 ldr r0, [r0, r4]
+ 1297 .LVL161:
+ 1298 0008 FFF7FEFF bl HAL_PCD_EP_Receive
+ 1299 .LVL162:
+ 678:Src/usbd_conf.c ****
+ 679:Src/usbd_conf.c **** switch (hal_status) {
+ 1300 .loc 1 679 0
+ 1301 000c 0028 cmp r0, #0
+ 1302 000e 03D0 beq .L94
+ 1303 0010 0228 cmp r0, #2
+ 1304 0012 03D0 beq .L95
+ 680:Src/usbd_conf.c **** case HAL_OK :
+ 681:Src/usbd_conf.c **** usb_status = USBD_OK;
+ 682:Src/usbd_conf.c **** break;
+ 683:Src/usbd_conf.c **** case HAL_ERROR :
+ 684:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 1305 .loc 1 684 0
+ 1306 0014 0220 movs r0, #2
+ 1307 .LVL163:
+ 1308 .L93:
+ 685:Src/usbd_conf.c **** break;
+ 686:Src/usbd_conf.c **** case HAL_BUSY :
+ 687:Src/usbd_conf.c **** usb_status = USBD_BUSY;
+ 688:Src/usbd_conf.c **** break;
+ 689:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 690:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 691:Src/usbd_conf.c **** break;
+ 692:Src/usbd_conf.c **** default :
+ 693:Src/usbd_conf.c **** usb_status = USBD_FAIL;
+ 694:Src/usbd_conf.c **** break;
+ 695:Src/usbd_conf.c **** }
+ 696:Src/usbd_conf.c **** return usb_status;
+ 697:Src/usbd_conf.c **** }
+ 1309 .loc 1 697 0
+ 1310 @ sp needed
+ 1311 0016 10BD pop {r4, pc}
+ 1312 .LVL164:
+ 1313 .L94:
+ ARM GAS /tmp/ccvOfDqw.s page 36
+
+
+ 681:Src/usbd_conf.c **** break;
+ 1314 .loc 1 681 0
+ 1315 0018 0020 movs r0, #0
+ 1316 .LVL165:
+ 1317 001a FCE7 b .L93
+ 1318 .LVL166:
+ 1319 .L95:
+ 687:Src/usbd_conf.c **** break;
+ 1320 .loc 1 687 0
+ 1321 001c 0120 movs r0, #1
+ 1322 .LVL167:
+ 688:Src/usbd_conf.c **** case HAL_TIMEOUT :
+ 1323 .loc 1 688 0
+ 1324 001e FAE7 b .L93
+ 1325 .cfi_endproc
+ 1326 .LFE68:
+ 1328 .section .text.USBD_LL_GetRxDataSize,"ax",%progbits
+ 1329 .align 1
+ 1330 .global USBD_LL_GetRxDataSize
+ 1331 .syntax unified
+ 1332 .code 16
+ 1333 .thumb_func
+ 1334 .fpu softvfp
+ 1336 USBD_LL_GetRxDataSize:
+ 1337 .LFB69:
+ 698:Src/usbd_conf.c ****
+ 699:Src/usbd_conf.c **** /**
+ 700:Src/usbd_conf.c **** * @brief Returns the last transfered packet size.
+ 701:Src/usbd_conf.c **** * @param pdev: Device handle
+ 702:Src/usbd_conf.c **** * @param ep_addr: Endpoint number
+ 703:Src/usbd_conf.c **** * @retval Recived Data Size
+ 704:Src/usbd_conf.c **** */
+ 705:Src/usbd_conf.c **** uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr)
+ 706:Src/usbd_conf.c **** {
+ 1338 .loc 1 706 0
+ 1339 .cfi_startproc
+ 1340 @ args = 0, pretend = 0, frame = 0
+ 1341 @ frame_needed = 0, uses_anonymous_args = 0
+ 1342 .LVL168:
+ 1343 0000 10B5 push {r4, lr}
+ 1344 .LCFI26:
+ 1345 .cfi_def_cfa_offset 8
+ 1346 .cfi_offset 4, -8
+ 1347 .cfi_offset 14, -4
+ 707:Src/usbd_conf.c **** return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr);
+ 1348 .loc 1 707 0
+ 1349 0002 8823 movs r3, #136
+ 1350 0004 9B00 lsls r3, r3, #2
+ 1351 0006 C058 ldr r0, [r0, r3]
+ 1352 .LVL169:
+ 1353 0008 FFF7FEFF bl HAL_PCD_EP_GetRxCount
+ 1354 .LVL170:
+ 708:Src/usbd_conf.c **** }
+ 1355 .loc 1 708 0
+ 1356 @ sp needed
+ 1357 000c 10BD pop {r4, pc}
+ 1358 .cfi_endproc
+ ARM GAS /tmp/ccvOfDqw.s page 37
+
+
+ 1359 .LFE69:
+ 1361 .section .text.USBD_LL_Delay,"ax",%progbits
+ 1362 .align 1
+ 1363 .global USBD_LL_Delay
+ 1364 .syntax unified
+ 1365 .code 16
+ 1366 .thumb_func
+ 1367 .fpu softvfp
+ 1369 USBD_LL_Delay:
+ 1370 .LFB70:
+ 709:Src/usbd_conf.c ****
+ 710:Src/usbd_conf.c **** /**
+ 711:Src/usbd_conf.c **** * @brief Delays routine for the USB device library.
+ 712:Src/usbd_conf.c **** * @param Delay: Delay in ms
+ 713:Src/usbd_conf.c **** * @retval None
+ 714:Src/usbd_conf.c **** */
+ 715:Src/usbd_conf.c **** void USBD_LL_Delay(uint32_t Delay)
+ 716:Src/usbd_conf.c **** {
+ 1371 .loc 1 716 0
+ 1372 .cfi_startproc
+ 1373 @ args = 0, pretend = 0, frame = 0
+ 1374 @ frame_needed = 0, uses_anonymous_args = 0
+ 1375 .LVL171:
+ 1376 0000 10B5 push {r4, lr}
+ 1377 .LCFI27:
+ 1378 .cfi_def_cfa_offset 8
+ 1379 .cfi_offset 4, -8
+ 1380 .cfi_offset 14, -4
+ 717:Src/usbd_conf.c **** HAL_Delay(Delay);
+ 1381 .loc 1 717 0
+ 1382 0002 FFF7FEFF bl HAL_Delay
+ 1383 .LVL172:
+ 718:Src/usbd_conf.c **** }
+ 1384 .loc 1 718 0
+ 1385 @ sp needed
+ 1386 0006 10BD pop {r4, pc}
+ 1387 .cfi_endproc
+ 1388 .LFE70:
+ 1390 .section .text.USBD_static_free,"ax",%progbits
+ 1391 .align 1
+ 1392 .global USBD_static_free
+ 1393 .syntax unified
+ 1394 .code 16
+ 1395 .thumb_func
+ 1396 .fpu softvfp
+ 1398 USBD_static_free:
+ 1399 .LFB71:
+ 719:Src/usbd_conf.c ****
+ 720:Src/usbd_conf.c **** /**
+ 721:Src/usbd_conf.c **** * @brief Static single allocation.
+ 722:Src/usbd_conf.c **** * @param size: Size of allocated memory
+ 723:Src/usbd_conf.c **** * @retval None
+ 724:Src/usbd_conf.c **** */
+ 725:Src/usbd_conf.c **** //void *USBD_static_malloc(uint32_t size)
+ 726:Src/usbd_conf.c **** //{
+ 727:Src/usbd_conf.c **** // static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];/* On 32-bit boundary */
+ 728:Src/usbd_conf.c **** // return mem;
+ ARM GAS /tmp/ccvOfDqw.s page 38
+
+
+ 729:Src/usbd_conf.c **** //}
+ 730:Src/usbd_conf.c ****
+ 731:Src/usbd_conf.c **** /**
+ 732:Src/usbd_conf.c **** * @brief Dummy memory free
+ 733:Src/usbd_conf.c **** * @param p: Pointer to allocated memory address
+ 734:Src/usbd_conf.c **** * @retval None
+ 735:Src/usbd_conf.c **** */
+ 736:Src/usbd_conf.c **** void USBD_static_free(void *p)
+ 737:Src/usbd_conf.c **** {
+ 1400 .loc 1 737 0
+ 1401 .cfi_startproc
+ 1402 @ args = 0, pretend = 0, frame = 0
+ 1403 @ frame_needed = 0, uses_anonymous_args = 0
+ 1404 @ link register save eliminated.
+ 1405 .LVL173:
+ 738:Src/usbd_conf.c ****
+ 739:Src/usbd_conf.c **** }
+ 1406 .loc 1 739 0
+ 1407 @ sp needed
+ 1408 0000 7047 bx lr
+ 1409 .cfi_endproc
+ 1410 .LFE71:
+ 1412 .section .text.HAL_PCDEx_SetConnectionState,"ax",%progbits
+ 1413 .align 1
+ 1414 .global HAL_PCDEx_SetConnectionState
+ 1415 .syntax unified
+ 1416 .code 16
+ 1417 .thumb_func
+ 1418 .fpu softvfp
+ 1420 HAL_PCDEx_SetConnectionState:
+ 1421 .LFB72:
+ 740:Src/usbd_conf.c ****
+ 741:Src/usbd_conf.c **** /* USER CODE BEGIN 5 */
+ 742:Src/usbd_conf.c **** /**
+ 743:Src/usbd_conf.c **** * @brief Configures system clock after wake-up from USB Resume CallBack:
+ 744:Src/usbd_conf.c **** * enable HSI, PLL and select PLL as system clock source.
+ 745:Src/usbd_conf.c **** * @retval None
+ 746:Src/usbd_conf.c **** */
+ 747:Src/usbd_conf.c **** //static void SystemClockConfig_Resume(void)
+ 748:Src/usbd_conf.c **** //{
+ 749:Src/usbd_conf.c **** // SystemClock_Config();
+ 750:Src/usbd_conf.c **** //}
+ 751:Src/usbd_conf.c **** /* USER CODE END 5 */
+ 752:Src/usbd_conf.c ****
+ 753:Src/usbd_conf.c **** /**
+ 754:Src/usbd_conf.c **** * @brief Software device connection
+ 755:Src/usbd_conf.c **** * @param hpcd: PCD handle
+ 756:Src/usbd_conf.c **** * @param state: Connection state (0: disconnected / 1: connected)
+ 757:Src/usbd_conf.c **** * @retval None
+ 758:Src/usbd_conf.c **** */
+ 759:Src/usbd_conf.c **** void HAL_PCDEx_SetConnectionState(PCD_HandleTypeDef *hpcd, uint8_t state)
+ 760:Src/usbd_conf.c **** {
+ 1422 .loc 1 760 0
+ 1423 .cfi_startproc
+ 1424 @ args = 0, pretend = 0, frame = 0
+ 1425 @ frame_needed = 0, uses_anonymous_args = 0
+ 1426 @ link register save eliminated.
+ ARM GAS /tmp/ccvOfDqw.s page 39
+
+
+ 1427 .LVL174:
+ 761:Src/usbd_conf.c **** /* USER CODE BEGIN 6 */
+ 762:Src/usbd_conf.c **** if (state == 1)
+ 763:Src/usbd_conf.c **** {
+ 764:Src/usbd_conf.c **** /* Configure Low connection state. */
+ 765:Src/usbd_conf.c ****
+ 766:Src/usbd_conf.c **** }
+ 767:Src/usbd_conf.c **** else
+ 768:Src/usbd_conf.c **** {
+ 769:Src/usbd_conf.c **** /* Configure High connection state */
+ 770:Src/usbd_conf.c ****
+ 771:Src/usbd_conf.c **** }
+ 772:Src/usbd_conf.c **** /* USER CODE END 6 */
+ 773:Src/usbd_conf.c **** }
+ 1428 .loc 1 773 0
+ 1429 @ sp needed
+ 1430 0000 7047 bx lr
+ 1431 .cfi_endproc
+ 1432 .LFE72:
+ 1434 .comm hpcd_USB_FS,628,4
+ 1435 .text
+ 1436 .Letext0:
+ 1437 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1438 .file 3 "/usr/include/newlib/sys/_stdint.h"
+ 1439 .file 4 "Drivers/CMSIS/Include/core_cm0.h"
+ 1440 .file 5 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1441 .file 6 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 1442 .file 7 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h"
+ 1443 .file 8 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 1444 .file 9 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 1445 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 1446 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 1447 .file 12 "/usr/include/newlib/sys/lock.h"
+ 1448 .file 13 "/usr/include/newlib/sys/_types.h"
+ 1449 .file 14 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 1450 .file 15 "/usr/include/newlib/sys/reent.h"
+ 1451 .file 16 "/usr/include/newlib/stdlib.h"
+ 1452 .file 17 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 1453 .file 18 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h"
+ 1454 .file 19 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ 1455 .file 20 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h"
+ ARM GAS /tmp/ccvOfDqw.s page 40
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_conf.c
+ /tmp/ccvOfDqw.s:16 .text.HAL_PCD_MspInit:0000000000000000 $t
+ /tmp/ccvOfDqw.s:23 .text.HAL_PCD_MspInit:0000000000000000 HAL_PCD_MspInit
+ /tmp/ccvOfDqw.s:80 .text.HAL_PCD_MspInit:0000000000000038 $d
+ /tmp/ccvOfDqw.s:86 .text.HAL_PCD_MspDeInit:0000000000000000 $t
+ /tmp/ccvOfDqw.s:93 .text.HAL_PCD_MspDeInit:0000000000000000 HAL_PCD_MspDeInit
+ /tmp/ccvOfDqw.s:133 .text.HAL_PCD_MspDeInit:0000000000000020 $d
+ /tmp/ccvOfDqw.s:140 .text.HAL_PCD_SetupStageCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:147 .text.HAL_PCD_SetupStageCallback:0000000000000000 HAL_PCD_SetupStageCallback
+ /tmp/ccvOfDqw.s:178 .text.HAL_PCD_DataOutStageCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:185 .text.HAL_PCD_DataOutStageCallback:0000000000000000 HAL_PCD_DataOutStageCallback
+ /tmp/ccvOfDqw.s:218 .text.HAL_PCD_DataInStageCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:225 .text.HAL_PCD_DataInStageCallback:0000000000000000 HAL_PCD_DataInStageCallback
+ /tmp/ccvOfDqw.s:256 .text.HAL_PCD_SOFCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:263 .text.HAL_PCD_SOFCallback:0000000000000000 HAL_PCD_SOFCallback
+ /tmp/ccvOfDqw.s:289 .text.HAL_PCD_ResetCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:296 .text.HAL_PCD_ResetCallback:0000000000000000 HAL_PCD_ResetCallback
+ /tmp/ccvOfDqw.s:332 .text.HAL_PCD_SuspendCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:339 .text.HAL_PCD_SuspendCallback:0000000000000000 HAL_PCD_SuspendCallback
+ /tmp/ccvOfDqw.s:377 .text.HAL_PCD_SuspendCallback:0000000000000020 $d
+ /tmp/ccvOfDqw.s:382 .text.HAL_PCD_ResumeCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:389 .text.HAL_PCD_ResumeCallback:0000000000000000 HAL_PCD_ResumeCallback
+ /tmp/ccvOfDqw.s:415 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:422 .text.HAL_PCD_ISOOUTIncompleteCallback:0000000000000000 HAL_PCD_ISOOUTIncompleteCallback
+ /tmp/ccvOfDqw.s:448 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:455 .text.HAL_PCD_ISOINIncompleteCallback:0000000000000000 HAL_PCD_ISOINIncompleteCallback
+ /tmp/ccvOfDqw.s:481 .text.HAL_PCD_ConnectCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:488 .text.HAL_PCD_ConnectCallback:0000000000000000 HAL_PCD_ConnectCallback
+ /tmp/ccvOfDqw.s:514 .text.HAL_PCD_DisconnectCallback:0000000000000000 $t
+ /tmp/ccvOfDqw.s:521 .text.HAL_PCD_DisconnectCallback:0000000000000000 HAL_PCD_DisconnectCallback
+ /tmp/ccvOfDqw.s:547 .text.USBD_LL_Init:0000000000000000 $t
+ /tmp/ccvOfDqw.s:554 .text.USBD_LL_Init:0000000000000000 USBD_LL_Init
+ /tmp/ccvOfDqw.s:647 .text.USBD_LL_Init:0000000000000074 $d
+ *COM*:0000000000000274 hpcd_USB_FS
+ /tmp/ccvOfDqw.s:653 .text.USBD_LL_DeInit:0000000000000000 $t
+ /tmp/ccvOfDqw.s:660 .text.USBD_LL_DeInit:0000000000000000 USBD_LL_DeInit
+ /tmp/ccvOfDqw.s:709 .text.USBD_LL_Start:0000000000000000 $t
+ /tmp/ccvOfDqw.s:716 .text.USBD_LL_Start:0000000000000000 USBD_LL_Start
+ /tmp/ccvOfDqw.s:765 .text.USBD_LL_Stop:0000000000000000 $t
+ /tmp/ccvOfDqw.s:772 .text.USBD_LL_Stop:0000000000000000 USBD_LL_Stop
+ /tmp/ccvOfDqw.s:821 .text.USBD_LL_OpenEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:828 .text.USBD_LL_OpenEP:0000000000000000 USBD_LL_OpenEP
+ /tmp/ccvOfDqw.s:881 .text.USBD_LL_CloseEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:888 .text.USBD_LL_CloseEP:0000000000000000 USBD_LL_CloseEP
+ /tmp/ccvOfDqw.s:937 .text.USBD_LL_FlushEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:944 .text.USBD_LL_FlushEP:0000000000000000 USBD_LL_FlushEP
+ /tmp/ccvOfDqw.s:993 .text.USBD_LL_StallEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1000 .text.USBD_LL_StallEP:0000000000000000 USBD_LL_StallEP
+ /tmp/ccvOfDqw.s:1049 .text.USBD_LL_ClearStallEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1056 .text.USBD_LL_ClearStallEP:0000000000000000 USBD_LL_ClearStallEP
+ /tmp/ccvOfDqw.s:1105 .text.USBD_LL_IsStallEP:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1112 .text.USBD_LL_IsStallEP:0000000000000000 USBD_LL_IsStallEP
+ /tmp/ccvOfDqw.s:1161 .text.USBD_LL_SetUSBAddress:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1168 .text.USBD_LL_SetUSBAddress:0000000000000000 USBD_LL_SetUSBAddress
+ /tmp/ccvOfDqw.s:1217 .text.USBD_LL_Transmit:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1224 .text.USBD_LL_Transmit:0000000000000000 USBD_LL_Transmit
+ ARM GAS /tmp/ccvOfDqw.s page 41
+
+
+ /tmp/ccvOfDqw.s:1273 .text.USBD_LL_PrepareReceive:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1280 .text.USBD_LL_PrepareReceive:0000000000000000 USBD_LL_PrepareReceive
+ /tmp/ccvOfDqw.s:1329 .text.USBD_LL_GetRxDataSize:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1336 .text.USBD_LL_GetRxDataSize:0000000000000000 USBD_LL_GetRxDataSize
+ /tmp/ccvOfDqw.s:1362 .text.USBD_LL_Delay:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1369 .text.USBD_LL_Delay:0000000000000000 USBD_LL_Delay
+ /tmp/ccvOfDqw.s:1391 .text.USBD_static_free:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1398 .text.USBD_static_free:0000000000000000 USBD_static_free
+ /tmp/ccvOfDqw.s:1413 .text.HAL_PCDEx_SetConnectionState:0000000000000000 $t
+ /tmp/ccvOfDqw.s:1420 .text.HAL_PCDEx_SetConnectionState:0000000000000000 HAL_PCDEx_SetConnectionState
+
+UNDEFINED SYMBOLS
+HAL_NVIC_SetPriority
+HAL_NVIC_EnableIRQ
+HAL_NVIC_DisableIRQ
+USBD_LL_SetupStage
+USBD_LL_DataOutStage
+USBD_LL_DataInStage
+USBD_LL_SOF
+USBD_LL_SetSpeed
+USBD_LL_Reset
+USBD_LL_Suspend
+USBD_LL_Resume
+USBD_LL_IsoOUTIncomplete
+USBD_LL_IsoINIncomplete
+USBD_LL_DevConnected
+USBD_LL_DevDisconnected
+HAL_PCD_Init
+HAL_PCDEx_PMAConfig
+HAL_PCD_DeInit
+HAL_PCD_Start
+HAL_PCD_Stop
+HAL_PCD_EP_Open
+HAL_PCD_EP_Close
+HAL_PCD_EP_Flush
+HAL_PCD_EP_SetStall
+HAL_PCD_EP_ClrStall
+HAL_PCD_SetAddress
+HAL_PCD_EP_Transmit
+HAL_PCD_EP_Receive
+HAL_PCD_EP_GetRxCount
+HAL_Delay
diff --git a/fw/midi-dials/build/usbd_conf.o b/fw/midi-dials/build/usbd_conf.o
new file mode 100644
index 0000000..dfbb9de
--- /dev/null
+++ b/fw/midi-dials/build/usbd_conf.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_core.d b/fw/midi-dials/build/usbd_core.d
new file mode 100644
index 0000000..db2a063
--- /dev/null
+++ b/fw/midi-dials/build/usbd_core.d
@@ -0,0 +1,107 @@
+build/usbd_core.o: \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
diff --git a/fw/midi-dials/build/usbd_core.lst b/fw/midi-dials/build/usbd_core.lst
new file mode 100644
index 0000000..c7d2ce7
--- /dev/null
+++ b/fw/midi-dials/build/usbd_core.lst
@@ -0,0 +1,1784 @@
+ARM GAS /tmp/ccHZmh3B.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_core.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_Init,"ax",%progbits
+ 16 .align 1
+ 17 .global USBD_Init
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USBD_Init:
+ 24 .LFB43:
+ 25 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c"
+ 1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
+ 3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @file usbd_core.c
+ 4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @author MCD Application Team
+ 5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @version V2.4.2
+ 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @date 11-December-2015
+ 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief This file provides all the USBD core functions.
+ 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
+ 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @attention
+ 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
+ 11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
+ 12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
+ 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * You may not use this file except in compliance with the License.
+ 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * You may obtain a copy of the License at:
+ 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
+ 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * http://www.st.com/software_license_agreement_liberty_v2
+ 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
+ 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Unless required by applicable law or agreed to in writing, software
+ 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * distributed under the License is distributed on an "AS IS" BASIS,
+ 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * See the License for the specific language governing permissions and
+ 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * limitations under the License.
+ 24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** *
+ 25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ******************************************************************************
+ 26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Includes ------------------------------------------------------------------*/
+ 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** #include "usbd_core.h"
+ 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @addtogroup STM32_USBD_DEVICE_LIBRARY
+ 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ ARM GAS /tmp/ccHZmh3B.s page 2
+
+
+ 34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE
+ 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief usbd core module
+ 38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_TypesDefinitions
+ 42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @}
+ 46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Defines
+ 50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @}
+ 55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Macros
+ 59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @}
+ 63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_FunctionPrototypes
+ 69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @}
+ 74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Variables
+ 77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @}
+ 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /** @defgroup USBD_CORE_Private_Functions
+ 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @{
+ 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Init
+ 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Initializes the device stack and load the class driver
+ ARM GAS /tmp/ccHZmh3B.s page 3
+
+
+ 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdesc: Descriptor structure address
+ 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param id: Low level core index
+ 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval None
+ 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id)
+ 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 26 .loc 1 97 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
+ 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Check whether the USB Host handle is valid */
+ 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev == NULL)
+ 36 .loc 1 99 0
+ 37 0002 0028 cmp r0, #0
+ 38 0004 16D0 beq .L5
+ 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Device handle");
+ 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_FAIL;
+ 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Unlink previous class*/
+ 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass != NULL)
+ 39 .loc 1 106 0
+ 40 0006 8523 movs r3, #133
+ 41 0008 9B00 lsls r3, r3, #2
+ 42 000a C358 ldr r3, [r0, r3]
+ 43 000c 002B cmp r3, #0
+ 44 000e 03D0 beq .L3
+ 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = NULL;
+ 45 .loc 1 108 0
+ 46 0010 8523 movs r3, #133
+ 47 0012 9B00 lsls r3, r3, #2
+ 48 0014 0024 movs r4, #0
+ 49 0016 C450 str r4, [r0, r3]
+ 50 .L3:
+ 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Assign USBD Descriptors */
+ 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdesc != NULL)
+ 51 .loc 1 112 0
+ 52 0018 0029 cmp r1, #0
+ 53 001a 02D0 beq .L4
+ 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pDesc = pdesc;
+ 54 .loc 1 114 0
+ 55 001c 8423 movs r3, #132
+ 56 001e 9B00 lsls r3, r3, #2
+ 57 0020 C150 str r1, [r0, r3]
+ 58 .L4:
+ ARM GAS /tmp/ccHZmh3B.s page 4
+
+
+ 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Device initial State */
+ 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
+ 59 .loc 1 118 0
+ 60 0022 FE23 movs r3, #254
+ 61 0024 5B00 lsls r3, r3, #1
+ 62 0026 0121 movs r1, #1
+ 63 .LVL1:
+ 64 0028 C154 strb r1, [r0, r3]
+ 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->id = id;
+ 65 .loc 1 119 0
+ 66 002a 0270 strb r2, [r0]
+ 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */
+ 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Init(pdev);
+ 67 .loc 1 121 0
+ 68 002c FFF7FEFF bl USBD_LL_Init
+ 69 .LVL2:
+ 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 70 .loc 1 123 0
+ 71 0030 0020 movs r0, #0
+ 72 .L2:
+ 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 73 .loc 1 124 0
+ 74 @ sp needed
+ 75 0032 10BD pop {r4, pc}
+ 76 .LVL3:
+ 77 .L5:
+ 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 78 .loc 1 102 0
+ 79 0034 0220 movs r0, #2
+ 80 .LVL4:
+ 81 0036 FCE7 b .L2
+ 82 .cfi_endproc
+ 83 .LFE43:
+ 85 .section .text.USBD_DeInit,"ax",%progbits
+ 86 .align 1
+ 87 .global USBD_DeInit
+ 88 .syntax unified
+ 89 .code 16
+ 90 .thumb_func
+ 91 .fpu softvfp
+ 93 USBD_DeInit:
+ 94 .LFB44:
+ 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DeInit
+ 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Re-Initialize th device library
+ 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: status
+ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_DeInit(USBD_HandleTypeDef *pdev)
+ 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 95 .loc 1 133 0
+ 96 .cfi_startproc
+ 97 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccHZmh3B.s page 5
+
+
+ 98 @ frame_needed = 0, uses_anonymous_args = 0
+ 99 .LVL5:
+ 100 0000 10B5 push {r4, lr}
+ 101 .LCFI1:
+ 102 .cfi_def_cfa_offset 8
+ 103 .cfi_offset 4, -8
+ 104 .cfi_offset 14, -4
+ 105 0002 0400 movs r4, r0
+ 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set Default State */
+ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
+ 106 .loc 1 135 0
+ 107 0004 FE23 movs r3, #254
+ 108 0006 5B00 lsls r3, r3, #1
+ 109 0008 0122 movs r2, #1
+ 110 000a C254 strb r2, [r0, r3]
+ 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
+ 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
+ 111 .loc 1 138 0
+ 112 000c 1833 adds r3, r3, #24
+ 113 000e C358 ldr r3, [r0, r3]
+ 114 0010 5B68 ldr r3, [r3, #4]
+ 115 0012 0179 ldrb r1, [r0, #4]
+ 116 0014 9847 blx r3
+ 117 .LVL6:
+ 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */
+ 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev);
+ 118 .loc 1 141 0
+ 119 0016 2000 movs r0, r4
+ 120 0018 FFF7FEFF bl USBD_LL_Stop
+ 121 .LVL7:
+ 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Initialize low level driver */
+ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_DeInit(pdev);
+ 122 .loc 1 144 0
+ 123 001c 2000 movs r0, r4
+ 124 001e FFF7FEFF bl USBD_LL_DeInit
+ 125 .LVL8:
+ 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 126 .loc 1 147 0
+ 127 0022 0020 movs r0, #0
+ 128 @ sp needed
+ 129 .LVL9:
+ 130 0024 10BD pop {r4, pc}
+ 131 .cfi_endproc
+ 132 .LFE44:
+ 134 .section .text.USBD_RegisterClass,"ax",%progbits
+ 135 .align 1
+ 136 .global USBD_RegisterClass
+ 137 .syntax unified
+ 138 .code 16
+ 139 .thumb_func
+ 140 .fpu softvfp
+ 142 USBD_RegisterClass:
+ ARM GAS /tmp/ccHZmh3B.s page 6
+
+
+ 143 .LFB45:
+ 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RegisterClass
+ 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Link class driver to Device Core.
+ 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pDevice : Device Handle
+ 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pclass: Class handle
+ 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
+ 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass)
+ 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 144 .loc 1 158 0
+ 145 .cfi_startproc
+ 146 @ args = 0, pretend = 0, frame = 0
+ 147 @ frame_needed = 0, uses_anonymous_args = 0
+ 148 @ link register save eliminated.
+ 149 .LVL10:
+ 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef status = USBD_OK;
+ 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pclass != 0)
+ 150 .loc 1 160 0
+ 151 0000 0029 cmp r1, #0
+ 152 0002 04D0 beq .L9
+ 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* link the class to the USB Device handle */
+ 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass = pclass;
+ 153 .loc 1 163 0
+ 154 0004 8523 movs r3, #133
+ 155 0006 9B00 lsls r3, r3, #2
+ 156 0008 C150 str r1, [r0, r3]
+ 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_OK;
+ 157 .loc 1 164 0
+ 158 000a 0020 movs r0, #0
+ 159 .LVL11:
+ 160 .L8:
+ 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
+ 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ErrLog("Invalid Class handle");
+ 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** status = USBD_FAIL;
+ 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return status;
+ 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 161 .loc 1 173 0
+ 162 @ sp needed
+ 163 000c 7047 bx lr
+ 164 .LVL12:
+ 165 .L9:
+ 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 166 .loc 1 169 0
+ 167 000e 0220 movs r0, #2
+ 168 .LVL13:
+ 169 0010 FCE7 b .L8
+ 170 .cfi_endproc
+ 171 .LFE45:
+ 173 .section .text.USBD_Start,"ax",%progbits
+ ARM GAS /tmp/ccHZmh3B.s page 7
+
+
+ 174 .align 1
+ 175 .global USBD_Start
+ 176 .syntax unified
+ 177 .code 16
+ 178 .thumb_func
+ 179 .fpu softvfp
+ 181 USBD_Start:
+ 182 .LFB46:
+ 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Start
+ 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Start the USB Device Core.
+ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
+ 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
+ 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Start (USBD_HandleTypeDef *pdev)
+ 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 183 .loc 1 182 0
+ 184 .cfi_startproc
+ 185 @ args = 0, pretend = 0, frame = 0
+ 186 @ frame_needed = 0, uses_anonymous_args = 0
+ 187 .LVL14:
+ 188 0000 10B5 push {r4, lr}
+ 189 .LCFI2:
+ 190 .cfi_def_cfa_offset 8
+ 191 .cfi_offset 4, -8
+ 192 .cfi_offset 14, -4
+ 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Start the low level driver */
+ 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Start(pdev);
+ 193 .loc 1 185 0
+ 194 0002 FFF7FEFF bl USBD_LL_Start
+ 195 .LVL15:
+ 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 196 .loc 1 188 0
+ 197 0006 0020 movs r0, #0
+ 198 @ sp needed
+ 199 0008 10BD pop {r4, pc}
+ 200 .cfi_endproc
+ 201 .LFE46:
+ 203 .section .text.USBD_Stop,"ax",%progbits
+ 204 .align 1
+ 205 .global USBD_Stop
+ 206 .syntax unified
+ 207 .code 16
+ 208 .thumb_func
+ 209 .fpu softvfp
+ 211 USBD_Stop:
+ 212 .LFB47:
+ 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Stop
+ 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Stop the USB Device Core.
+ 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: Device Handle
+ 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval USBD Status
+ ARM GAS /tmp/ccHZmh3B.s page 8
+
+
+ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_Stop (USBD_HandleTypeDef *pdev)
+ 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 213 .loc 1 197 0
+ 214 .cfi_startproc
+ 215 @ args = 0, pretend = 0, frame = 0
+ 216 @ frame_needed = 0, uses_anonymous_args = 0
+ 217 .LVL16:
+ 218 0000 10B5 push {r4, lr}
+ 219 .LCFI3:
+ 220 .cfi_def_cfa_offset 8
+ 221 .cfi_offset 4, -8
+ 222 .cfi_offset 14, -4
+ 223 0002 0400 movs r4, r0
+ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
+ 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
+ 224 .loc 1 199 0
+ 225 0004 8523 movs r3, #133
+ 226 0006 9B00 lsls r3, r3, #2
+ 227 0008 C358 ldr r3, [r0, r3]
+ 228 000a 5B68 ldr r3, [r3, #4]
+ 229 000c 0179 ldrb r1, [r0, #4]
+ 230 000e 9847 blx r3
+ 231 .LVL17:
+ 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Stop the low level driver */
+ 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_Stop(pdev);
+ 232 .loc 1 202 0
+ 233 0010 2000 movs r0, r4
+ 234 0012 FFF7FEFF bl USBD_LL_Stop
+ 235 .LVL18:
+ 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 236 .loc 1 205 0
+ 237 0016 0020 movs r0, #0
+ 238 @ sp needed
+ 239 .LVL19:
+ 240 0018 10BD pop {r4, pc}
+ 241 .cfi_endproc
+ 242 .LFE47:
+ 244 .section .text.USBD_RunTestMode,"ax",%progbits
+ 245 .align 1
+ 246 .global USBD_RunTestMode
+ 247 .syntax unified
+ 248 .code 16
+ 249 .thumb_func
+ 250 .fpu softvfp
+ 252 USBD_RunTestMode:
+ 253 .LFB48:
+ 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_RunTestMode
+ 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Launch test mode process
+ 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ ARM GAS /tmp/ccHZmh3B.s page 9
+
+
+ 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_RunTestMode (USBD_HandleTypeDef *pdev)
+ 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 254 .loc 1 214 0
+ 255 .cfi_startproc
+ 256 @ args = 0, pretend = 0, frame = 0
+ 257 @ frame_needed = 0, uses_anonymous_args = 0
+ 258 @ link register save eliminated.
+ 259 .LVL20:
+ 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 260 .loc 1 216 0
+ 261 0000 0020 movs r0, #0
+ 262 .LVL21:
+ 263 @ sp needed
+ 264 0002 7047 bx lr
+ 265 .cfi_endproc
+ 266 .LFE48:
+ 268 .section .text.USBD_SetClassConfig,"ax",%progbits
+ 269 .align 1
+ 270 .global USBD_SetClassConfig
+ 271 .syntax unified
+ 272 .code 16
+ 273 .thumb_func
+ 274 .fpu softvfp
+ 276 USBD_SetClassConfig:
+ 277 .LFB49:
+ 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetClassConfig
+ 221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Configure device and start the interface
+ 222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
+ 224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
+ 228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 278 .loc 1 228 0
+ 279 .cfi_startproc
+ 280 @ args = 0, pretend = 0, frame = 0
+ 281 @ frame_needed = 0, uses_anonymous_args = 0
+ 282 .LVL22:
+ 283 0000 10B5 push {r4, lr}
+ 284 .LCFI4:
+ 285 .cfi_def_cfa_offset 8
+ 286 .cfi_offset 4, -8
+ 287 .cfi_offset 14, -4
+ 288 .LVL23:
+ 229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef ret = USBD_FAIL;
+ 230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass != NULL)
+ 289 .loc 1 231 0
+ 290 0002 8523 movs r3, #133
+ 291 0004 9B00 lsls r3, r3, #2
+ 292 0006 C358 ldr r3, [r0, r3]
+ 293 0008 002B cmp r3, #0
+ ARM GAS /tmp/ccHZmh3B.s page 10
+
+
+ 294 000a 07D0 beq .L15
+ 232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Set configuration and Start the Class*/
+ 234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass->Init(pdev, cfgidx) == 0)
+ 295 .loc 1 234 0
+ 296 000c 1B68 ldr r3, [r3]
+ 297 000e 9847 blx r3
+ 298 .LVL24:
+ 299 0010 0028 cmp r0, #0
+ 300 0012 01D1 bne .L17
+ 235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** ret = USBD_OK;
+ 301 .loc 1 236 0
+ 302 0014 0020 movs r0, #0
+ 303 .L14:
+ 304 .LVL25:
+ 237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return ret;
+ 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 305 .loc 1 240 0
+ 306 @ sp needed
+ 307 0016 10BD pop {r4, pc}
+ 308 .LVL26:
+ 309 .L17:
+ 229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 310 .loc 1 229 0
+ 311 0018 0220 movs r0, #2
+ 312 001a FCE7 b .L14
+ 313 .LVL27:
+ 314 .L15:
+ 315 001c 0220 movs r0, #2
+ 316 .LVL28:
+ 317 001e FAE7 b .L14
+ 318 .cfi_endproc
+ 319 .LFE49:
+ 321 .section .text.USBD_ClrClassConfig,"ax",%progbits
+ 322 .align 1
+ 323 .global USBD_ClrClassConfig
+ 324 .syntax unified
+ 325 .code 16
+ 326 .thumb_func
+ 327 .fpu softvfp
+ 329 USBD_ClrClassConfig:
+ 330 .LFB50:
+ 241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_ClrClassConfig
+ 244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Clear current configuration
+ 245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param cfgidx: configuration index
+ 247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status: USBD_StatusTypeDef
+ 248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx)
+ 250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 331 .loc 1 250 0
+ 332 .cfi_startproc
+ ARM GAS /tmp/ccHZmh3B.s page 11
+
+
+ 333 @ args = 0, pretend = 0, frame = 0
+ 334 @ frame_needed = 0, uses_anonymous_args = 0
+ 335 .LVL29:
+ 336 0000 10B5 push {r4, lr}
+ 337 .LCFI5:
+ 338 .cfi_def_cfa_offset 8
+ 339 .cfi_offset 4, -8
+ 340 .cfi_offset 14, -4
+ 251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Clear configuration and De-initialize the Class process*/
+ 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, cfgidx);
+ 341 .loc 1 252 0
+ 342 0002 8523 movs r3, #133
+ 343 0004 9B00 lsls r3, r3, #2
+ 344 0006 C358 ldr r3, [r0, r3]
+ 345 0008 5B68 ldr r3, [r3, #4]
+ 346 000a 9847 blx r3
+ 347 .LVL30:
+ 253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 348 .loc 1 254 0
+ 349 000c 0020 movs r0, #0
+ 350 @ sp needed
+ 351 000e 10BD pop {r4, pc}
+ 352 .cfi_endproc
+ 353 .LFE50:
+ 355 .section .text.USBD_LL_SetupStage,"ax",%progbits
+ 356 .align 1
+ 357 .global USBD_LL_SetupStage
+ 358 .syntax unified
+ 359 .code 16
+ 360 .thumb_func
+ 361 .fpu softvfp
+ 363 USBD_LL_SetupStage:
+ 364 .LFB51:
+ 255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SetupStage
+ 259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle the setup stage
+ 260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup)
+ 264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 365 .loc 1 264 0
+ 366 .cfi_startproc
+ 367 @ args = 0, pretend = 0, frame = 0
+ 368 @ frame_needed = 0, uses_anonymous_args = 0
+ 369 .LVL31:
+ 370 0000 70B5 push {r4, r5, r6, lr}
+ 371 .LCFI6:
+ 372 .cfi_def_cfa_offset 16
+ 373 .cfi_offset 4, -16
+ 374 .cfi_offset 5, -12
+ 375 .cfi_offset 6, -8
+ 376 .cfi_offset 14, -4
+ 377 0002 0400 movs r4, r0
+ ARM GAS /tmp/ccHZmh3B.s page 12
+
+
+ 265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_ParseSetupRequest(&pdev->request, psetup);
+ 378 .loc 1 266 0
+ 379 0004 8223 movs r3, #130
+ 380 0006 9B00 lsls r3, r3, #2
+ 381 0008 C518 adds r5, r0, r3
+ 382 000a 2800 movs r0, r5
+ 383 .LVL32:
+ 384 000c FFF7FEFF bl USBD_ParseSetupRequest
+ 385 .LVL33:
+ 267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_state = USBD_EP0_SETUP;
+ 386 .loc 1 268 0
+ 387 0010 FA23 movs r3, #250
+ 388 0012 5B00 lsls r3, r3, #1
+ 389 0014 0122 movs r2, #1
+ 390 0016 E250 str r2, [r4, r3]
+ 269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = pdev->request.wLength;
+ 391 .loc 1 269 0
+ 392 0018 124B ldr r3, .L26
+ 393 001a E25A ldrh r2, [r4, r3]
+ 394 001c 163B subs r3, r3, #22
+ 395 001e E250 str r2, [r4, r3]
+ 270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** switch (pdev->request.bmRequest & 0x1F)
+ 396 .loc 1 271 0
+ 397 0020 1033 adds r3, r3, #16
+ 398 0022 E15C ldrb r1, [r4, r3]
+ 399 0024 EA3B subs r3, r3, #234
+ 400 0026 FF3B subs r3, r3, #255
+ 401 0028 0B40 ands r3, r1
+ 402 002a 012B cmp r3, #1
+ 403 002c 0FD0 beq .L21
+ 404 002e 002B cmp r3, #0
+ 405 0030 07D0 beq .L22
+ 406 0032 022B cmp r3, #2
+ 407 0034 10D0 beq .L23
+ 272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_DEVICE:
+ 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdDevReq (pdev, &pdev->request);
+ 275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_INTERFACE:
+ 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdItfReq(pdev, &pdev->request);
+ 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** case USB_REQ_RECIPIENT_ENDPOINT:
+ 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StdEPReq(pdev, &pdev->request);
+ 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** default:
+ 286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_StallEP(pdev , pdev->request.bmRequest & 0x80);
+ 408 .loc 1 286 0
+ 409 0036 7F23 movs r3, #127
+ 410 0038 9943 bics r1, r3
+ 411 003a 2000 movs r0, r4
+ 412 003c FFF7FEFF bl USBD_LL_StallEP
+ ARM GAS /tmp/ccHZmh3B.s page 13
+
+
+ 413 .LVL34:
+ 287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 414 .loc 1 287 0
+ 415 0040 03E0 b .L24
+ 416 .L22:
+ 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 417 .loc 1 274 0
+ 418 0042 2900 movs r1, r5
+ 419 0044 2000 movs r0, r4
+ 420 0046 FFF7FEFF bl USBD_StdDevReq
+ 421 .LVL35:
+ 422 .L24:
+ 288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 423 .loc 1 290 0
+ 424 004a 0020 movs r0, #0
+ 425 @ sp needed
+ 426 .LVL36:
+ 427 .LVL37:
+ 428 004c 70BD pop {r4, r5, r6, pc}
+ 429 .LVL38:
+ 430 .L21:
+ 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 431 .loc 1 278 0
+ 432 004e 2900 movs r1, r5
+ 433 0050 2000 movs r0, r4
+ 434 0052 FFF7FEFF bl USBD_StdItfReq
+ 435 .LVL39:
+ 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 436 .loc 1 279 0
+ 437 0056 F8E7 b .L24
+ 438 .L23:
+ 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** break;
+ 439 .loc 1 282 0
+ 440 0058 2900 movs r1, r5
+ 441 005a 2000 movs r0, r4
+ 442 005c FFF7FEFF bl USBD_StdEPReq
+ 443 .LVL40:
+ 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 444 .loc 1 283 0
+ 445 0060 F3E7 b .L24
+ 446 .L27:
+ 447 0062 C046 .align 2
+ 448 .L26:
+ 449 0064 0E020000 .word 526
+ 450 .cfi_endproc
+ 451 .LFE51:
+ 453 .section .text.USBD_LL_DataOutStage,"ax",%progbits
+ 454 .align 1
+ 455 .global USBD_LL_DataOutStage
+ 456 .syntax unified
+ 457 .code 16
+ 458 .thumb_func
+ 459 .fpu softvfp
+ 461 USBD_LL_DataOutStage:
+ 462 .LFB52:
+ ARM GAS /tmp/ccHZmh3B.s page 14
+
+
+ 291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DataOutStage
+ 294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data OUT stage
+ 295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
+ 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev , uint8_t epnum, uint8_t *pdata)
+ 300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 463 .loc 1 300 0
+ 464 .cfi_startproc
+ 465 @ args = 0, pretend = 0, frame = 0
+ 466 @ frame_needed = 0, uses_anonymous_args = 0
+ 467 .LVL41:
+ 468 0000 10B5 push {r4, lr}
+ 469 .LCFI7:
+ 470 .cfi_def_cfa_offset 8
+ 471 .cfi_offset 4, -8
+ 472 .cfi_offset 14, -4
+ 473 0002 0400 movs r4, r0
+ 474 0004 1300 movs r3, r2
+ 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
+ 302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(epnum == 0)
+ 475 .loc 1 303 0
+ 476 0006 0029 cmp r1, #0
+ 477 0008 29D1 bne .L29
+ 478 .LVL42:
+ 304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_out[0];
+ 306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ( pdev->ep0_state == USBD_EP0_DATA_OUT)
+ 479 .loc 1 307 0
+ 480 000a FA22 movs r2, #250
+ 481 .LVL43:
+ 482 000c 5200 lsls r2, r2, #1
+ 483 000e 8258 ldr r2, [r0, r2]
+ 484 0010 032A cmp r2, #3
+ 485 0012 01D0 beq .L34
+ 486 .LVL44:
+ 487 .L30:
+ 308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pep->rem_length > pep->maxpacket)
+ 310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket;
+ 312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueRx (pdev,
+ 314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
+ 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** MIN(pep->rem_length ,pep->maxpacket));
+ 316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
+ 318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pdev->pClass->EP0_RxReady != NULL)&&
+ 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_RxReady(pdev);
+ ARM GAS /tmp/ccHZmh3B.s page 15
+
+
+ 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlSendStatus(pdev);
+ 325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else if((pdev->pClass->DataOut != NULL)&&
+ 329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataOut(pdev, epnum);
+ 332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 488 .loc 1 334 0
+ 489 0014 0020 movs r0, #0
+ 490 @ sp needed
+ 491 .LVL45:
+ 492 0016 10BD pop {r4, pc}
+ 493 .LVL46:
+ 494 .L34:
+ 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 495 .loc 1 309 0
+ 496 0018 421D adds r2, r0, #5
+ 497 001a FF32 adds r2, r2, #255
+ 498 001c 9168 ldr r1, [r2, #8]
+ 499 .LVL47:
+ 500 001e D268 ldr r2, [r2, #12]
+ 501 0020 9142 cmp r1, r2
+ 502 0022 0FD8 bhi .L35
+ 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 503 .loc 1 319 0
+ 504 0024 8523 movs r3, #133
+ 505 .LVL48:
+ 506 0026 9B00 lsls r3, r3, #2
+ 507 0028 C358 ldr r3, [r0, r3]
+ 508 002a 1B69 ldr r3, [r3, #16]
+ 509 002c 002B cmp r3, #0
+ 510 002e 05D0 beq .L33
+ 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 511 .loc 1 320 0 discriminator 1
+ 512 0030 FE22 movs r2, #254
+ 513 0032 5200 lsls r2, r2, #1
+ 514 0034 825C ldrb r2, [r0, r2]
+ 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 515 .loc 1 319 0 discriminator 1
+ 516 0036 032A cmp r2, #3
+ 517 0038 00D1 bne .L33
+ 322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 518 .loc 1 322 0
+ 519 003a 9847 blx r3
+ 520 .LVL49:
+ 521 .L33:
+ 324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 522 .loc 1 324 0
+ 523 003c 2000 movs r0, r4
+ 524 003e FFF7FEFF bl USBD_CtlSendStatus
+ 525 .LVL50:
+ 526 0042 E7E7 b .L30
+ ARM GAS /tmp/ccHZmh3B.s page 16
+
+
+ 527 .LVL51:
+ 528 .L35:
+ 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 529 .loc 1 311 0
+ 530 0044 891A subs r1, r1, r2
+ 531 0046 0530 adds r0, r0, #5
+ 532 .LVL52:
+ 533 0048 FF30 adds r0, r0, #255
+ 534 004a 8160 str r1, [r0, #8]
+ 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 535 .loc 1 315 0
+ 536 004c 8A42 cmp r2, r1
+ 537 004e 00D9 bls .L32
+ 538 0050 0A00 movs r2, r1
+ 539 .L32:
+ 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
+ 540 .loc 1 313 0
+ 541 0052 92B2 uxth r2, r2
+ 542 0054 1900 movs r1, r3
+ 543 0056 2000 movs r0, r4
+ 544 0058 FFF7FEFF bl USBD_CtlContinueRx
+ 545 .LVL53:
+ 546 005c DAE7 b .L30
+ 547 .LVL54:
+ 548 .L29:
+ 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 549 .loc 1 328 0
+ 550 005e 8523 movs r3, #133
+ 551 0060 9B00 lsls r3, r3, #2
+ 552 0062 C358 ldr r3, [r0, r3]
+ 553 0064 9B69 ldr r3, [r3, #24]
+ 554 0066 002B cmp r3, #0
+ 555 0068 D4D0 beq .L30
+ 329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 556 .loc 1 329 0 discriminator 1
+ 557 006a FE22 movs r2, #254
+ 558 .LVL55:
+ 559 006c 5200 lsls r2, r2, #1
+ 560 006e 825C ldrb r2, [r0, r2]
+ 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 561 .loc 1 328 0 discriminator 1
+ 562 0070 032A cmp r2, #3
+ 563 0072 CFD1 bne .L30
+ 331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 564 .loc 1 331 0
+ 565 0074 9847 blx r3
+ 566 .LVL56:
+ 567 0076 CDE7 b .L30
+ 568 .cfi_endproc
+ 569 .LFE52:
+ 571 .global __aeabi_uidivmod
+ 572 .section .text.USBD_LL_DataInStage,"ax",%progbits
+ 573 .align 1
+ 574 .global USBD_LL_DataInStage
+ 575 .syntax unified
+ 576 .code 16
+ 577 .thumb_func
+ ARM GAS /tmp/ccHZmh3B.s page 17
+
+
+ 578 .fpu softvfp
+ 580 USBD_LL_DataInStage:
+ 581 .LFB53:
+ 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DataInStage
+ 338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle data in stage
+ 339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param epnum: endpoint index
+ 341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev ,uint8_t epnum, uint8_t *pdata)
+ 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 582 .loc 1 344 0
+ 583 .cfi_startproc
+ 584 @ args = 0, pretend = 0, frame = 0
+ 585 @ frame_needed = 0, uses_anonymous_args = 0
+ 586 .LVL57:
+ 587 0000 70B5 push {r4, r5, r6, lr}
+ 588 .LCFI8:
+ 589 .cfi_def_cfa_offset 16
+ 590 .cfi_offset 4, -16
+ 591 .cfi_offset 5, -12
+ 592 .cfi_offset 6, -8
+ 593 .cfi_offset 14, -4
+ 594 0002 0400 movs r4, r0
+ 595 0004 1300 movs r3, r2
+ 345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EndpointTypeDef *pep;
+ 346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(epnum == 0)
+ 596 .loc 1 347 0
+ 597 0006 0029 cmp r1, #0
+ 598 0008 4ED1 bne .L37
+ 599 .LVL58:
+ 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep = &pdev->ep_in[0];
+ 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if ( pdev->ep0_state == USBD_EP0_DATA_IN)
+ 600 .loc 1 351 0
+ 601 000a FA22 movs r2, #250
+ 602 .LVL59:
+ 603 000c 5200 lsls r2, r2, #1
+ 604 000e 8258 ldr r2, [r0, r2]
+ 605 0010 022A cmp r2, #2
+ 606 0012 06D0 beq .L43
+ 607 .LVL60:
+ 608 .L38:
+ 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pep->rem_length > pep->maxpacket)
+ 354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length -= pep->maxpacket;
+ 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData (pdev,
+ 358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
+ 359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pep->rem_length);
+ 360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
+ ARM GAS /tmp/ccHZmh3B.s page 18
+
+
+ 362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive (pdev,
+ 363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
+ 364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** NULL,
+ 365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0);
+ 366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
+ 368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** { /* last packet is MPS multiple, so send ZLP packet */
+ 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pep->total_length % pep->maxpacket == 0) &&
+ 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
+ 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len ))
+ 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlContinueSendData(pdev , NULL, 0);
+ 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0;
+ 376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Prepare endpoint for premature end of transfer */
+ 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_PrepareReceive (pdev,
+ 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
+ 380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** NULL,
+ 381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0);
+ 382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else
+ 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if((pdev->pClass->EP0_TxSent != NULL)&&
+ 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->EP0_TxSent(pdev);
+ 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_CtlReceiveStatus(pdev);
+ 391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->dev_test_mode == 1)
+ 609 .loc 1 394 0
+ 610 0014 8023 movs r3, #128
+ 611 0016 9B00 lsls r3, r3, #2
+ 612 0018 E35C ldrb r3, [r4, r3]
+ 613 001a 012B cmp r3, #1
+ 614 001c 3FD0 beq .L44
+ 615 .LVL61:
+ 616 .L42:
+ 395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_RunTestMode(pdev);
+ 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_test_mode = 0;
+ 398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** else if((pdev->pClass->DataIn != NULL)&&
+ 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DataIn(pdev, epnum);
+ 404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 617 .loc 1 406 0
+ 618 001e 0020 movs r0, #0
+ 619 @ sp needed
+ 620 .LVL62:
+ ARM GAS /tmp/ccHZmh3B.s page 19
+
+
+ 621 0020 70BD pop {r4, r5, r6, pc}
+ 622 .LVL63:
+ 623 .L43:
+ 353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 624 .loc 1 353 0
+ 625 0022 C269 ldr r2, [r0, #28]
+ 626 0024 056A ldr r5, [r0, #32]
+ 627 0026 AA42 cmp r2, r5
+ 628 0028 1ED8 bhi .L45
+ 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
+ 629 .loc 1 369 0
+ 630 002a 8669 ldr r6, [r0, #24]
+ 631 002c 2900 movs r1, r5
+ 632 .LVL64:
+ 633 002e 3000 movs r0, r6
+ 634 .LVL65:
+ 635 0030 FFF7FEFF bl __aeabi_uidivmod
+ 636 .LVL66:
+ 637 0034 0029 cmp r1, #0
+ 638 0036 06D1 bne .L40
+ 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length >= pep->maxpacket) &&
+ 639 .loc 1 369 0 is_stmt 0 discriminator 1
+ 640 0038 B542 cmp r5, r6
+ 641 003a 04D8 bhi .L40
+ 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 642 .loc 1 371 0 is_stmt 1
+ 643 003c FC23 movs r3, #252
+ 644 003e 5B00 lsls r3, r3, #1
+ 645 0040 E358 ldr r3, [r4, r3]
+ 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pep->total_length < pdev->ep0_data_len ))
+ 646 .loc 1 370 0
+ 647 0042 9E42 cmp r6, r3
+ 648 0044 1DD3 bcc .L46
+ 649 .L40:
+ 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 650 .loc 1 385 0
+ 651 0046 8523 movs r3, #133
+ 652 0048 9B00 lsls r3, r3, #2
+ 653 004a E358 ldr r3, [r4, r3]
+ 654 004c DB68 ldr r3, [r3, #12]
+ 655 004e 002B cmp r3, #0
+ 656 0050 06D0 beq .L41
+ 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 657 .loc 1 386 0 discriminator 1
+ 658 0052 FE22 movs r2, #254
+ 659 0054 5200 lsls r2, r2, #1
+ 660 0056 A25C ldrb r2, [r4, r2]
+ 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 661 .loc 1 385 0 discriminator 1
+ 662 0058 032A cmp r2, #3
+ 663 005a 01D1 bne .L41
+ 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 664 .loc 1 388 0
+ 665 005c 2000 movs r0, r4
+ 666 005e 9847 blx r3
+ 667 .LVL67:
+ 668 .L41:
+ ARM GAS /tmp/ccHZmh3B.s page 20
+
+
+ 390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 669 .loc 1 390 0
+ 670 0060 2000 movs r0, r4
+ 671 0062 FFF7FEFF bl USBD_CtlReceiveStatus
+ 672 .LVL68:
+ 673 0066 D5E7 b .L38
+ 674 .LVL69:
+ 675 .L45:
+ 355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 676 .loc 1 355 0
+ 677 0068 521B subs r2, r2, r5
+ 678 006a C261 str r2, [r0, #28]
+ 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdata,
+ 679 .loc 1 357 0
+ 680 006c 92B2 uxth r2, r2
+ 681 006e 1900 movs r1, r3
+ 682 .LVL70:
+ 683 0070 FFF7FEFF bl USBD_CtlContinueSendData
+ 684 .LVL71:
+ 362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
+ 685 .loc 1 362 0
+ 686 0074 0023 movs r3, #0
+ 687 0076 0022 movs r2, #0
+ 688 0078 0021 movs r1, #0
+ 689 007a 2000 movs r0, r4
+ 690 007c FFF7FEFF bl USBD_LL_PrepareReceive
+ 691 .LVL72:
+ 692 0080 C8E7 b .L38
+ 693 .L46:
+ 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep0_data_len = 0;
+ 694 .loc 1 374 0
+ 695 0082 0022 movs r2, #0
+ 696 0084 2000 movs r0, r4
+ 697 0086 FFF7FEFF bl USBD_CtlContinueSendData
+ 698 .LVL73:
+ 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 699 .loc 1 375 0
+ 700 008a FC23 movs r3, #252
+ 701 008c 5B00 lsls r3, r3, #1
+ 702 008e 0022 movs r2, #0
+ 703 0090 E250 str r2, [r4, r3]
+ 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0,
+ 704 .loc 1 378 0
+ 705 0092 0023 movs r3, #0
+ 706 0094 0021 movs r1, #0
+ 707 0096 2000 movs r0, r4
+ 708 0098 FFF7FEFF bl USBD_LL_PrepareReceive
+ 709 .LVL74:
+ 710 009c BAE7 b .L38
+ 711 .L44:
+ 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 712 .loc 1 397 0
+ 713 009e 8023 movs r3, #128
+ 714 00a0 9B00 lsls r3, r3, #2
+ 715 00a2 0022 movs r2, #0
+ 716 00a4 E254 strb r2, [r4, r3]
+ 717 00a6 BAE7 b .L42
+ ARM GAS /tmp/ccHZmh3B.s page 21
+
+
+ 718 .LVL75:
+ 719 .L37:
+ 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 720 .loc 1 400 0
+ 721 00a8 8523 movs r3, #133
+ 722 00aa 9B00 lsls r3, r3, #2
+ 723 00ac C358 ldr r3, [r0, r3]
+ 724 00ae 5B69 ldr r3, [r3, #20]
+ 725 00b0 002B cmp r3, #0
+ 726 00b2 B4D0 beq .L42
+ 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 727 .loc 1 401 0 discriminator 1
+ 728 00b4 FE22 movs r2, #254
+ 729 .LVL76:
+ 730 00b6 5200 lsls r2, r2, #1
+ 731 00b8 825C ldrb r2, [r0, r2]
+ 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** (pdev->dev_state == USBD_STATE_CONFIGURED))
+ 732 .loc 1 400 0 discriminator 1
+ 733 00ba 032A cmp r2, #3
+ 734 00bc AFD1 bne .L42
+ 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 735 .loc 1 403 0
+ 736 00be 9847 blx r3
+ 737 .LVL77:
+ 738 00c0 ADE7 b .L42
+ 739 .cfi_endproc
+ 740 .LFE53:
+ 742 .section .text.USBD_LL_Reset,"ax",%progbits
+ 743 .align 1
+ 744 .global USBD_LL_Reset
+ 745 .syntax unified
+ 746 .code 16
+ 747 .thumb_func
+ 748 .fpu softvfp
+ 750 USBD_LL_Reset:
+ 751 .LFB54:
+ 407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset
+ 410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
+ 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev)
+ 416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 752 .loc 1 416 0
+ 753 .cfi_startproc
+ 754 @ args = 0, pretend = 0, frame = 0
+ 755 @ frame_needed = 0, uses_anonymous_args = 0
+ 756 .LVL78:
+ 757 0000 70B5 push {r4, r5, r6, lr}
+ 758 .LCFI9:
+ 759 .cfi_def_cfa_offset 16
+ 760 .cfi_offset 4, -16
+ 761 .cfi_offset 5, -12
+ 762 .cfi_offset 6, -8
+ ARM GAS /tmp/ccHZmh3B.s page 22
+
+
+ 763 .cfi_offset 14, -4
+ 764 0002 0400 movs r4, r0
+ 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 OUT */
+ 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev,
+ 765 .loc 1 418 0
+ 766 0004 4023 movs r3, #64
+ 767 0006 0022 movs r2, #0
+ 768 0008 0021 movs r1, #0
+ 769 000a FFF7FEFF bl USBD_LL_OpenEP
+ 770 .LVL79:
+ 419:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0x00,
+ 420:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EP_TYPE_CTRL,
+ 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USB_MAX_EP0_SIZE);
+ 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE;
+ 771 .loc 1 423 0
+ 772 000e 4025 movs r5, #64
+ 773 0010 8823 movs r3, #136
+ 774 0012 5B00 lsls r3, r3, #1
+ 775 0014 E550 str r5, [r4, r3]
+ 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Open EP0 IN */
+ 426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_LL_OpenEP(pdev,
+ 776 .loc 1 426 0
+ 777 0016 D03B subs r3, r3, #208
+ 778 0018 0022 movs r2, #0
+ 779 001a 8021 movs r1, #128
+ 780 001c 2000 movs r0, r4
+ 781 001e FFF7FEFF bl USBD_LL_OpenEP
+ 782 .LVL80:
+ 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** 0x80,
+ 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_EP_TYPE_CTRL,
+ 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USB_MAX_EP0_SIZE);
+ 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE;
+ 783 .loc 1 431 0
+ 784 0022 2562 str r5, [r4, #32]
+ 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Upon Reset call user call back */
+ 433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
+ 785 .loc 1 433 0
+ 786 0024 FE23 movs r3, #254
+ 787 0026 5B00 lsls r3, r3, #1
+ 788 0028 0122 movs r2, #1
+ 789 002a E254 strb r2, [r4, r3]
+ 434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if (pdev->pClassData)
+ 790 .loc 1 435 0
+ 791 002c 1C33 adds r3, r3, #28
+ 792 002e E358 ldr r3, [r4, r3]
+ 793 0030 002B cmp r3, #0
+ 794 0032 06D0 beq .L48
+ 436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
+ 795 .loc 1 436 0
+ 796 0034 8523 movs r3, #133
+ 797 0036 9B00 lsls r3, r3, #2
+ 798 0038 E358 ldr r3, [r4, r3]
+ 799 003a 5B68 ldr r3, [r3, #4]
+ ARM GAS /tmp/ccHZmh3B.s page 23
+
+
+ 800 003c 2179 ldrb r1, [r4, #4]
+ 801 003e 2000 movs r0, r4
+ 802 0040 9847 blx r3
+ 803 .LVL81:
+ 804 .L48:
+ 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 805 .loc 1 440 0
+ 806 0042 0020 movs r0, #0
+ 807 @ sp needed
+ 808 .LVL82:
+ 809 0044 70BD pop {r4, r5, r6, pc}
+ 810 .cfi_endproc
+ 811 .LFE54:
+ 813 .section .text.USBD_LL_SetSpeed,"ax",%progbits
+ 814 .align 1
+ 815 .global USBD_LL_SetSpeed
+ 816 .syntax unified
+ 817 .code 16
+ 818 .thumb_func
+ 819 .fpu softvfp
+ 821 USBD_LL_SetSpeed:
+ 822 .LFB55:
+ 441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_LL_Reset
+ 447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Reset event
+ 448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed)
+ 452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 823 .loc 1 452 0
+ 824 .cfi_startproc
+ 825 @ args = 0, pretend = 0, frame = 0
+ 826 @ frame_needed = 0, uses_anonymous_args = 0
+ 827 @ link register save eliminated.
+ 828 .LVL83:
+ 453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_speed = speed;
+ 829 .loc 1 453 0
+ 830 0000 0174 strb r1, [r0, #16]
+ 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 831 .loc 1 455 0
+ 832 0002 0020 movs r0, #0
+ 833 .LVL84:
+ 834 @ sp needed
+ 835 0004 7047 bx lr
+ 836 .cfi_endproc
+ 837 .LFE55:
+ 839 .section .text.USBD_LL_Suspend,"ax",%progbits
+ 840 .align 1
+ ARM GAS /tmp/ccHZmh3B.s page 24
+
+
+ 841 .global USBD_LL_Suspend
+ 842 .syntax unified
+ 843 .code 16
+ 844 .thumb_func
+ 845 .fpu softvfp
+ 847 USBD_LL_Suspend:
+ 848 .LFB56:
+ 456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Suspend
+ 459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Suspend event
+ 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev)
+ 465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 849 .loc 1 465 0
+ 850 .cfi_startproc
+ 851 @ args = 0, pretend = 0, frame = 0
+ 852 @ frame_needed = 0, uses_anonymous_args = 0
+ 853 @ link register save eliminated.
+ 854 .LVL85:
+ 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_old_state = pdev->dev_state;
+ 855 .loc 1 466 0
+ 856 0000 FE23 movs r3, #254
+ 857 0002 5B00 lsls r3, r3, #1
+ 858 0004 C15C ldrb r1, [r0, r3]
+ 859 0006 FE22 movs r2, #254
+ 860 0008 FF32 adds r2, r2, #255
+ 861 000a 8154 strb r1, [r0, r2]
+ 467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_SUSPENDED;
+ 862 .loc 1 467 0
+ 863 000c FA3A subs r2, r2, #250
+ 864 000e FF3A subs r2, r2, #255
+ 865 0010 C254 strb r2, [r0, r3]
+ 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 866 .loc 1 469 0
+ 867 0012 0020 movs r0, #0
+ 868 .LVL86:
+ 869 @ sp needed
+ 870 0014 7047 bx lr
+ 871 .cfi_endproc
+ 872 .LFE56:
+ 874 .section .text.USBD_LL_Resume,"ax",%progbits
+ 875 .align 1
+ 876 .global USBD_LL_Resume
+ 877 .syntax unified
+ 878 .code 16
+ 879 .thumb_func
+ 880 .fpu softvfp
+ 882 USBD_LL_Resume:
+ 883 .LFB57:
+ 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_Resume
+ ARM GAS /tmp/ccHZmh3B.s page 25
+
+
+ 473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle Resume event
+ 474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev)
+ 479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 884 .loc 1 479 0
+ 885 .cfi_startproc
+ 886 @ args = 0, pretend = 0, frame = 0
+ 887 @ frame_needed = 0, uses_anonymous_args = 0
+ 888 @ link register save eliminated.
+ 889 .LVL87:
+ 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = pdev->dev_old_state;
+ 890 .loc 1 480 0
+ 891 0000 FE23 movs r3, #254
+ 892 0002 FF33 adds r3, r3, #255
+ 893 0004 C25C ldrb r2, [r0, r3]
+ 894 0006 013B subs r3, r3, #1
+ 895 0008 C254 strb r2, [r0, r3]
+ 481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 896 .loc 1 482 0
+ 897 000a 0020 movs r0, #0
+ 898 .LVL88:
+ 899 @ sp needed
+ 900 000c 7047 bx lr
+ 901 .cfi_endproc
+ 902 .LFE57:
+ 904 .section .text.USBD_LL_SOF,"ax",%progbits
+ 905 .align 1
+ 906 .global USBD_LL_SOF
+ 907 .syntax unified
+ 908 .code 16
+ 909 .thumb_func
+ 910 .fpu softvfp
+ 912 USBD_LL_SOF:
+ 913 .LFB58:
+ 483:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 484:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 485:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_SOF
+ 486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle SOF event
+ 487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev)
+ 492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 914 .loc 1 492 0
+ 915 .cfi_startproc
+ 916 @ args = 0, pretend = 0, frame = 0
+ 917 @ frame_needed = 0, uses_anonymous_args = 0
+ 918 .LVL89:
+ 919 0000 10B5 push {r4, lr}
+ 920 .LCFI10:
+ 921 .cfi_def_cfa_offset 8
+ 922 .cfi_offset 4, -8
+ ARM GAS /tmp/ccHZmh3B.s page 26
+
+
+ 923 .cfi_offset 14, -4
+ 493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->dev_state == USBD_STATE_CONFIGURED)
+ 924 .loc 1 493 0
+ 925 0002 FE23 movs r3, #254
+ 926 0004 5B00 lsls r3, r3, #1
+ 927 0006 C35C ldrb r3, [r0, r3]
+ 928 0008 032B cmp r3, #3
+ 929 000a 01D0 beq .L54
+ 930 .LVL90:
+ 931 .L53:
+ 494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** if(pdev->pClass->SOF != NULL)
+ 496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->SOF(pdev);
+ 498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 932 .loc 1 501 0
+ 933 000c 0020 movs r0, #0
+ 934 @ sp needed
+ 935 000e 10BD pop {r4, pc}
+ 936 .LVL91:
+ 937 .L54:
+ 495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 938 .loc 1 495 0
+ 939 0010 8523 movs r3, #133
+ 940 0012 9B00 lsls r3, r3, #2
+ 941 0014 C358 ldr r3, [r0, r3]
+ 942 0016 DB69 ldr r3, [r3, #28]
+ 943 0018 002B cmp r3, #0
+ 944 001a F7D0 beq .L53
+ 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 945 .loc 1 497 0
+ 946 001c 9847 blx r3
+ 947 .LVL92:
+ 948 001e F5E7 b .L53
+ 949 .cfi_endproc
+ 950 .LFE58:
+ 952 .section .text.USBD_LL_IsoINIncomplete,"ax",%progbits
+ 953 .align 1
+ 954 .global USBD_LL_IsoINIncomplete
+ 955 .syntax unified
+ 956 .code 16
+ 957 .thumb_func
+ 958 .fpu softvfp
+ 960 USBD_LL_IsoINIncomplete:
+ 961 .LFB59:
+ 502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoINIncomplete
+ 505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso in incomplete event
+ 506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
+ 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ ARM GAS /tmp/ccHZmh3B.s page 27
+
+
+ 962 .loc 1 510 0
+ 963 .cfi_startproc
+ 964 @ args = 0, pretend = 0, frame = 0
+ 965 @ frame_needed = 0, uses_anonymous_args = 0
+ 966 @ link register save eliminated.
+ 967 .LVL93:
+ 511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 968 .loc 1 512 0
+ 969 0000 0020 movs r0, #0
+ 970 .LVL94:
+ 971 @ sp needed
+ 972 0002 7047 bx lr
+ 973 .cfi_endproc
+ 974 .LFE59:
+ 976 .section .text.USBD_LL_IsoOUTIncomplete,"ax",%progbits
+ 977 .align 1
+ 978 .global USBD_LL_IsoOUTIncomplete
+ 979 .syntax unified
+ 980 .code 16
+ 981 .thumb_func
+ 982 .fpu softvfp
+ 984 USBD_LL_IsoOUTIncomplete:
+ 985 .LFB60:
+ 513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_IsoOUTIncomplete
+ 516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle iso out incomplete event
+ 517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum)
+ 521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 986 .loc 1 521 0
+ 987 .cfi_startproc
+ 988 @ args = 0, pretend = 0, frame = 0
+ 989 @ frame_needed = 0, uses_anonymous_args = 0
+ 990 @ link register save eliminated.
+ 991 .LVL95:
+ 522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 992 .loc 1 523 0
+ 993 0000 0020 movs r0, #0
+ 994 .LVL96:
+ 995 @ sp needed
+ 996 0002 7047 bx lr
+ 997 .cfi_endproc
+ 998 .LFE60:
+ 1000 .section .text.USBD_LL_DevConnected,"ax",%progbits
+ 1001 .align 1
+ 1002 .global USBD_LL_DevConnected
+ 1003 .syntax unified
+ 1004 .code 16
+ 1005 .thumb_func
+ 1006 .fpu softvfp
+ 1008 USBD_LL_DevConnected:
+ 1009 .LFB61:
+ ARM GAS /tmp/ccHZmh3B.s page 28
+
+
+ 524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DevConnected
+ 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device connection event
+ 528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev)
+ 532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 1010 .loc 1 532 0
+ 1011 .cfi_startproc
+ 1012 @ args = 0, pretend = 0, frame = 0
+ 1013 @ frame_needed = 0, uses_anonymous_args = 0
+ 1014 @ link register save eliminated.
+ 1015 .LVL97:
+ 533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 1016 .loc 1 534 0
+ 1017 0000 0020 movs r0, #0
+ 1018 .LVL98:
+ 1019 @ sp needed
+ 1020 0002 7047 bx lr
+ 1021 .cfi_endproc
+ 1022 .LFE61:
+ 1024 .section .text.USBD_LL_DevDisconnected,"ax",%progbits
+ 1025 .align 1
+ 1026 .global USBD_LL_DevDisconnected
+ 1027 .syntax unified
+ 1028 .code 16
+ 1029 .thumb_func
+ 1030 .fpu softvfp
+ 1032 USBD_LL_DevDisconnected:
+ 1033 .LFB62:
+ 535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /**
+ 537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @brief USBD_DevDisconnected
+ 538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * Handle device disconnection event
+ 539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @param pdev: device instance
+ 540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** * @retval status
+ 541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** */
+ 542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev)
+ 543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** {
+ 1034 .loc 1 543 0
+ 1035 .cfi_startproc
+ 1036 @ args = 0, pretend = 0, frame = 0
+ 1037 @ frame_needed = 0, uses_anonymous_args = 0
+ 1038 .LVL99:
+ 1039 0000 10B5 push {r4, lr}
+ 1040 .LCFI11:
+ 1041 .cfi_def_cfa_offset 8
+ 1042 .cfi_offset 4, -8
+ 1043 .cfi_offset 14, -4
+ 544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** /* Free Class Resources */
+ 545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->dev_state = USBD_STATE_DEFAULT;
+ 1044 .loc 1 545 0
+ 1045 0002 FE23 movs r3, #254
+ 1046 0004 5B00 lsls r3, r3, #1
+ ARM GAS /tmp/ccHZmh3B.s page 29
+
+
+ 1047 0006 0122 movs r2, #1
+ 1048 0008 C254 strb r2, [r0, r3]
+ 546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** pdev->pClass->DeInit(pdev, pdev->dev_config);
+ 1049 .loc 1 546 0
+ 1050 000a 1833 adds r3, r3, #24
+ 1051 000c C358 ldr r3, [r0, r3]
+ 1052 000e 5B68 ldr r3, [r3, #4]
+ 1053 0010 0179 ldrb r1, [r0, #4]
+ 1054 0012 9847 blx r3
+ 1055 .LVL100:
+ 547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c ****
+ 548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** return USBD_OK;
+ 549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c **** }
+ 1056 .loc 1 549 0
+ 1057 0014 0020 movs r0, #0
+ 1058 @ sp needed
+ 1059 0016 10BD pop {r4, pc}
+ 1060 .cfi_endproc
+ 1061 .LFE62:
+ 1063 .text
+ 1064 .Letext0:
+ 1065 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1066 .file 3 "/usr/include/newlib/sys/lock.h"
+ 1067 .file 4 "/usr/include/newlib/sys/_types.h"
+ 1068 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 1069 .file 6 "/usr/include/newlib/sys/reent.h"
+ 1070 .file 7 "/usr/include/newlib/sys/_stdint.h"
+ 1071 .file 8 "/usr/include/newlib/stdlib.h"
+ 1072 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1073 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 1074 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 1075 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ 1076 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
+ 1077 .file 14 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
+ ARM GAS /tmp/ccHZmh3B.s page 30
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_core.c
+ /tmp/ccHZmh3B.s:16 .text.USBD_Init:0000000000000000 $t
+ /tmp/ccHZmh3B.s:23 .text.USBD_Init:0000000000000000 USBD_Init
+ /tmp/ccHZmh3B.s:86 .text.USBD_DeInit:0000000000000000 $t
+ /tmp/ccHZmh3B.s:93 .text.USBD_DeInit:0000000000000000 USBD_DeInit
+ /tmp/ccHZmh3B.s:135 .text.USBD_RegisterClass:0000000000000000 $t
+ /tmp/ccHZmh3B.s:142 .text.USBD_RegisterClass:0000000000000000 USBD_RegisterClass
+ /tmp/ccHZmh3B.s:174 .text.USBD_Start:0000000000000000 $t
+ /tmp/ccHZmh3B.s:181 .text.USBD_Start:0000000000000000 USBD_Start
+ /tmp/ccHZmh3B.s:204 .text.USBD_Stop:0000000000000000 $t
+ /tmp/ccHZmh3B.s:211 .text.USBD_Stop:0000000000000000 USBD_Stop
+ /tmp/ccHZmh3B.s:245 .text.USBD_RunTestMode:0000000000000000 $t
+ /tmp/ccHZmh3B.s:252 .text.USBD_RunTestMode:0000000000000000 USBD_RunTestMode
+ /tmp/ccHZmh3B.s:269 .text.USBD_SetClassConfig:0000000000000000 $t
+ /tmp/ccHZmh3B.s:276 .text.USBD_SetClassConfig:0000000000000000 USBD_SetClassConfig
+ /tmp/ccHZmh3B.s:322 .text.USBD_ClrClassConfig:0000000000000000 $t
+ /tmp/ccHZmh3B.s:329 .text.USBD_ClrClassConfig:0000000000000000 USBD_ClrClassConfig
+ /tmp/ccHZmh3B.s:356 .text.USBD_LL_SetupStage:0000000000000000 $t
+ /tmp/ccHZmh3B.s:363 .text.USBD_LL_SetupStage:0000000000000000 USBD_LL_SetupStage
+ /tmp/ccHZmh3B.s:449 .text.USBD_LL_SetupStage:0000000000000064 $d
+ /tmp/ccHZmh3B.s:454 .text.USBD_LL_DataOutStage:0000000000000000 $t
+ /tmp/ccHZmh3B.s:461 .text.USBD_LL_DataOutStage:0000000000000000 USBD_LL_DataOutStage
+ /tmp/ccHZmh3B.s:573 .text.USBD_LL_DataInStage:0000000000000000 $t
+ /tmp/ccHZmh3B.s:580 .text.USBD_LL_DataInStage:0000000000000000 USBD_LL_DataInStage
+ /tmp/ccHZmh3B.s:743 .text.USBD_LL_Reset:0000000000000000 $t
+ /tmp/ccHZmh3B.s:750 .text.USBD_LL_Reset:0000000000000000 USBD_LL_Reset
+ /tmp/ccHZmh3B.s:814 .text.USBD_LL_SetSpeed:0000000000000000 $t
+ /tmp/ccHZmh3B.s:821 .text.USBD_LL_SetSpeed:0000000000000000 USBD_LL_SetSpeed
+ /tmp/ccHZmh3B.s:840 .text.USBD_LL_Suspend:0000000000000000 $t
+ /tmp/ccHZmh3B.s:847 .text.USBD_LL_Suspend:0000000000000000 USBD_LL_Suspend
+ /tmp/ccHZmh3B.s:875 .text.USBD_LL_Resume:0000000000000000 $t
+ /tmp/ccHZmh3B.s:882 .text.USBD_LL_Resume:0000000000000000 USBD_LL_Resume
+ /tmp/ccHZmh3B.s:905 .text.USBD_LL_SOF:0000000000000000 $t
+ /tmp/ccHZmh3B.s:912 .text.USBD_LL_SOF:0000000000000000 USBD_LL_SOF
+ /tmp/ccHZmh3B.s:953 .text.USBD_LL_IsoINIncomplete:0000000000000000 $t
+ /tmp/ccHZmh3B.s:960 .text.USBD_LL_IsoINIncomplete:0000000000000000 USBD_LL_IsoINIncomplete
+ /tmp/ccHZmh3B.s:977 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 $t
+ /tmp/ccHZmh3B.s:984 .text.USBD_LL_IsoOUTIncomplete:0000000000000000 USBD_LL_IsoOUTIncomplete
+ /tmp/ccHZmh3B.s:1001 .text.USBD_LL_DevConnected:0000000000000000 $t
+ /tmp/ccHZmh3B.s:1008 .text.USBD_LL_DevConnected:0000000000000000 USBD_LL_DevConnected
+ /tmp/ccHZmh3B.s:1025 .text.USBD_LL_DevDisconnected:0000000000000000 $t
+ /tmp/ccHZmh3B.s:1032 .text.USBD_LL_DevDisconnected:0000000000000000 USBD_LL_DevDisconnected
+
+UNDEFINED SYMBOLS
+USBD_LL_Init
+USBD_LL_Stop
+USBD_LL_DeInit
+USBD_LL_Start
+USBD_ParseSetupRequest
+USBD_LL_StallEP
+USBD_StdDevReq
+USBD_StdItfReq
+USBD_StdEPReq
+USBD_CtlSendStatus
+USBD_CtlContinueRx
+__aeabi_uidivmod
+ ARM GAS /tmp/ccHZmh3B.s page 31
+
+
+USBD_CtlReceiveStatus
+USBD_CtlContinueSendData
+USBD_LL_PrepareReceive
+USBD_LL_OpenEP
diff --git a/fw/midi-dials/build/usbd_core.o b/fw/midi-dials/build/usbd_core.o
new file mode 100644
index 0000000..7c64aa7
--- /dev/null
+++ b/fw/midi-dials/build/usbd_core.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_ctlreq.d b/fw/midi-dials/build/usbd_ctlreq.d
new file mode 100644
index 0000000..eea9f02
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ctlreq.d
@@ -0,0 +1,110 @@
+build/usbd_ctlreq.o: \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
diff --git a/fw/midi-dials/build/usbd_ctlreq.lst b/fw/midi-dials/build/usbd_ctlreq.lst
new file mode 100644
index 0000000..4b58f09
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ctlreq.lst
@@ -0,0 +1,2650 @@
+ARM GAS /tmp/cc7AGXQS.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_ctlreq.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_GetLen,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 USBD_GetLen:
+ 23 .LFB56:
+ 24 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c"
+ 1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
+ 3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @file usbd_req.c
+ 4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @author MCD Application Team
+ 5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @version V2.4.2
+ 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @date 11-December-2015
+ 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief This file provides the standard USB requests following chapter 9.
+ 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
+ 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @attention
+ 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
+ 11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
+ 12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
+ 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * You may not use this file except in compliance with the License.
+ 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * You may obtain a copy of the License at:
+ 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
+ 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * http://www.st.com/software_license_agreement_liberty_v2
+ 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
+ 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Unless required by applicable law or agreed to in writing, software
+ 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * distributed under the License is distributed on an "AS IS" BASIS,
+ 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * See the License for the specific language governing permissions and
+ 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * limitations under the License.
+ 24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *
+ 25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ******************************************************************************
+ 26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Includes ------------------------------------------------------------------*/
+ 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ctlreq.h"
+ 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #include "usbd_ioreq.h"
+ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @addtogroup STM32_USBD_STATE_DEVICE_LIBRARY
+ 34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ ARM GAS /tmp/cc7AGXQS.s page 2
+
+
+ 35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ
+ 39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USB standard requests module
+ 40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_TypesDefinitions
+ 44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
+ 48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Defines
+ 52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
+ 57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Macros
+ 61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
+ 65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Variables
+ 69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
+ 73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_FunctionPrototypes
+ 77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev ,
+ 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev ,
+ 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetConfig(USBD_HandleTypeDef *pdev ,
+ 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev ,
+ 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev ,
+ ARM GAS /tmp/cc7AGXQS.s page 3
+
+
+ 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev ,
+ 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev ,
+ 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req);
+ 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf);
+ 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @}
+ 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /** @defgroup USBD_REQ_Private_Functions
+ 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @{
+ 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdDevReq
+ 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb device requests
+ 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdDevReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
+ 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
+ 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest)
+ 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_DESCRIPTOR:
+ 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetDescriptor (pdev, req) ;
+ 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_ADDRESS:
+ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetAddress(pdev, req);
+ 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_CONFIGURATION:
+ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetConfig (pdev , req);
+ 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_CONFIGURATION:
+ 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetConfig (pdev , req);
+ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS:
+ 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_GetStatus (pdev , req);
+ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE:
+ 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetFeature (pdev , req);
+ ARM GAS /tmp/cc7AGXQS.s page 4
+
+
+ 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE:
+ 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrFeature (pdev , req);
+ 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret;
+ 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdItfReq
+ 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb interface requests
+ 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdItfReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
+ 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
+ 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES)
+ 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if((req->wLength == 0)&& (ret == USBD_OK))
+ 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return USBD_OK;
+ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_StdEPReq
+ 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle standard usb endpoint requests
+ 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ ARM GAS /tmp/cc7AGXQS.s page 5
+
+
+ 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef USBD_StdEPReq (USBD_HandleTypeDef *pdev , USBD_SetupReqTypedef *req)
+ 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t ep_addr;
+ 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
+ 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_EndpointTypeDef *pep;
+ 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** ep_addr = LOBYTE(req->wIndex);
+ 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Check if it is a class request */
+ 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->bmRequest & 0x60) == 0x20)
+ 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return USBD_OK;
+ 221:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 222:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->bRequest)
+ 224:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 225:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 226:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_SET_FEATURE :
+ 227:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 229:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 230:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
+ 232:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
+ 234:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 235:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 236:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 237:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT)
+ 239:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
+ 241:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
+ 243:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 244:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 245:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 248:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 250:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 251:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 254:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 255:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 256:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 257:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_CLEAR_FEATURE :
+ 258:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 260:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 261:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr != 0x00) && (ep_addr != 0x80))
+ ARM GAS /tmp/cc7AGXQS.s page 6
+
+
+ 263:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
+ 265:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 266:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 267:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 268:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_EP_HALT)
+ 270:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x7F) != 0x00)
+ 272:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_ClearStallEP(pdev , ep_addr);
+ 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 275:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 277:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 278:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 279:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 280:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 283:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 284:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 285:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 286:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_REQ_GET_STATUS:
+ 287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 288:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 289:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((ep_addr & 0x7F) != 0x00)
+ 291:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , ep_addr);
+ 293:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 294:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 295:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 296:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep = ((ep_addr & 0x80) == 0x80) ? &pdev->ep_in[ep_addr & 0x7F]:\
+ 298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
+ 299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_LL_IsStallEP(pdev, ep_addr))
+ 300:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0001;
+ 302:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 303:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 304:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pep->status = 0x0000;
+ 306:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 307:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 309:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pep->status,
+ 310:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
+ 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 312:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 313:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 316:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 317:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 318:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 319:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ ARM GAS /tmp/cc7AGXQS.s page 7
+
+
+ 320:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 321:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 322:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return ret;
+ 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 324:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 325:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetDescriptor
+ 326:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Descriptor requests
+ 327:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 328:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 329:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 330:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 331:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev ,
+ 332:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 334:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint16_t len;
+ 335:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t *pbuf;
+ 336:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 337:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (req->wValue >> 8)
+ 339:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 340:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_LPM_ENABLED == 1)
+ 341:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_BOS:
+ 342:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len);
+ 343:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 344:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
+ 345:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE:
+ 346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len);
+ 347:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 348:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 349:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_CONFIGURATION:
+ 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
+ 351:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetHSConfigDescriptor(&len);
+ 353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ 354:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 355:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 356:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetFSConfigDescriptor(&len);
+ 358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ 359:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 360:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 361:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 362:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_STRING:
+ 363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch ((uint8_t)(req->wValue))
+ 364:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 365:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_LANGID_STR:
+ 366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len);
+ 367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 368:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 369:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_MFC_STR:
+ 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len);
+ 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 372:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 373:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_PRODUCT_STR:
+ 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len);
+ 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 376:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ ARM GAS /tmp/cc7AGXQS.s page 8
+
+
+ 377:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_SERIAL_STR:
+ 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len);
+ 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 380:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 381:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_CONFIG_STR:
+ 382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len);
+ 383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 384:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 385:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_IDX_INTERFACE_STR:
+ 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len);
+ 387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 388:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 389:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 390:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if (USBD_SUPPORT_USER_STRING == 1)
+ 391:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = pdev->pClass->GetUsrStrDescriptor(pdev, (req->wValue) , &len);
+ 392:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 393:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
+ 394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 396:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
+ 397:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 398:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 399:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_DEVICE_QUALIFIER:
+ 400:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
+ 402:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetDeviceQualifierDescriptor(&len);
+ 404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 405:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 406:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 407:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 410:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 411:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 412:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION:
+ 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(pdev->dev_speed == USBD_SPEED_HIGH )
+ 414:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf = (uint8_t *)pdev->pClass->GetOtherSpeedConfigDescriptor(&len);
+ 416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
+ 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 418:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 419:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 420:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 423:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 424:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 425:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 428:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 429:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if((len != 0)&& (req->wLength != 0))
+ 431:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 432:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len = MIN(len , req->wLength);
+ ARM GAS /tmp/cc7AGXQS.s page 9
+
+
+ 434:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 436:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf,
+ 437:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len);
+ 438:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 439:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 441:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 442:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 443:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetAddress
+ 444:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Set device address
+ 445:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 446:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 447:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 448:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 449:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetAddress(USBD_HandleTypeDef *pdev ,
+ 450:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 452:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t dev_addr;
+ 453:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if ((req->wIndex == 0) && (req->wLength == 0))
+ 455:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** dev_addr = (uint8_t)(req->wValue) & 0x7F;
+ 457:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_state == USBD_STATE_CONFIGURED)
+ 459:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 461:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 462:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 463:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_address = dev_addr;
+ 465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_SetUSBAddress(pdev, dev_addr);
+ 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 467:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (dev_addr != 0)
+ 469:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED;
+ 471:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 472:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 473:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_DEFAULT;
+ 475:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 476:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 477:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 478:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 479:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 481:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 483:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 484:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 485:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetConfig
+ 486:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device configuration request
+ 487:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 488:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 489:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 490:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ ARM GAS /tmp/cc7AGXQS.s page 10
+
+
+ 491:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetConfig(USBD_HandleTypeDef *pdev ,
+ 492:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 494:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 495:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t cfgidx;
+ 496:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** cfgidx = (uint8_t)(req->wValue);
+ 498:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx > USBD_MAX_NUM_CONFIGURATION )
+ 500:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 502:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 503:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 504:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 506:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 507:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx)
+ 509:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
+ 511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_CONFIGURED;
+ 512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
+ 513:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 516:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 518:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 519:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 520:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 522:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 523:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 524:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 525:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (cfgidx == 0)
+ 527:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_ADDRESSED;
+ 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
+ 530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , cfgidx);
+ 531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 532:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 533:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else if (cfgidx != pdev->dev_config)
+ 535:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 536:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* Clear old configuration */
+ 537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , pdev->dev_config);
+ 538:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 539:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /* set new configuration */
+ 540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
+ 541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
+ 542:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 545:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 547:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ ARM GAS /tmp/cc7AGXQS.s page 11
+
+
+ 548:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 549:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 551:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 552:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 553:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 554:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 557:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 558:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 560:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 561:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 562:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetConfig
+ 563:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get device configuration request
+ 564:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 565:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 566:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 567:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 568:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetConfig(USBD_HandleTypeDef *pdev ,
+ 569:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 571:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wLength != 1)
+ 573:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 575:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 576:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** else
+ 577:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state )
+ 579:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 580:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_default_config = 0;
+ 582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_default_config,
+ 584:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
+ 585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 586:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 587:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 588:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_config,
+ 591:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
+ 592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 593:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 594:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default:
+ 595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 596:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 597:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 598:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 600:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 601:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 602:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetStatus
+ 603:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Get Status request
+ 604:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ ARM GAS /tmp/cc7AGXQS.s page 12
+
+
+ 605:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 606:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 607:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 608:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_GetStatus(USBD_HandleTypeDef *pdev ,
+ 609:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 611:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 612:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 614:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 615:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 616:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 617:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 618:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #if ( USBD_SELF_POWERED == 1)
+ 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = USB_CONFIG_SELF_POWERED;
+ 620:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
+ 621:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status = 0;
+ 622:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
+ 623:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (pdev->dev_remote_wakeup)
+ 625:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP;
+ 627:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 628:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)& pdev->dev_config_status,
+ 631:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
+ 632:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 633:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 634:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default :
+ 635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 636:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 637:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 639:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 640:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 641:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 642:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_SetFeature
+ 643:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle Set device feature request
+ 644:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 645:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 646:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 647:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 648:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_SetFeature(USBD_HandleTypeDef *pdev ,
+ 649:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 651:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
+ 653:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 1;
+ 655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 657:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 658:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 660:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 661:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ ARM GAS /tmp/cc7AGXQS.s page 13
+
+
+ 662:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 663:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ClrFeature
+ 664:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle clear device feature request
+ 665:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 666:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 667:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval status
+ 668:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 669:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static void USBD_ClrFeature(USBD_HandleTypeDef *pdev ,
+ 670:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 673:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 674:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_ADDRESSED:
+ 675:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** case USBD_STATE_CONFIGURED:
+ 676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (req->wValue == USB_FEATURE_REMOTE_WAKEUP)
+ 677:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_remote_wakeup = 0;
+ 679:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 680:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 681:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 682:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 683:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 684:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** default :
+ 685:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlError(pdev , req);
+ 686:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 687:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 689:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 690:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 691:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_ParseSetupRequest
+ 692:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Copy buffer into setup structure
+ 693:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 694:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 695:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
+ 696:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 697:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 698:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata)
+ 699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 700:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bmRequest = *(uint8_t *) (pdata);
+ 701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bRequest = *(uint8_t *) (pdata + 1);
+ 702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wValue = SWAPBYTE (pdata + 2);
+ 703:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wIndex = SWAPBYTE (pdata + 4);
+ 704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wLength = SWAPBYTE (pdata + 6);
+ 705:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 706:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 707:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 708:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 709:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_CtlError
+ 710:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Handle USB low level Error
+ 711:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param pdev: device instance
+ 712:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param req: usb request
+ 713:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
+ 714:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 715:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 716:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_CtlError( USBD_HandleTypeDef *pdev ,
+ 717:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_SetupReqTypedef *req)
+ 718:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ ARM GAS /tmp/cc7AGXQS.s page 14
+
+
+ 719:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0x80);
+ 720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0);
+ 721:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 722:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 723:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 724:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 725:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetString
+ 726:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * Convert Ascii string into unicode one
+ 727:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param desc : descriptor buffer
+ 728:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param unicode : Formatted string buffer (unicode)
+ 729:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param len : descriptor length
+ 730:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval None
+ 731:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 732:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len)
+ 733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 734:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx = 0;
+ 735:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 736:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if (desc != NULL)
+ 737:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** *len = USBD_GetLen(desc) * 2 + 2;
+ 739:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *len;
+ 740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = USB_DESC_TYPE_STRING;
+ 741:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*desc != '\0')
+ 743:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 744:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *desc++;
+ 745:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = 0x00;
+ 746:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 747:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 748:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 749:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 750:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 751:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @brief USBD_GetLen
+ 752:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * return the string length
+ 753:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @param buf : pointer to the ascii string buffer
+ 754:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** * @retval string length
+ 755:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** */
+ 756:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** static uint8_t USBD_GetLen(uint8_t *buf)
+ 757:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 25 .loc 1 757 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 @ link register save eliminated.
+ 30 .LVL0:
+ 31 0000 0300 movs r3, r0
+ 32 .LVL1:
+ 758:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t len = 0;
+ 33 .loc 1 758 0
+ 34 0002 0020 movs r0, #0
+ 35 .LVL2:
+ 759:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 760:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** while (*buf != '\0')
+ 36 .loc 1 760 0
+ 37 0004 02E0 b .L2
+ 38 .LVL3:
+ 39 .L3:
+ ARM GAS /tmp/cc7AGXQS.s page 15
+
+
+ 761:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 762:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** len++;
+ 40 .loc 1 762 0
+ 41 0006 0130 adds r0, r0, #1
+ 42 .LVL4:
+ 43 0008 C0B2 uxtb r0, r0
+ 44 .LVL5:
+ 763:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** buf++;
+ 45 .loc 1 763 0
+ 46 000a 0133 adds r3, r3, #1
+ 47 .LVL6:
+ 48 .L2:
+ 760:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 49 .loc 1 760 0
+ 50 000c 1A78 ldrb r2, [r3]
+ 51 000e 002A cmp r2, #0
+ 52 0010 F9D1 bne .L3
+ 764:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 765:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 766:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return len;
+ 767:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 53 .loc 1 767 0
+ 54 @ sp needed
+ 55 0012 7047 bx lr
+ 56 .cfi_endproc
+ 57 .LFE56:
+ 59 .section .text.USBD_SetFeature,"ax",%progbits
+ 60 .align 1
+ 61 .syntax unified
+ 62 .code 16
+ 63 .thumb_func
+ 64 .fpu softvfp
+ 66 USBD_SetFeature:
+ 67 .LFB51:
+ 650:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 68 .loc 1 650 0
+ 69 .cfi_startproc
+ 70 @ args = 0, pretend = 0, frame = 0
+ 71 @ frame_needed = 0, uses_anonymous_args = 0
+ 72 .LVL7:
+ 73 0000 10B5 push {r4, lr}
+ 74 .LCFI0:
+ 75 .cfi_def_cfa_offset 8
+ 76 .cfi_offset 4, -8
+ 77 .cfi_offset 14, -4
+ 78 0002 0400 movs r4, r0
+ 652:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 79 .loc 1 652 0
+ 80 0004 4B88 ldrh r3, [r1, #2]
+ 81 0006 012B cmp r3, #1
+ 82 0008 0AD1 bne .L4
+ 654:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 83 .loc 1 654 0
+ 84 000a 8123 movs r3, #129
+ 85 000c 9B00 lsls r3, r3, #2
+ 86 000e 0122 movs r2, #1
+ 87 0010 C250 str r2, [r0, r3]
+ ARM GAS /tmp/cc7AGXQS.s page 16
+
+
+ 655:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 88 .loc 1 655 0
+ 89 0012 1033 adds r3, r3, #16
+ 90 0014 C358 ldr r3, [r0, r3]
+ 91 0016 9B68 ldr r3, [r3, #8]
+ 92 0018 9847 blx r3
+ 93 .LVL8:
+ 656:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 94 .loc 1 656 0
+ 95 001a 2000 movs r0, r4
+ 96 001c FFF7FEFF bl USBD_CtlSendStatus
+ 97 .LVL9:
+ 98 .L4:
+ 659:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 99 .loc 1 659 0
+ 100 @ sp needed
+ 101 .LVL10:
+ 102 0020 10BD pop {r4, pc}
+ 103 .cfi_endproc
+ 104 .LFE51:
+ 106 .section .text.USBD_ParseSetupRequest,"ax",%progbits
+ 107 .align 1
+ 108 .global USBD_ParseSetupRequest
+ 109 .syntax unified
+ 110 .code 16
+ 111 .thumb_func
+ 112 .fpu softvfp
+ 114 USBD_ParseSetupRequest:
+ 115 .LFB53:
+ 699:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bmRequest = *(uint8_t *) (pdata);
+ 116 .loc 1 699 0
+ 117 .cfi_startproc
+ 118 @ args = 0, pretend = 0, frame = 0
+ 119 @ frame_needed = 0, uses_anonymous_args = 0
+ 120 @ link register save eliminated.
+ 121 .LVL11:
+ 700:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->bRequest = *(uint8_t *) (pdata + 1);
+ 122 .loc 1 700 0
+ 123 0000 0B78 ldrb r3, [r1]
+ 124 0002 0370 strb r3, [r0]
+ 701:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wValue = SWAPBYTE (pdata + 2);
+ 125 .loc 1 701 0
+ 126 0004 4B78 ldrb r3, [r1, #1]
+ 127 0006 4370 strb r3, [r0, #1]
+ 702:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wIndex = SWAPBYTE (pdata + 4);
+ 128 .loc 1 702 0
+ 129 0008 8B78 ldrb r3, [r1, #2]
+ 130 000a CA78 ldrb r2, [r1, #3]
+ 131 000c 1202 lsls r2, r2, #8
+ 132 000e 9B18 adds r3, r3, r2
+ 133 0010 4380 strh r3, [r0, #2]
+ 703:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** req->wLength = SWAPBYTE (pdata + 6);
+ 134 .loc 1 703 0
+ 135 0012 0B79 ldrb r3, [r1, #4]
+ 136 0014 4A79 ldrb r2, [r1, #5]
+ 137 0016 1202 lsls r2, r2, #8
+ 138 0018 9B18 adds r3, r3, r2
+ ARM GAS /tmp/cc7AGXQS.s page 17
+
+
+ 139 001a 8380 strh r3, [r0, #4]
+ 704:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 140 .loc 1 704 0
+ 141 001c 8B79 ldrb r3, [r1, #6]
+ 142 001e CA79 ldrb r2, [r1, #7]
+ 143 0020 1202 lsls r2, r2, #8
+ 144 0022 9B18 adds r3, r3, r2
+ 145 0024 C380 strh r3, [r0, #6]
+ 706:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 146 .loc 1 706 0
+ 147 @ sp needed
+ 148 0026 7047 bx lr
+ 149 .cfi_endproc
+ 150 .LFE53:
+ 152 .section .text.USBD_CtlError,"ax",%progbits
+ 153 .align 1
+ 154 .global USBD_CtlError
+ 155 .syntax unified
+ 156 .code 16
+ 157 .thumb_func
+ 158 .fpu softvfp
+ 160 USBD_CtlError:
+ 161 .LFB54:
+ 718:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0x80);
+ 162 .loc 1 718 0
+ 163 .cfi_startproc
+ 164 @ args = 0, pretend = 0, frame = 0
+ 165 @ frame_needed = 0, uses_anonymous_args = 0
+ 166 .LVL12:
+ 167 0000 10B5 push {r4, lr}
+ 168 .LCFI1:
+ 169 .cfi_def_cfa_offset 8
+ 170 .cfi_offset 4, -8
+ 171 .cfi_offset 14, -4
+ 172 0002 0400 movs r4, r0
+ 719:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_StallEP(pdev , 0);
+ 173 .loc 1 719 0
+ 174 0004 8021 movs r1, #128
+ 175 .LVL13:
+ 176 0006 FFF7FEFF bl USBD_LL_StallEP
+ 177 .LVL14:
+ 720:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 178 .loc 1 720 0
+ 179 000a 0021 movs r1, #0
+ 180 000c 2000 movs r0, r4
+ 181 000e FFF7FEFF bl USBD_LL_StallEP
+ 182 .LVL15:
+ 721:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 183 .loc 1 721 0
+ 184 @ sp needed
+ 185 .LVL16:
+ 186 0012 10BD pop {r4, pc}
+ 187 .cfi_endproc
+ 188 .LFE54:
+ 190 .section .text.USBD_GetDescriptor,"ax",%progbits
+ 191 .align 1
+ 192 .syntax unified
+ ARM GAS /tmp/cc7AGXQS.s page 18
+
+
+ 193 .code 16
+ 194 .thumb_func
+ 195 .fpu softvfp
+ 197 USBD_GetDescriptor:
+ 198 .LFB46:
+ 333:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint16_t len;
+ 199 .loc 1 333 0
+ 200 .cfi_startproc
+ 201 @ args = 0, pretend = 0, frame = 8
+ 202 @ frame_needed = 0, uses_anonymous_args = 0
+ 203 .LVL17:
+ 204 0000 30B5 push {r4, r5, lr}
+ 205 .LCFI2:
+ 206 .cfi_def_cfa_offset 12
+ 207 .cfi_offset 4, -12
+ 208 .cfi_offset 5, -8
+ 209 .cfi_offset 14, -4
+ 210 0002 83B0 sub sp, sp, #12
+ 211 .LCFI3:
+ 212 .cfi_def_cfa_offset 24
+ 213 0004 0400 movs r4, r0
+ 214 0006 0D00 movs r5, r1
+ 338:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 215 .loc 1 338 0
+ 216 0008 4A88 ldrh r2, [r1, #2]
+ 217 000a 130A lsrs r3, r2, #8
+ 218 000c 072B cmp r3, #7
+ 219 000e 00D9 bls .LCB168
+ 220 0010 8EE0 b .L9 @long jump
+ 221 .LCB168:
+ 222 0012 9B00 lsls r3, r3, #2
+ 223 0014 4F49 ldr r1, .L33
+ 224 .LVL18:
+ 225 0016 CB58 ldr r3, [r1, r3]
+ 226 0018 9F46 mov pc, r3
+ 227 .section .rodata.USBD_GetDescriptor,"a",%progbits
+ 228 .align 2
+ 229 .L11:
+ 230 0000 30010000 .word .L9
+ 231 0004 1A000000 .word .L10
+ 232 0008 40000000 .word .L12
+ 233 000c 6E000000 .word .L13
+ 234 0010 30010000 .word .L9
+ 235 0014 30010000 .word .L9
+ 236 0018 F0000000 .word .L14
+ 237 001c 0E010000 .word .L15
+ 238 .section .text.USBD_GetDescriptor
+ 239 .L10:
+ 346:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 240 .loc 1 346 0
+ 241 001a 8423 movs r3, #132
+ 242 001c 9B00 lsls r3, r3, #2
+ 243 001e C358 ldr r3, [r0, r3]
+ 244 0020 1B68 ldr r3, [r3]
+ 245 0022 007C ldrb r0, [r0, #16]
+ 246 .LVL19:
+ 247 0024 6A46 mov r2, sp
+ ARM GAS /tmp/cc7AGXQS.s page 19
+
+
+ 248 0026 911D adds r1, r2, #6
+ 249 0028 9847 blx r3
+ 250 .LVL20:
+ 251 .L16:
+ 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 252 .loc 1 430 0
+ 253 002a 6B46 mov r3, sp
+ 254 002c 0633 adds r3, r3, #6
+ 255 002e 1B88 ldrh r3, [r3]
+ 256 0030 002B cmp r3, #0
+ 257 0032 03D0 beq .L8
+ 430:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 258 .loc 1 430 0 is_stmt 0 discriminator 1
+ 259 0034 EA88 ldrh r2, [r5, #6]
+ 260 0036 002A cmp r2, #0
+ 261 0038 00D0 beq .LCB205
+ 262 003a 7EE0 b .L32 @long jump
+ 263 .LCB205:
+ 264 .LVL21:
+ 265 .L8:
+ 440:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 266 .loc 1 440 0 is_stmt 1
+ 267 003c 03B0 add sp, sp, #12
+ 268 @ sp needed
+ 269 .LVL22:
+ 270 .LVL23:
+ 271 003e 30BD pop {r4, r5, pc}
+ 272 .LVL24:
+ 273 .L12:
+ 350:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 274 .loc 1 350 0
+ 275 0040 037C ldrb r3, [r0, #16]
+ 276 0042 002B cmp r3, #0
+ 277 0044 09D1 bne .L17
+ 352:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ 278 .loc 1 352 0
+ 279 0046 8523 movs r3, #133
+ 280 0048 9B00 lsls r3, r3, #2
+ 281 004a C358 ldr r3, [r0, r3]
+ 282 004c 9B6A ldr r3, [r3, #40]
+ 283 004e 6A46 mov r2, sp
+ 284 0050 901D adds r0, r2, #6
+ 285 .LVL25:
+ 286 0052 9847 blx r3
+ 287 .LVL26:
+ 353:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 288 .loc 1 353 0
+ 289 0054 0223 movs r3, #2
+ 290 0056 4370 strb r3, [r0, #1]
+ 291 0058 E7E7 b .L16
+ 292 .LVL27:
+ 293 .L17:
+ 357:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_CONFIGURATION;
+ 294 .loc 1 357 0
+ 295 005a 8523 movs r3, #133
+ 296 005c 9B00 lsls r3, r3, #2
+ 297 005e C358 ldr r3, [r0, r3]
+ ARM GAS /tmp/cc7AGXQS.s page 20
+
+
+ 298 0060 DB6A ldr r3, [r3, #44]
+ 299 0062 6A46 mov r2, sp
+ 300 0064 901D adds r0, r2, #6
+ 301 .LVL28:
+ 302 0066 9847 blx r3
+ 303 .LVL29:
+ 358:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 304 .loc 1 358 0
+ 305 0068 0223 movs r3, #2
+ 306 006a 4370 strb r3, [r0, #1]
+ 307 006c DDE7 b .L16
+ 308 .LVL30:
+ 309 .L13:
+ 363:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 310 .loc 1 363 0
+ 311 006e D2B2 uxtb r2, r2
+ 312 0070 052A cmp r2, #5
+ 313 0072 39D8 bhi .L18
+ 314 0074 9200 lsls r2, r2, #2
+ 315 0076 384B ldr r3, .L33+4
+ 316 0078 9B58 ldr r3, [r3, r2]
+ 317 007a 9F46 mov pc, r3
+ 318 .section .rodata.USBD_GetDescriptor
+ 319 .align 2
+ 320 .L20:
+ 321 0020 7C000000 .word .L19
+ 322 0024 8E000000 .word .L21
+ 323 0028 A0000000 .word .L22
+ 324 002c B2000000 .word .L23
+ 325 0030 C4000000 .word .L24
+ 326 0034 D6000000 .word .L25
+ 327 .section .text.USBD_GetDescriptor
+ 328 .L19:
+ 366:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 329 .loc 1 366 0
+ 330 007c 8423 movs r3, #132
+ 331 007e 9B00 lsls r3, r3, #2
+ 332 0080 C358 ldr r3, [r0, r3]
+ 333 0082 5B68 ldr r3, [r3, #4]
+ 334 0084 007C ldrb r0, [r0, #16]
+ 335 .LVL31:
+ 336 0086 6A46 mov r2, sp
+ 337 0088 911D adds r1, r2, #6
+ 338 008a 9847 blx r3
+ 339 .LVL32:
+ 367:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 340 .loc 1 367 0
+ 341 008c CDE7 b .L16
+ 342 .LVL33:
+ 343 .L21:
+ 370:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 344 .loc 1 370 0
+ 345 008e 8423 movs r3, #132
+ 346 0090 9B00 lsls r3, r3, #2
+ 347 0092 C358 ldr r3, [r0, r3]
+ 348 0094 9B68 ldr r3, [r3, #8]
+ 349 0096 007C ldrb r0, [r0, #16]
+ ARM GAS /tmp/cc7AGXQS.s page 21
+
+
+ 350 .LVL34:
+ 351 0098 6A46 mov r2, sp
+ 352 009a 911D adds r1, r2, #6
+ 353 009c 9847 blx r3
+ 354 .LVL35:
+ 371:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 355 .loc 1 371 0
+ 356 009e C4E7 b .L16
+ 357 .LVL36:
+ 358 .L22:
+ 374:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 359 .loc 1 374 0
+ 360 00a0 8423 movs r3, #132
+ 361 00a2 9B00 lsls r3, r3, #2
+ 362 00a4 C358 ldr r3, [r0, r3]
+ 363 00a6 DB68 ldr r3, [r3, #12]
+ 364 00a8 007C ldrb r0, [r0, #16]
+ 365 .LVL37:
+ 366 00aa 6A46 mov r2, sp
+ 367 00ac 911D adds r1, r2, #6
+ 368 00ae 9847 blx r3
+ 369 .LVL38:
+ 375:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 370 .loc 1 375 0
+ 371 00b0 BBE7 b .L16
+ 372 .LVL39:
+ 373 .L23:
+ 378:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 374 .loc 1 378 0
+ 375 00b2 8423 movs r3, #132
+ 376 00b4 9B00 lsls r3, r3, #2
+ 377 00b6 C358 ldr r3, [r0, r3]
+ 378 00b8 1B69 ldr r3, [r3, #16]
+ 379 00ba 007C ldrb r0, [r0, #16]
+ 380 .LVL40:
+ 381 00bc 6A46 mov r2, sp
+ 382 00be 911D adds r1, r2, #6
+ 383 00c0 9847 blx r3
+ 384 .LVL41:
+ 379:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 385 .loc 1 379 0
+ 386 00c2 B2E7 b .L16
+ 387 .LVL42:
+ 388 .L24:
+ 382:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 389 .loc 1 382 0
+ 390 00c4 8423 movs r3, #132
+ 391 00c6 9B00 lsls r3, r3, #2
+ 392 00c8 C358 ldr r3, [r0, r3]
+ 393 00ca 5B69 ldr r3, [r3, #20]
+ 394 00cc 007C ldrb r0, [r0, #16]
+ 395 .LVL43:
+ 396 00ce 6A46 mov r2, sp
+ 397 00d0 911D adds r1, r2, #6
+ 398 00d2 9847 blx r3
+ 399 .LVL44:
+ 383:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ ARM GAS /tmp/cc7AGXQS.s page 22
+
+
+ 400 .loc 1 383 0
+ 401 00d4 A9E7 b .L16
+ 402 .LVL45:
+ 403 .L25:
+ 386:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 404 .loc 1 386 0
+ 405 00d6 8423 movs r3, #132
+ 406 00d8 9B00 lsls r3, r3, #2
+ 407 00da C358 ldr r3, [r0, r3]
+ 408 00dc 9B69 ldr r3, [r3, #24]
+ 409 00de 007C ldrb r0, [r0, #16]
+ 410 .LVL46:
+ 411 00e0 6A46 mov r2, sp
+ 412 00e2 911D adds r1, r2, #6
+ 413 00e4 9847 blx r3
+ 414 .LVL47:
+ 387:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 415 .loc 1 387 0
+ 416 00e6 A0E7 b .L16
+ 417 .LVL48:
+ 418 .L18:
+ 394:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 419 .loc 1 394 0
+ 420 00e8 2900 movs r1, r5
+ 421 00ea FFF7FEFF bl USBD_CtlError
+ 422 .LVL49:
+ 395:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #endif
+ 423 .loc 1 395 0
+ 424 00ee A5E7 b .L8
+ 425 .LVL50:
+ 426 .L14:
+ 401:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 427 .loc 1 401 0
+ 428 00f0 037C ldrb r3, [r0, #16]
+ 429 00f2 002B cmp r3, #0
+ 430 00f4 07D1 bne .L27
+ 403:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 431 .loc 1 403 0
+ 432 00f6 8523 movs r3, #133
+ 433 00f8 9B00 lsls r3, r3, #2
+ 434 00fa C358 ldr r3, [r0, r3]
+ 435 00fc 5B6B ldr r3, [r3, #52]
+ 436 00fe 6A46 mov r2, sp
+ 437 0100 901D adds r0, r2, #6
+ 438 .LVL51:
+ 439 0102 9847 blx r3
+ 440 .LVL52:
+ 404:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 441 .loc 1 404 0
+ 442 0104 91E7 b .L16
+ 443 .LVL53:
+ 444 .L27:
+ 408:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 445 .loc 1 408 0
+ 446 0106 2900 movs r1, r5
+ 447 0108 FFF7FEFF bl USBD_CtlError
+ 448 .LVL54:
+ ARM GAS /tmp/cc7AGXQS.s page 23
+
+
+ 409:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 449 .loc 1 409 0
+ 450 010c 96E7 b .L8
+ 451 .LVL55:
+ 452 .L15:
+ 413:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 453 .loc 1 413 0
+ 454 010e 037C ldrb r3, [r0, #16]
+ 455 0110 002B cmp r3, #0
+ 456 0112 09D1 bne .L28
+ 415:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION;
+ 457 .loc 1 415 0
+ 458 0114 8523 movs r3, #133
+ 459 0116 9B00 lsls r3, r3, #2
+ 460 0118 C358 ldr r3, [r0, r3]
+ 461 011a 1B6B ldr r3, [r3, #48]
+ 462 011c 6A46 mov r2, sp
+ 463 011e 901D adds r0, r2, #6
+ 464 .LVL56:
+ 465 0120 9847 blx r3
+ 466 .LVL57:
+ 416:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 467 .loc 1 416 0
+ 468 0122 0723 movs r3, #7
+ 469 0124 4370 strb r3, [r0, #1]
+ 417:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 470 .loc 1 417 0
+ 471 0126 80E7 b .L16
+ 472 .LVL58:
+ 473 .L28:
+ 421:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 474 .loc 1 421 0
+ 475 0128 2900 movs r1, r5
+ 476 012a FFF7FEFF bl USBD_CtlError
+ 477 .LVL59:
+ 422:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 478 .loc 1 422 0
+ 479 012e 85E7 b .L8
+ 480 .LVL60:
+ 481 .L9:
+ 426:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 482 .loc 1 426 0
+ 483 0130 2900 movs r1, r5
+ 484 0132 2000 movs r0, r4
+ 485 .LVL61:
+ 486 0134 FFF7FEFF bl USBD_CtlError
+ 487 .LVL62:
+ 427:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 488 .loc 1 427 0
+ 489 0138 80E7 b .L8
+ 490 .LVL63:
+ 491 .L32:
+ 433:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 492 .loc 1 433 0
+ 493 013a 191C adds r1, r3, #0
+ 494 013c 9342 cmp r3, r2
+ 495 013e 00D9 bls .L30
+ ARM GAS /tmp/cc7AGXQS.s page 24
+
+
+ 496 0140 111C adds r1, r2, #0
+ 497 .L30:
+ 498 0142 8AB2 uxth r2, r1
+ 499 0144 6B46 mov r3, sp
+ 500 0146 D980 strh r1, [r3, #6]
+ 435:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pbuf,
+ 501 .loc 1 435 0
+ 502 0148 0100 movs r1, r0
+ 503 014a 2000 movs r0, r4
+ 504 .LVL64:
+ 505 014c FFF7FEFF bl USBD_CtlSendData
+ 506 .LVL65:
+ 507 0150 74E7 b .L8
+ 508 .L34:
+ 509 0152 C046 .align 2
+ 510 .L33:
+ 511 0154 00000000 .word .L11
+ 512 0158 20000000 .word .L20
+ 513 .cfi_endproc
+ 514 .LFE46:
+ 516 .section .text.USBD_SetAddress,"ax",%progbits
+ 517 .align 1
+ 518 .syntax unified
+ 519 .code 16
+ 520 .thumb_func
+ 521 .fpu softvfp
+ 523 USBD_SetAddress:
+ 524 .LFB47:
+ 451:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t dev_addr;
+ 525 .loc 1 451 0
+ 526 .cfi_startproc
+ 527 @ args = 0, pretend = 0, frame = 0
+ 528 @ frame_needed = 0, uses_anonymous_args = 0
+ 529 .LVL66:
+ 530 0000 70B5 push {r4, r5, r6, lr}
+ 531 .LCFI4:
+ 532 .cfi_def_cfa_offset 16
+ 533 .cfi_offset 4, -16
+ 534 .cfi_offset 5, -12
+ 535 .cfi_offset 6, -8
+ 536 .cfi_offset 14, -4
+ 537 0002 0400 movs r4, r0
+ 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 538 .loc 1 454 0
+ 539 0004 8B88 ldrh r3, [r1, #4]
+ 540 0006 002B cmp r3, #0
+ 541 0008 22D1 bne .L36
+ 454:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 542 .loc 1 454 0 is_stmt 0 discriminator 1
+ 543 000a CB88 ldrh r3, [r1, #6]
+ 544 000c 002B cmp r3, #0
+ 545 000e 1FD1 bne .L36
+ 456:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 546 .loc 1 456 0 is_stmt 1
+ 547 0010 8B78 ldrb r3, [r1, #2]
+ 548 0012 7F25 movs r5, #127
+ 549 0014 1D40 ands r5, r3
+ ARM GAS /tmp/cc7AGXQS.s page 25
+
+
+ 550 .LVL67:
+ 458:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 551 .loc 1 458 0
+ 552 0016 FE23 movs r3, #254
+ 553 0018 5B00 lsls r3, r3, #1
+ 554 001a C35C ldrb r3, [r0, r3]
+ 555 001c 032B cmp r3, #3
+ 556 001e 0FD0 beq .L40
+ 464:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_LL_SetUSBAddress(pdev, dev_addr);
+ 557 .loc 1 464 0
+ 558 0020 FF23 movs r3, #255
+ 559 0022 5B00 lsls r3, r3, #1
+ 560 0024 C554 strb r5, [r0, r3]
+ 465:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 561 .loc 1 465 0
+ 562 0026 2900 movs r1, r5
+ 563 .LVL68:
+ 564 0028 FFF7FEFF bl USBD_LL_SetUSBAddress
+ 565 .LVL69:
+ 466:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 566 .loc 1 466 0
+ 567 002c 2000 movs r0, r4
+ 568 002e FFF7FEFF bl USBD_CtlSendStatus
+ 569 .LVL70:
+ 468:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 570 .loc 1 468 0
+ 571 0032 002D cmp r5, #0
+ 572 0034 07D0 beq .L39
+ 470:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 573 .loc 1 470 0
+ 574 0036 FE23 movs r3, #254
+ 575 0038 5B00 lsls r3, r3, #1
+ 576 003a 0222 movs r2, #2
+ 577 003c E254 strb r2, [r4, r3]
+ 578 003e 0AE0 b .L35
+ 579 .LVL71:
+ 580 .L40:
+ 460:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 581 .loc 1 460 0
+ 582 0040 FFF7FEFF bl USBD_CtlError
+ 583 .LVL72:
+ 584 0044 07E0 b .L35
+ 585 .L39:
+ 474:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 586 .loc 1 474 0
+ 587 0046 FE23 movs r3, #254
+ 588 0048 5B00 lsls r3, r3, #1
+ 589 004a 0122 movs r2, #1
+ 590 004c E254 strb r2, [r4, r3]
+ 591 004e 02E0 b .L35
+ 592 .LVL73:
+ 593 .L36:
+ 480:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 594 .loc 1 480 0
+ 595 0050 2000 movs r0, r4
+ 596 .LVL74:
+ 597 0052 FFF7FEFF bl USBD_CtlError
+ ARM GAS /tmp/cc7AGXQS.s page 26
+
+
+ 598 .LVL75:
+ 599 .L35:
+ 482:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 600 .loc 1 482 0
+ 601 @ sp needed
+ 602 .LVL76:
+ 603 0056 70BD pop {r4, r5, r6, pc}
+ 604 .cfi_endproc
+ 605 .LFE47:
+ 607 .section .text.USBD_SetConfig,"ax",%progbits
+ 608 .align 1
+ 609 .syntax unified
+ 610 .code 16
+ 611 .thumb_func
+ 612 .fpu softvfp
+ 614 USBD_SetConfig:
+ 615 .LFB48:
+ 493:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 616 .loc 1 493 0
+ 617 .cfi_startproc
+ 618 @ args = 0, pretend = 0, frame = 0
+ 619 @ frame_needed = 0, uses_anonymous_args = 0
+ 620 .LVL77:
+ 621 0000 70B5 push {r4, r5, r6, lr}
+ 622 .LCFI5:
+ 623 .cfi_def_cfa_offset 16
+ 624 .cfi_offset 4, -16
+ 625 .cfi_offset 5, -12
+ 626 .cfi_offset 6, -8
+ 627 .cfi_offset 14, -4
+ 628 0002 0400 movs r4, r0
+ 629 0004 0D00 movs r5, r1
+ 497:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 630 .loc 1 497 0
+ 631 0006 8978 ldrb r1, [r1, #2]
+ 632 .LVL78:
+ 633 0008 284B ldr r3, .L57
+ 634 000a 1970 strb r1, [r3]
+ 499:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 635 .loc 1 499 0
+ 636 000c 0129 cmp r1, #1
+ 637 000e 0AD8 bhi .L53
+ 505:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 638 .loc 1 505 0
+ 639 0010 FE23 movs r3, #254
+ 640 0012 5B00 lsls r3, r3, #1
+ 641 0014 C35C ldrb r3, [r0, r3]
+ 642 0016 022B cmp r3, #2
+ 643 0018 09D0 beq .L45
+ 644 001a 032B cmp r3, #3
+ 645 001c 1ED0 beq .L46
+ 555:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 646 .loc 1 555 0
+ 647 001e 2900 movs r1, r5
+ 648 0020 FFF7FEFF bl USBD_CtlError
+ 649 .LVL79:
+ 556:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ ARM GAS /tmp/cc7AGXQS.s page 27
+
+
+ 650 .loc 1 556 0
+ 651 0024 02E0 b .L41
+ 652 .LVL80:
+ 653 .L53:
+ 501:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 654 .loc 1 501 0
+ 655 0026 2900 movs r1, r5
+ 656 0028 FFF7FEFF bl USBD_CtlError
+ 657 .LVL81:
+ 658 .L41:
+ 559:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 659 .loc 1 559 0
+ 660 @ sp needed
+ 661 .LVL82:
+ 662 .LVL83:
+ 663 002c 70BD pop {r4, r5, r6, pc}
+ 664 .LVL84:
+ 665 .L45:
+ 508:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 666 .loc 1 508 0
+ 667 002e 0029 cmp r1, #0
+ 668 0030 11D0 beq .L47
+ 510:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_state = USBD_STATE_CONFIGURED;
+ 669 .loc 1 510 0
+ 670 0032 4160 str r1, [r0, #4]
+ 511:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
+ 671 .loc 1 511 0
+ 672 0034 FE23 movs r3, #254
+ 673 0036 5B00 lsls r3, r3, #1
+ 674 0038 0322 movs r2, #3
+ 675 003a C254 strb r2, [r0, r3]
+ 512:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 676 .loc 1 512 0
+ 677 003c FFF7FEFF bl USBD_SetClassConfig
+ 678 .LVL85:
+ 679 0040 0228 cmp r0, #2
+ 680 0042 03D0 beq .L54
+ 517:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 681 .loc 1 517 0
+ 682 0044 2000 movs r0, r4
+ 683 0046 FFF7FEFF bl USBD_CtlSendStatus
+ 684 .LVL86:
+ 685 004a EFE7 b .L41
+ 686 .L54:
+ 514:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 687 .loc 1 514 0
+ 688 004c 2900 movs r1, r5
+ 689 004e 2000 movs r0, r4
+ 690 0050 FFF7FEFF bl USBD_CtlError
+ 691 .LVL87:
+ 515:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 692 .loc 1 515 0
+ 693 0054 EAE7 b .L41
+ 694 .LVL88:
+ 695 .L47:
+ 521:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 696 .loc 1 521 0
+ ARM GAS /tmp/cc7AGXQS.s page 28
+
+
+ 697 0056 FFF7FEFF bl USBD_CtlSendStatus
+ 698 .LVL89:
+ 699 005a E7E7 b .L41
+ 700 .LVL90:
+ 701 .L46:
+ 526:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 702 .loc 1 526 0
+ 703 005c 0029 cmp r1, #0
+ 704 005e 11D0 beq .L55
+ 534:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 705 .loc 1 534 0
+ 706 0060 4368 ldr r3, [r0, #4]
+ 707 0062 9942 cmp r1, r3
+ 708 0064 1ED0 beq .L50
+ 537:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 709 .loc 1 537 0
+ 710 0066 D9B2 uxtb r1, r3
+ 711 0068 FFF7FEFF bl USBD_ClrClassConfig
+ 712 .LVL91:
+ 540:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_SetClassConfig(pdev , cfgidx) == USBD_FAIL)
+ 713 .loc 1 540 0
+ 714 006c 0F4B ldr r3, .L57
+ 715 006e 1978 ldrb r1, [r3]
+ 716 0070 6160 str r1, [r4, #4]
+ 541:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 717 .loc 1 541 0
+ 718 0072 2000 movs r0, r4
+ 719 0074 FFF7FEFF bl USBD_SetClassConfig
+ 720 .LVL92:
+ 721 0078 0228 cmp r0, #2
+ 722 007a 0ED0 beq .L56
+ 546:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 723 .loc 1 546 0
+ 724 007c 2000 movs r0, r4
+ 725 007e FFF7FEFF bl USBD_CtlSendStatus
+ 726 .LVL93:
+ 727 0082 D3E7 b .L41
+ 728 .LVL94:
+ 729 .L55:
+ 528:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->dev_config = cfgidx;
+ 730 .loc 1 528 0
+ 731 0084 FE23 movs r3, #254
+ 732 0086 5B00 lsls r3, r3, #1
+ 733 0088 0222 movs r2, #2
+ 734 008a C254 strb r2, [r0, r3]
+ 529:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_ClrClassConfig(pdev , cfgidx);
+ 735 .loc 1 529 0
+ 736 008c 4160 str r1, [r0, #4]
+ 530:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 737 .loc 1 530 0
+ 738 008e FFF7FEFF bl USBD_ClrClassConfig
+ 739 .LVL95:
+ 531:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 740 .loc 1 531 0
+ 741 0092 2000 movs r0, r4
+ 742 0094 FFF7FEFF bl USBD_CtlSendStatus
+ 743 .LVL96:
+ ARM GAS /tmp/cc7AGXQS.s page 29
+
+
+ 744 0098 C8E7 b .L41
+ 745 .L56:
+ 543:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** return;
+ 746 .loc 1 543 0
+ 747 009a 2900 movs r1, r5
+ 748 009c 2000 movs r0, r4
+ 749 009e FFF7FEFF bl USBD_CtlError
+ 750 .LVL97:
+ 544:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 751 .loc 1 544 0
+ 752 00a2 C3E7 b .L41
+ 753 .LVL98:
+ 754 .L50:
+ 550:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 755 .loc 1 550 0
+ 756 00a4 FFF7FEFF bl USBD_CtlSendStatus
+ 757 .LVL99:
+ 758 00a8 C0E7 b .L41
+ 759 .L58:
+ 760 00aa C046 .align 2
+ 761 .L57:
+ 762 00ac 00000000 .word .LANCHOR0
+ 763 .cfi_endproc
+ 764 .LFE48:
+ 766 .section .text.USBD_GetConfig,"ax",%progbits
+ 767 .align 1
+ 768 .syntax unified
+ 769 .code 16
+ 770 .thumb_func
+ 771 .fpu softvfp
+ 773 USBD_GetConfig:
+ 774 .LFB49:
+ 570:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 775 .loc 1 570 0
+ 776 .cfi_startproc
+ 777 @ args = 0, pretend = 0, frame = 0
+ 778 @ frame_needed = 0, uses_anonymous_args = 0
+ 779 .LVL100:
+ 780 0000 10B5 push {r4, lr}
+ 781 .LCFI6:
+ 782 .cfi_def_cfa_offset 8
+ 783 .cfi_offset 4, -8
+ 784 .cfi_offset 14, -4
+ 572:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 785 .loc 1 572 0
+ 786 0002 CB88 ldrh r3, [r1, #6]
+ 787 0004 012B cmp r3, #1
+ 788 0006 09D1 bne .L66
+ 578:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 789 .loc 1 578 0
+ 790 0008 FE23 movs r3, #254
+ 791 000a 5B00 lsls r3, r3, #1
+ 792 000c C35C ldrb r3, [r0, r3]
+ 793 000e 022B cmp r3, #2
+ 794 0010 07D0 beq .L63
+ 795 0012 032B cmp r3, #3
+ 796 0014 0DD0 beq .L64
+ ARM GAS /tmp/cc7AGXQS.s page 30
+
+
+ 595:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 797 .loc 1 595 0
+ 798 0016 FFF7FEFF bl USBD_CtlError
+ 799 .LVL101:
+ 599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 800 .loc 1 599 0
+ 801 001a 01E0 b .L59
+ 802 .LVL102:
+ 803 .L66:
+ 574:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 804 .loc 1 574 0
+ 805 001c FFF7FEFF bl USBD_CtlError
+ 806 .LVL103:
+ 807 .L59:
+ 599:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 808 .loc 1 599 0
+ 809 @ sp needed
+ 810 0020 10BD pop {r4, pc}
+ 811 .LVL104:
+ 812 .L63:
+ 581:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendData (pdev,
+ 813 .loc 1 581 0
+ 814 0022 0023 movs r3, #0
+ 815 0024 8360 str r3, [r0, #8]
+ 583:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
+ 816 .loc 1 583 0
+ 817 0026 0100 movs r1, r0
+ 818 .LVL105:
+ 819 0028 0831 adds r1, r1, #8
+ 582:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_default_config,
+ 820 .loc 1 582 0
+ 821 002a 0122 movs r2, #1
+ 822 002c FFF7FEFF bl USBD_CtlSendData
+ 823 .LVL106:
+ 585:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 824 .loc 1 585 0
+ 825 0030 F6E7 b .L59
+ 826 .LVL107:
+ 827 .L64:
+ 590:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 1);
+ 828 .loc 1 590 0
+ 829 0032 011D adds r1, r0, #4
+ 830 .LVL108:
+ 589:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pdev->dev_config,
+ 831 .loc 1 589 0
+ 832 0034 0122 movs r2, #1
+ 833 0036 FFF7FEFF bl USBD_CtlSendData
+ 834 .LVL109:
+ 592:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 835 .loc 1 592 0
+ 836 003a F1E7 b .L59
+ 837 .cfi_endproc
+ 838 .LFE49:
+ 840 .section .text.USBD_GetStatus,"ax",%progbits
+ 841 .align 1
+ 842 .syntax unified
+ 843 .code 16
+ ARM GAS /tmp/cc7AGXQS.s page 31
+
+
+ 844 .thumb_func
+ 845 .fpu softvfp
+ 847 USBD_GetStatus:
+ 848 .LFB50:
+ 610:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 849 .loc 1 610 0
+ 850 .cfi_startproc
+ 851 @ args = 0, pretend = 0, frame = 0
+ 852 @ frame_needed = 0, uses_anonymous_args = 0
+ 853 .LVL110:
+ 854 0000 10B5 push {r4, lr}
+ 855 .LCFI7:
+ 856 .cfi_def_cfa_offset 8
+ 857 .cfi_offset 4, -8
+ 858 .cfi_offset 14, -4
+ 613:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 859 .loc 1 613 0
+ 860 0002 FE23 movs r3, #254
+ 861 0004 5B00 lsls r3, r3, #1
+ 862 0006 C35C ldrb r3, [r0, r3]
+ 863 0008 023B subs r3, r3, #2
+ 864 000a DBB2 uxtb r3, r3
+ 865 000c 012B cmp r3, #1
+ 866 000e 0ED8 bhi .L68
+ 619:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** #else
+ 867 .loc 1 619 0
+ 868 0010 0123 movs r3, #1
+ 869 0012 C360 str r3, [r0, #12]
+ 624:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 870 .loc 1 624 0
+ 871 0014 8123 movs r3, #129
+ 872 0016 9B00 lsls r3, r3, #2
+ 873 0018 C358 ldr r3, [r0, r3]
+ 874 001a 002B cmp r3, #0
+ 875 001c 01D0 beq .L70
+ 626:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 876 .loc 1 626 0
+ 877 001e 0323 movs r3, #3
+ 878 0020 C360 str r3, [r0, #12]
+ 879 .L70:
+ 630:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** 2);
+ 880 .loc 1 630 0
+ 881 0022 0100 movs r1, r0
+ 882 .LVL111:
+ 883 0024 0C31 adds r1, r1, #12
+ 629:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)& pdev->dev_config_status,
+ 884 .loc 1 629 0
+ 885 0026 0222 movs r2, #2
+ 886 0028 FFF7FEFF bl USBD_CtlSendData
+ 887 .LVL112:
+ 888 .L67:
+ 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 889 .loc 1 638 0
+ 890 @ sp needed
+ 891 002c 10BD pop {r4, pc}
+ 892 .LVL113:
+ 893 .L68:
+ ARM GAS /tmp/cc7AGXQS.s page 32
+
+
+ 635:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 894 .loc 1 635 0
+ 895 002e FFF7FEFF bl USBD_CtlError
+ 896 .LVL114:
+ 638:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 897 .loc 1 638 0
+ 898 0032 FBE7 b .L67
+ 899 .cfi_endproc
+ 900 .LFE50:
+ 902 .section .text.USBD_ClrFeature,"ax",%progbits
+ 903 .align 1
+ 904 .syntax unified
+ 905 .code 16
+ 906 .thumb_func
+ 907 .fpu softvfp
+ 909 USBD_ClrFeature:
+ 910 .LFB52:
+ 671:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** switch (pdev->dev_state)
+ 911 .loc 1 671 0
+ 912 .cfi_startproc
+ 913 @ args = 0, pretend = 0, frame = 0
+ 914 @ frame_needed = 0, uses_anonymous_args = 0
+ 915 .LVL115:
+ 916 0000 10B5 push {r4, lr}
+ 917 .LCFI8:
+ 918 .cfi_def_cfa_offset 8
+ 919 .cfi_offset 4, -8
+ 920 .cfi_offset 14, -4
+ 921 0002 0400 movs r4, r0
+ 672:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 922 .loc 1 672 0
+ 923 0004 FE23 movs r3, #254
+ 924 0006 5B00 lsls r3, r3, #1
+ 925 0008 C35C ldrb r3, [r0, r3]
+ 926 000a 023B subs r3, r3, #2
+ 927 000c DBB2 uxtb r3, r3
+ 928 000e 012B cmp r3, #1
+ 929 0010 0ED8 bhi .L73
+ 676:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 930 .loc 1 676 0
+ 931 0012 4B88 ldrh r3, [r1, #2]
+ 932 0014 012B cmp r3, #1
+ 933 0016 0AD1 bne .L72
+ 678:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 934 .loc 1 678 0
+ 935 0018 8123 movs r3, #129
+ 936 001a 9B00 lsls r3, r3, #2
+ 937 001c 0022 movs r2, #0
+ 938 001e C250 str r2, [r0, r3]
+ 679:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 939 .loc 1 679 0
+ 940 0020 1033 adds r3, r3, #16
+ 941 0022 C358 ldr r3, [r0, r3]
+ 942 0024 9B68 ldr r3, [r3, #8]
+ 943 0026 9847 blx r3
+ 944 .LVL116:
+ 680:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ ARM GAS /tmp/cc7AGXQS.s page 33
+
+
+ 945 .loc 1 680 0
+ 946 0028 2000 movs r0, r4
+ 947 002a FFF7FEFF bl USBD_CtlSendStatus
+ 948 .LVL117:
+ 949 .L72:
+ 688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 950 .loc 1 688 0
+ 951 @ sp needed
+ 952 .LVL118:
+ 953 002e 10BD pop {r4, pc}
+ 954 .LVL119:
+ 955 .L73:
+ 685:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 956 .loc 1 685 0
+ 957 0030 FFF7FEFF bl USBD_CtlError
+ 958 .LVL120:
+ 688:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 959 .loc 1 688 0
+ 960 0034 FBE7 b .L72
+ 961 .cfi_endproc
+ 962 .LFE52:
+ 964 .section .text.USBD_StdDevReq,"ax",%progbits
+ 965 .align 1
+ 966 .global USBD_StdDevReq
+ 967 .syntax unified
+ 968 .code 16
+ 969 .thumb_func
+ 970 .fpu softvfp
+ 972 USBD_StdDevReq:
+ 973 .LFB43:
+ 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
+ 974 .loc 1 120 0
+ 975 .cfi_startproc
+ 976 @ args = 0, pretend = 0, frame = 0
+ 977 @ frame_needed = 0, uses_anonymous_args = 0
+ 978 .LVL121:
+ 979 0000 10B5 push {r4, lr}
+ 980 .LCFI9:
+ 981 .cfi_def_cfa_offset 8
+ 982 .cfi_offset 4, -8
+ 983 .cfi_offset 14, -4
+ 984 .LVL122:
+ 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 985 .loc 1 123 0
+ 986 0002 4B78 ldrb r3, [r1, #1]
+ 987 0004 092B cmp r3, #9
+ 988 0006 19D8 bhi .L77
+ 989 0008 9B00 lsls r3, r3, #2
+ 990 000a 0E4A ldr r2, .L87
+ 991 000c D358 ldr r3, [r2, r3]
+ 992 000e 9F46 mov pc, r3
+ 993 .section .rodata.USBD_StdDevReq,"a",%progbits
+ 994 .align 2
+ 995 .L79:
+ 996 0000 2A000000 .word .L78
+ 997 0004 36000000 .word .L80
+ 998 0008 3C000000 .word .L77
+ ARM GAS /tmp/cc7AGXQS.s page 34
+
+
+ 999 000c 30000000 .word .L81
+ 1000 0010 3C000000 .word .L77
+ 1001 0014 18000000 .word .L82
+ 1002 0018 10000000 .word .L83
+ 1003 001c 3C000000 .word .L77
+ 1004 0020 24000000 .word .L84
+ 1005 0024 1E000000 .word .L85
+ 1006 .section .text.USBD_StdDevReq
+ 1007 .L83:
+ 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1008 .loc 1 127 0
+ 1009 0010 FFF7FEFF bl USBD_GetDescriptor
+ 1010 .LVL123:
+ 1011 .L86:
+ 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1012 .loc 1 161 0
+ 1013 0014 0020 movs r0, #0
+ 1014 @ sp needed
+ 1015 0016 10BD pop {r4, pc}
+ 1016 .LVL124:
+ 1017 .L82:
+ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1018 .loc 1 131 0
+ 1019 0018 FFF7FEFF bl USBD_SetAddress
+ 1020 .LVL125:
+ 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1021 .loc 1 132 0
+ 1022 001c FAE7 b .L86
+ 1023 .LVL126:
+ 1024 .L85:
+ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1025 .loc 1 135 0
+ 1026 001e FFF7FEFF bl USBD_SetConfig
+ 1027 .LVL127:
+ 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1028 .loc 1 136 0
+ 1029 0022 F7E7 b .L86
+ 1030 .LVL128:
+ 1031 .L84:
+ 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1032 .loc 1 139 0
+ 1033 0024 FFF7FEFF bl USBD_GetConfig
+ 1034 .LVL129:
+ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1035 .loc 1 140 0
+ 1036 0028 F4E7 b .L86
+ 1037 .LVL130:
+ 1038 .L78:
+ 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1039 .loc 1 143 0
+ 1040 002a FFF7FEFF bl USBD_GetStatus
+ 1041 .LVL131:
+ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1042 .loc 1 144 0
+ 1043 002e F1E7 b .L86
+ 1044 .LVL132:
+ 1045 .L81:
+ ARM GAS /tmp/cc7AGXQS.s page 35
+
+
+ 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1046 .loc 1 148 0
+ 1047 0030 FFF7FEFF bl USBD_SetFeature
+ 1048 .LVL133:
+ 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1049 .loc 1 149 0
+ 1050 0034 EEE7 b .L86
+ 1051 .LVL134:
+ 1052 .L80:
+ 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1053 .loc 1 152 0
+ 1054 0036 FFF7FEFF bl USBD_ClrFeature
+ 1055 .LVL135:
+ 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1056 .loc 1 153 0
+ 1057 003a EBE7 b .L86
+ 1058 .LVL136:
+ 1059 .L77:
+ 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1060 .loc 1 156 0
+ 1061 003c FFF7FEFF bl USBD_CtlError
+ 1062 .LVL137:
+ 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1063 .loc 1 157 0
+ 1064 0040 E8E7 b .L86
+ 1065 .L88:
+ 1066 0042 C046 .align 2
+ 1067 .L87:
+ 1068 0044 00000000 .word .L79
+ 1069 .cfi_endproc
+ 1070 .LFE43:
+ 1072 .section .text.USBD_StdItfReq,"ax",%progbits
+ 1073 .align 1
+ 1074 .global USBD_StdItfReq
+ 1075 .syntax unified
+ 1076 .code 16
+ 1077 .thumb_func
+ 1078 .fpu softvfp
+ 1080 USBD_StdItfReq:
+ 1081 .LFB44:
+ 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_StatusTypeDef ret = USBD_OK;
+ 1082 .loc 1 171 0
+ 1083 .cfi_startproc
+ 1084 @ args = 0, pretend = 0, frame = 0
+ 1085 @ frame_needed = 0, uses_anonymous_args = 0
+ 1086 .LVL138:
+ 1087 0000 70B5 push {r4, r5, r6, lr}
+ 1088 .LCFI10:
+ 1089 .cfi_def_cfa_offset 16
+ 1090 .cfi_offset 4, -16
+ 1091 .cfi_offset 5, -12
+ 1092 .cfi_offset 6, -8
+ 1093 .cfi_offset 14, -4
+ 1094 0002 0400 movs r4, r0
+ 1095 0004 0D00 movs r5, r1
+ 1096 .LVL139:
+ 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ ARM GAS /tmp/cc7AGXQS.s page 36
+
+
+ 1097 .loc 1 174 0
+ 1098 0006 FE23 movs r3, #254
+ 1099 0008 5B00 lsls r3, r3, #1
+ 1100 000a C35C ldrb r3, [r0, r3]
+ 1101 000c 032B cmp r3, #3
+ 1102 000e 13D1 bne .L94
+ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1103 .loc 1 178 0
+ 1104 0010 0B79 ldrb r3, [r1, #4]
+ 1105 0012 012B cmp r3, #1
+ 1106 0014 0DD8 bhi .L92
+ 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1107 .loc 1 180 0
+ 1108 0016 8523 movs r3, #133
+ 1109 0018 9B00 lsls r3, r3, #2
+ 1110 001a C358 ldr r3, [r0, r3]
+ 1111 001c 9B68 ldr r3, [r3, #8]
+ 1112 001e 9847 blx r3
+ 1113 .LVL140:
+ 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1114 .loc 1 182 0
+ 1115 0020 EB88 ldrh r3, [r5, #6]
+ 1116 0022 002B cmp r3, #0
+ 1117 0024 01D0 beq .L95
+ 1118 .L93:
+ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1119 .loc 1 198 0
+ 1120 0026 0020 movs r0, #0
+ 1121 @ sp needed
+ 1122 .LVL141:
+ 1123 .LVL142:
+ 1124 0028 70BD pop {r4, r5, r6, pc}
+ 1125 .LVL143:
+ 1126 .L95:
+ 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1127 .loc 1 184 0
+ 1128 002a 2000 movs r0, r4
+ 1129 002c FFF7FEFF bl USBD_CtlSendStatus
+ 1130 .LVL144:
+ 1131 0030 F9E7 b .L93
+ 1132 .LVL145:
+ 1133 .L92:
+ 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1134 .loc 1 189 0
+ 1135 0032 FFF7FEFF bl USBD_CtlError
+ 1136 .LVL146:
+ 1137 0036 F6E7 b .L93
+ 1138 .LVL147:
+ 1139 .L94:
+ 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1140 .loc 1 194 0
+ 1141 0038 FFF7FEFF bl USBD_CtlError
+ 1142 .LVL148:
+ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1143 .loc 1 195 0
+ 1144 003c F3E7 b .L93
+ 1145 .cfi_endproc
+ ARM GAS /tmp/cc7AGXQS.s page 37
+
+
+ 1146 .LFE44:
+ 1148 .section .text.USBD_StdEPReq,"ax",%progbits
+ 1149 .align 1
+ 1150 .global USBD_StdEPReq
+ 1151 .syntax unified
+ 1152 .code 16
+ 1153 .thumb_func
+ 1154 .fpu softvfp
+ 1156 USBD_StdEPReq:
+ 1157 .LFB45:
+ 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1158 .loc 1 208 0
+ 1159 .cfi_startproc
+ 1160 @ args = 0, pretend = 0, frame = 0
+ 1161 @ frame_needed = 0, uses_anonymous_args = 0
+ 1162 .LVL149:
+ 1163 0000 70B5 push {r4, r5, r6, lr}
+ 1164 .LCFI11:
+ 1165 .cfi_def_cfa_offset 16
+ 1166 .cfi_offset 4, -16
+ 1167 .cfi_offset 5, -12
+ 1168 .cfi_offset 6, -8
+ 1169 .cfi_offset 14, -4
+ 1170 0002 0500 movs r5, r0
+ 1171 0004 0C00 movs r4, r1
+ 1172 .LVL150:
+ 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1173 .loc 1 213 0
+ 1174 0006 8A88 ldrh r2, [r1, #4]
+ 1175 0008 D1B2 uxtb r1, r2
+ 1176 .LVL151:
+ 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1177 .loc 1 216 0
+ 1178 000a 2078 ldrb r0, [r4]
+ 1179 .LVL152:
+ 1180 000c 6023 movs r3, #96
+ 1181 000e 0340 ands r3, r0
+ 1182 0010 202B cmp r3, #32
+ 1183 0012 08D1 bne .L97
+ 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1184 .loc 1 218 0
+ 1185 0014 F533 adds r3, r3, #245
+ 1186 0016 FF33 adds r3, r3, #255
+ 1187 0018 EB58 ldr r3, [r5, r3]
+ 1188 001a 9B68 ldr r3, [r3, #8]
+ 1189 001c 2100 movs r1, r4
+ 1190 .LVL153:
+ 1191 001e 2800 movs r0, r5
+ 1192 0020 9847 blx r3
+ 1193 .LVL154:
+ 1194 .L98:
+ 323:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** /**
+ 1195 .loc 1 323 0
+ 1196 0022 0020 movs r0, #0
+ 1197 @ sp needed
+ 1198 .LVL155:
+ 1199 0024 70BD pop {r4, r5, r6, pc}
+ ARM GAS /tmp/cc7AGXQS.s page 38
+
+
+ 1200 .LVL156:
+ 1201 .L97:
+ 223:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1202 .loc 1 223 0
+ 1203 0026 6378 ldrb r3, [r4, #1]
+ 1204 0028 012B cmp r3, #1
+ 1205 002a 2CD0 beq .L99
+ 1206 002c 002B cmp r3, #0
+ 1207 002e 52D0 beq .L100
+ 1208 0030 032B cmp r3, #3
+ 1209 0032 F6D1 bne .L98
+ 228:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1210 .loc 1 228 0
+ 1211 0034 FA33 adds r3, r3, #250
+ 1212 0036 FF33 adds r3, r3, #255
+ 1213 0038 EB5C ldrb r3, [r5, r3]
+ 1214 003a 022B cmp r3, #2
+ 1215 003c 06D0 beq .L103
+ 1216 003e 032B cmp r3, #3
+ 1217 0040 0CD0 beq .L104
+ 252:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1218 .loc 1 252 0
+ 1219 0042 2100 movs r1, r4
+ 1220 .LVL157:
+ 1221 0044 2800 movs r0, r5
+ 1222 0046 FFF7FEFF bl USBD_CtlError
+ 1223 .LVL158:
+ 253:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1224 .loc 1 253 0
+ 1225 004a EAE7 b .L98
+ 1226 .LVL159:
+ 1227 .L103:
+ 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1228 .loc 1 231 0
+ 1229 004c 0029 cmp r1, #0
+ 1230 004e E8D0 beq .L98
+ 231:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1231 .loc 1 231 0 is_stmt 0 discriminator 1
+ 1232 0050 8029 cmp r1, #128
+ 1233 0052 E6D0 beq .L98
+ 233:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1234 .loc 1 233 0 is_stmt 1
+ 1235 0054 2800 movs r0, r5
+ 1236 0056 FFF7FEFF bl USBD_LL_StallEP
+ 1237 .LVL160:
+ 1238 005a E2E7 b .L98
+ 1239 .LVL161:
+ 1240 .L104:
+ 238:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1241 .loc 1 238 0
+ 1242 005c 6388 ldrh r3, [r4, #2]
+ 1243 005e 002B cmp r3, #0
+ 1244 0060 06D1 bne .L105
+ 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1245 .loc 1 240 0
+ 1246 0062 0029 cmp r1, #0
+ 1247 0064 04D0 beq .L105
+ ARM GAS /tmp/cc7AGXQS.s page 39
+
+
+ 240:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1248 .loc 1 240 0 is_stmt 0 discriminator 1
+ 1249 0066 8029 cmp r1, #128
+ 1250 0068 02D0 beq .L105
+ 242:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1251 .loc 1 242 0 is_stmt 1
+ 1252 006a 2800 movs r0, r5
+ 1253 006c FFF7FEFF bl USBD_LL_StallEP
+ 1254 .LVL162:
+ 1255 .L105:
+ 246:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** USBD_CtlSendStatus(pdev);
+ 1256 .loc 1 246 0
+ 1257 0070 8523 movs r3, #133
+ 1258 0072 9B00 lsls r3, r3, #2
+ 1259 0074 EB58 ldr r3, [r5, r3]
+ 1260 0076 9B68 ldr r3, [r3, #8]
+ 1261 0078 2100 movs r1, r4
+ 1262 007a 2800 movs r0, r5
+ 1263 007c 9847 blx r3
+ 1264 .LVL163:
+ 247:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1265 .loc 1 247 0
+ 1266 007e 2800 movs r0, r5
+ 1267 0080 FFF7FEFF bl USBD_CtlSendStatus
+ 1268 .LVL164:
+ 249:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1269 .loc 1 249 0
+ 1270 0084 CDE7 b .L98
+ 1271 .LVL165:
+ 1272 .L99:
+ 259:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1273 .loc 1 259 0
+ 1274 0086 FE23 movs r3, #254
+ 1275 0088 5B00 lsls r3, r3, #1
+ 1276 008a EB5C ldrb r3, [r5, r3]
+ 1277 008c 022B cmp r3, #2
+ 1278 008e 06D0 beq .L107
+ 1279 0090 032B cmp r3, #3
+ 1280 0092 0CD0 beq .L108
+ 281:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ 1281 .loc 1 281 0
+ 1282 0094 2100 movs r1, r4
+ 1283 .LVL166:
+ 1284 0096 2800 movs r0, r5
+ 1285 0098 FFF7FEFF bl USBD_CtlError
+ 1286 .LVL167:
+ 282:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1287 .loc 1 282 0
+ 1288 009c C1E7 b .L98
+ 1289 .LVL168:
+ 1290 .L107:
+ 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1291 .loc 1 262 0
+ 1292 009e 0029 cmp r1, #0
+ 1293 00a0 BFD0 beq .L98
+ 262:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1294 .loc 1 262 0 is_stmt 0 discriminator 1
+ ARM GAS /tmp/cc7AGXQS.s page 40
+
+
+ 1295 00a2 8029 cmp r1, #128
+ 1296 00a4 BDD0 beq .L98
+ 264:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1297 .loc 1 264 0 is_stmt 1
+ 1298 00a6 2800 movs r0, r5
+ 1299 00a8 FFF7FEFF bl USBD_LL_StallEP
+ 1300 .LVL169:
+ 1301 00ac B9E7 b .L98
+ 1302 .LVL170:
+ 1303 .L108:
+ 269:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1304 .loc 1 269 0
+ 1305 00ae 6388 ldrh r3, [r4, #2]
+ 1306 00b0 002B cmp r3, #0
+ 1307 00b2 B6D1 bne .L98
+ 271:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1308 .loc 1 271 0
+ 1309 00b4 4B06 lsls r3, r1, #25
+ 1310 00b6 03D1 bne .L120
+ 1311 .LVL171:
+ 1312 .L109:
+ 276:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1313 .loc 1 276 0
+ 1314 00b8 2800 movs r0, r5
+ 1315 00ba FFF7FEFF bl USBD_CtlSendStatus
+ 1316 .LVL172:
+ 1317 00be B0E7 b .L98
+ 1318 .LVL173:
+ 1319 .L120:
+ 273:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** pdev->pClass->Setup (pdev, req);
+ 1320 .loc 1 273 0
+ 1321 00c0 2800 movs r0, r5
+ 1322 00c2 FFF7FEFF bl USBD_LL_ClearStallEP
+ 1323 .LVL174:
+ 274:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1324 .loc 1 274 0
+ 1325 00c6 8523 movs r3, #133
+ 1326 00c8 9B00 lsls r3, r3, #2
+ 1327 00ca EB58 ldr r3, [r5, r3]
+ 1328 00cc 9B68 ldr r3, [r3, #8]
+ 1329 00ce 2100 movs r1, r4
+ 1330 00d0 2800 movs r0, r5
+ 1331 00d2 9847 blx r3
+ 1332 .LVL175:
+ 1333 00d4 F0E7 b .L109
+ 1334 .LVL176:
+ 1335 .L100:
+ 287:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1336 .loc 1 287 0
+ 1337 00d6 FE23 movs r3, #254
+ 1338 00d8 5B00 lsls r3, r3, #1
+ 1339 00da EB5C ldrb r3, [r5, r3]
+ 1340 00dc 022B cmp r3, #2
+ 1341 00de 06D0 beq .L111
+ 1342 00e0 032B cmp r3, #3
+ 1343 00e2 0AD0 beq .L112
+ 314:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** break;
+ ARM GAS /tmp/cc7AGXQS.s page 41
+
+
+ 1344 .loc 1 314 0
+ 1345 00e4 2100 movs r1, r4
+ 1346 .LVL177:
+ 1347 00e6 2800 movs r0, r5
+ 1348 00e8 FFF7FEFF bl USBD_CtlError
+ 1349 .LVL178:
+ 315:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1350 .loc 1 315 0
+ 1351 00ec 99E7 b .L98
+ 1352 .LVL179:
+ 1353 .L111:
+ 290:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1354 .loc 1 290 0
+ 1355 00ee 4B06 lsls r3, r1, #25
+ 1356 00f0 97D0 beq .L98
+ 292:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1357 .loc 1 292 0
+ 1358 00f2 2800 movs r0, r5
+ 1359 00f4 FFF7FEFF bl USBD_LL_StallEP
+ 1360 .LVL180:
+ 1361 00f8 93E7 b .L98
+ 1362 .LVL181:
+ 1363 .L112:
+ 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
+ 1364 .loc 1 297 0
+ 1365 00fa 1306 lsls r3, r2, #24
+ 1366 00fc 12D4 bmi .L121
+ 298:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** if(USBD_LL_IsStallEP(pdev, ep_addr))
+ 1367 .loc 1 298 0 discriminator 2
+ 1368 00fe 7F24 movs r4, #127
+ 1369 .LVL182:
+ 1370 0100 0C40 ands r4, r1
+ 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
+ 1371 .loc 1 297 0 discriminator 2
+ 1372 0102 1034 adds r4, r4, #16
+ 1373 0104 2401 lsls r4, r4, #4
+ 1374 0106 2C19 adds r4, r5, r4
+ 1375 0108 0434 adds r4, r4, #4
+ 1376 .L114:
+ 1377 .LVL183:
+ 299:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1378 .loc 1 299 0 discriminator 4
+ 1379 010a 2800 movs r0, r5
+ 1380 010c FFF7FEFF bl USBD_LL_IsStallEP
+ 1381 .LVL184:
+ 1382 0110 0028 cmp r0, #0
+ 1383 0112 0ED0 beq .L115
+ 301:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1384 .loc 1 301 0
+ 1385 0114 0123 movs r3, #1
+ 1386 0116 2360 str r3, [r4]
+ 1387 .L116:
+ 308:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** (uint8_t *)&pep->status,
+ 1388 .loc 1 308 0
+ 1389 0118 0222 movs r2, #2
+ 1390 011a 2100 movs r1, r4
+ 1391 011c 2800 movs r0, r5
+ ARM GAS /tmp/cc7AGXQS.s page 42
+
+
+ 1392 011e FFF7FEFF bl USBD_CtlSendData
+ 1393 .LVL185:
+ 311:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1394 .loc 1 311 0
+ 1395 0122 7EE7 b .L98
+ 1396 .LVL186:
+ 1397 .L121:
+ 297:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** &pdev->ep_out[ep_addr & 0x7F];
+ 1398 .loc 1 297 0 discriminator 1
+ 1399 0124 7F24 movs r4, #127
+ 1400 .LVL187:
+ 1401 0126 0C40 ands r4, r1
+ 1402 0128 0134 adds r4, r4, #1
+ 1403 012a 2401 lsls r4, r4, #4
+ 1404 012c 2C19 adds r4, r5, r4
+ 1405 012e 0434 adds r4, r4, #4
+ 1406 0130 EBE7 b .L114
+ 1407 .LVL188:
+ 1408 .L115:
+ 305:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1409 .loc 1 305 0
+ 1410 0132 0023 movs r3, #0
+ 1411 0134 2360 str r3, [r4]
+ 1412 0136 EFE7 b .L116
+ 1413 .cfi_endproc
+ 1414 .LFE45:
+ 1416 .section .text.USBD_GetString,"ax",%progbits
+ 1417 .align 1
+ 1418 .global USBD_GetString
+ 1419 .syntax unified
+ 1420 .code 16
+ 1421 .thumb_func
+ 1422 .fpu softvfp
+ 1424 USBD_GetString:
+ 1425 .LFB55:
+ 733:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** uint8_t idx = 0;
+ 1426 .loc 1 733 0
+ 1427 .cfi_startproc
+ 1428 @ args = 0, pretend = 0, frame = 0
+ 1429 @ frame_needed = 0, uses_anonymous_args = 0
+ 1430 .LVL189:
+ 1431 0000 70B5 push {r4, r5, r6, lr}
+ 1432 .LCFI12:
+ 1433 .cfi_def_cfa_offset 16
+ 1434 .cfi_offset 4, -16
+ 1435 .cfi_offset 5, -12
+ 1436 .cfi_offset 6, -8
+ 1437 .cfi_offset 14, -4
+ 1438 0002 0400 movs r4, r0
+ 1439 0004 0D00 movs r5, r1
+ 1440 0006 1600 movs r6, r2
+ 1441 .LVL190:
+ 736:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1442 .loc 1 736 0
+ 1443 0008 0028 cmp r0, #0
+ 1444 000a 16D0 beq .L122
+ 738:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = *len;
+ ARM GAS /tmp/cc7AGXQS.s page 43
+
+
+ 1445 .loc 1 738 0
+ 1446 000c FFF7FEFF bl USBD_GetLen
+ 1447 .LVL191:
+ 1448 0010 0130 adds r0, r0, #1
+ 1449 0012 4000 lsls r0, r0, #1
+ 1450 0014 80B2 uxth r0, r0
+ 1451 0016 3080 strh r0, [r6]
+ 1452 .LVL192:
+ 739:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = USB_DESC_TYPE_STRING;
+ 1453 .loc 1 739 0
+ 1454 0018 2870 strb r0, [r5]
+ 1455 .LVL193:
+ 740:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1456 .loc 1 740 0
+ 1457 001a 0323 movs r3, #3
+ 1458 001c 6B70 strb r3, [r5, #1]
+ 1459 001e 013B subs r3, r3, #1
+ 742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1460 .loc 1 742 0
+ 1461 0020 08E0 b .L124
+ 1462 .LVL194:
+ 1463 .L125:
+ 744:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** unicode[idx++] = 0x00;
+ 1464 .loc 1 744 0
+ 1465 0022 0134 adds r4, r4, #1
+ 1466 .LVL195:
+ 1467 0024 5A1C adds r2, r3, #1
+ 1468 0026 D2B2 uxtb r2, r2
+ 1469 .LVL196:
+ 1470 0028 E954 strb r1, [r5, r3]
+ 745:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** }
+ 1471 .loc 1 745 0
+ 1472 002a 0233 adds r3, r3, #2
+ 1473 002c DBB2 uxtb r3, r3
+ 1474 .LVL197:
+ 1475 002e AA18 adds r2, r5, r2
+ 1476 0030 0021 movs r1, #0
+ 1477 0032 1170 strb r1, [r2]
+ 1478 .LVL198:
+ 1479 .L124:
+ 742:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c **** {
+ 1480 .loc 1 742 0
+ 1481 0034 2178 ldrb r1, [r4]
+ 1482 0036 0029 cmp r1, #0
+ 1483 0038 F3D1 bne .L125
+ 1484 .LVL199:
+ 1485 .L122:
+ 748:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c ****
+ 1486 .loc 1 748 0
+ 1487 @ sp needed
+ 1488 .LVL200:
+ 1489 .LVL201:
+ 1490 .LVL202:
+ 1491 003a 70BD pop {r4, r5, r6, pc}
+ 1492 .cfi_endproc
+ 1493 .LFE55:
+ 1495 .section .bss.cfgidx.7827,"aw",%nobits
+ ARM GAS /tmp/cc7AGXQS.s page 44
+
+
+ 1496 .set .LANCHOR0,. + 0
+ 1499 cfgidx.7827:
+ 1500 0000 00 .space 1
+ 1501 .text
+ 1502 .Letext0:
+ 1503 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 1504 .file 3 "/usr/include/newlib/sys/lock.h"
+ 1505 .file 4 "/usr/include/newlib/sys/_types.h"
+ 1506 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 1507 .file 6 "/usr/include/newlib/sys/reent.h"
+ 1508 .file 7 "/usr/include/newlib/sys/_stdint.h"
+ 1509 .file 8 "/usr/include/newlib/stdlib.h"
+ 1510 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 1511 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 1512 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 1513 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ 1514 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h"
+ ARM GAS /tmp/cc7AGXQS.s page 45
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_ctlreq.c
+ /tmp/cc7AGXQS.s:16 .text.USBD_GetLen:0000000000000000 $t
+ /tmp/cc7AGXQS.s:22 .text.USBD_GetLen:0000000000000000 USBD_GetLen
+ /tmp/cc7AGXQS.s:60 .text.USBD_SetFeature:0000000000000000 $t
+ /tmp/cc7AGXQS.s:66 .text.USBD_SetFeature:0000000000000000 USBD_SetFeature
+ /tmp/cc7AGXQS.s:107 .text.USBD_ParseSetupRequest:0000000000000000 $t
+ /tmp/cc7AGXQS.s:114 .text.USBD_ParseSetupRequest:0000000000000000 USBD_ParseSetupRequest
+ /tmp/cc7AGXQS.s:153 .text.USBD_CtlError:0000000000000000 $t
+ /tmp/cc7AGXQS.s:160 .text.USBD_CtlError:0000000000000000 USBD_CtlError
+ /tmp/cc7AGXQS.s:191 .text.USBD_GetDescriptor:0000000000000000 $t
+ /tmp/cc7AGXQS.s:197 .text.USBD_GetDescriptor:0000000000000000 USBD_GetDescriptor
+ /tmp/cc7AGXQS.s:228 .rodata.USBD_GetDescriptor:0000000000000000 $d
+ /tmp/cc7AGXQS.s:511 .text.USBD_GetDescriptor:0000000000000154 $d
+ /tmp/cc7AGXQS.s:517 .text.USBD_SetAddress:0000000000000000 $t
+ /tmp/cc7AGXQS.s:523 .text.USBD_SetAddress:0000000000000000 USBD_SetAddress
+ /tmp/cc7AGXQS.s:608 .text.USBD_SetConfig:0000000000000000 $t
+ /tmp/cc7AGXQS.s:614 .text.USBD_SetConfig:0000000000000000 USBD_SetConfig
+ /tmp/cc7AGXQS.s:762 .text.USBD_SetConfig:00000000000000ac $d
+ /tmp/cc7AGXQS.s:767 .text.USBD_GetConfig:0000000000000000 $t
+ /tmp/cc7AGXQS.s:773 .text.USBD_GetConfig:0000000000000000 USBD_GetConfig
+ /tmp/cc7AGXQS.s:841 .text.USBD_GetStatus:0000000000000000 $t
+ /tmp/cc7AGXQS.s:847 .text.USBD_GetStatus:0000000000000000 USBD_GetStatus
+ /tmp/cc7AGXQS.s:903 .text.USBD_ClrFeature:0000000000000000 $t
+ /tmp/cc7AGXQS.s:909 .text.USBD_ClrFeature:0000000000000000 USBD_ClrFeature
+ /tmp/cc7AGXQS.s:965 .text.USBD_StdDevReq:0000000000000000 $t
+ /tmp/cc7AGXQS.s:972 .text.USBD_StdDevReq:0000000000000000 USBD_StdDevReq
+ /tmp/cc7AGXQS.s:994 .rodata.USBD_StdDevReq:0000000000000000 $d
+ /tmp/cc7AGXQS.s:1068 .text.USBD_StdDevReq:0000000000000044 $d
+ /tmp/cc7AGXQS.s:1073 .text.USBD_StdItfReq:0000000000000000 $t
+ /tmp/cc7AGXQS.s:1080 .text.USBD_StdItfReq:0000000000000000 USBD_StdItfReq
+ /tmp/cc7AGXQS.s:1149 .text.USBD_StdEPReq:0000000000000000 $t
+ /tmp/cc7AGXQS.s:1156 .text.USBD_StdEPReq:0000000000000000 USBD_StdEPReq
+ /tmp/cc7AGXQS.s:1417 .text.USBD_GetString:0000000000000000 $t
+ /tmp/cc7AGXQS.s:1424 .text.USBD_GetString:0000000000000000 USBD_GetString
+ /tmp/cc7AGXQS.s:1499 .bss.cfgidx.7827:0000000000000000 cfgidx.7827
+ /tmp/cc7AGXQS.s:1500 .bss.cfgidx.7827:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+USBD_CtlSendStatus
+USBD_LL_StallEP
+USBD_CtlSendData
+USBD_LL_SetUSBAddress
+USBD_SetClassConfig
+USBD_ClrClassConfig
+USBD_LL_ClearStallEP
+USBD_LL_IsStallEP
diff --git a/fw/midi-dials/build/usbd_ctlreq.o b/fw/midi-dials/build/usbd_ctlreq.o
new file mode 100644
index 0000000..5257e19
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ctlreq.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_desc.d b/fw/midi-dials/build/usbd_desc.d
new file mode 100644
index 0000000..b2fddbc
--- /dev/null
+++ b/fw/midi-dials/build/usbd_desc.d
@@ -0,0 +1,109 @@
+build/usbd_desc.o: Src/usbd_desc.c \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Inc/usbd_desc.h
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Inc/usbd_desc.h:
diff --git a/fw/midi-dials/build/usbd_desc.lst b/fw/midi-dials/build/usbd_desc.lst
new file mode 100644
index 0000000..ffcbda4
--- /dev/null
+++ b/fw/midi-dials/build/usbd_desc.lst
@@ -0,0 +1,850 @@
+ARM GAS /tmp/cc69mfuT.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_desc.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_FS_DeviceDescriptor,"ax",%progbits
+ 16 .align 1
+ 17 .global USBD_FS_DeviceDescriptor
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USBD_FS_DeviceDescriptor:
+ 24 .LFB43:
+ 25 .file 1 "Src/usbd_desc.c"
+ 1:Src/usbd_desc.c **** /**
+ 2:Src/usbd_desc.c **** ******************************************************************************
+ 3:Src/usbd_desc.c **** * @file : usbd_desc.c
+ 4:Src/usbd_desc.c **** * @version : v2.0_Cube
+ 5:Src/usbd_desc.c **** * @brief : This file implements the USB device descriptors.
+ 6:Src/usbd_desc.c **** ******************************************************************************
+ 7:Src/usbd_desc.c **** * This notice applies to any and all portions of this file
+ 8:Src/usbd_desc.c **** * that are not between comment pairs USER CODE BEGIN and
+ 9:Src/usbd_desc.c **** * USER CODE END. Other portions of this file, whether
+ 10:Src/usbd_desc.c **** * inserted by the user or by software development tools
+ 11:Src/usbd_desc.c **** * are owned by their respective copyright owners.
+ 12:Src/usbd_desc.c **** *
+ 13:Src/usbd_desc.c **** * Copyright (c) 2018 STMicroelectronics International N.V.
+ 14:Src/usbd_desc.c **** * All rights reserved.
+ 15:Src/usbd_desc.c **** *
+ 16:Src/usbd_desc.c **** * Redistribution and use in source and binary forms, with or without
+ 17:Src/usbd_desc.c **** * modification, are permitted, provided that the following conditions are met:
+ 18:Src/usbd_desc.c **** *
+ 19:Src/usbd_desc.c **** * 1. Redistribution of source code must retain the above copyright notice,
+ 20:Src/usbd_desc.c **** * this list of conditions and the following disclaimer.
+ 21:Src/usbd_desc.c **** * 2. Redistributions in binary form must reproduce the above copyright notice,
+ 22:Src/usbd_desc.c **** * this list of conditions and the following disclaimer in the documentation
+ 23:Src/usbd_desc.c **** * and/or other materials provided with the distribution.
+ 24:Src/usbd_desc.c **** * 3. Neither the name of STMicroelectronics nor the names of other
+ 25:Src/usbd_desc.c **** * contributors to this software may be used to endorse or promote products
+ 26:Src/usbd_desc.c **** * derived from this software without specific written permission.
+ 27:Src/usbd_desc.c **** * 4. This software, including modifications and/or derivative works of this
+ 28:Src/usbd_desc.c **** * software, must execute solely and exclusively on microcontroller or
+ 29:Src/usbd_desc.c **** * microprocessor devices manufactured by or for STMicroelectronics.
+ 30:Src/usbd_desc.c **** * 5. Redistribution and use of this software other than as permitted under
+ 31:Src/usbd_desc.c **** * this license is void and will automatically terminate your rights under
+ 32:Src/usbd_desc.c **** * this license.
+ 33:Src/usbd_desc.c **** *
+ ARM GAS /tmp/cc69mfuT.s page 2
+
+
+ 34:Src/usbd_desc.c **** * THIS SOFTWARE IS PROVIDED BY STMICROELECTRONICS AND CONTRIBUTORS "AS IS"
+ 35:Src/usbd_desc.c **** * AND ANY EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING, BUT NOT
+ 36:Src/usbd_desc.c **** * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+ 37:Src/usbd_desc.c **** * PARTICULAR PURPOSE AND NON-INFRINGEMENT OF THIRD PARTY INTELLECTUAL PROPERTY
+ 38:Src/usbd_desc.c **** * RIGHTS ARE DISCLAIMED TO THE FULLEST EXTENT PERMITTED BY LAW. IN NO EVENT
+ 39:Src/usbd_desc.c **** * SHALL STMICROELECTRONICS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ 40:Src/usbd_desc.c **** * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ 41:Src/usbd_desc.c **** * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
+ 42:Src/usbd_desc.c **** * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ 43:Src/usbd_desc.c **** * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ 44:Src/usbd_desc.c **** * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ 45:Src/usbd_desc.c **** * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ 46:Src/usbd_desc.c **** *
+ 47:Src/usbd_desc.c **** ******************************************************************************
+ 48:Src/usbd_desc.c **** */
+ 49:Src/usbd_desc.c ****
+ 50:Src/usbd_desc.c **** /* Includes ------------------------------------------------------------------*/
+ 51:Src/usbd_desc.c **** #include "usbd_core.h"
+ 52:Src/usbd_desc.c **** #include "usbd_desc.h"
+ 53:Src/usbd_desc.c **** #include "usbd_conf.h"
+ 54:Src/usbd_desc.c ****
+ 55:Src/usbd_desc.c **** /* USER CODE BEGIN INCLUDE */
+ 56:Src/usbd_desc.c ****
+ 57:Src/usbd_desc.c **** /* USER CODE END INCLUDE */
+ 58:Src/usbd_desc.c ****
+ 59:Src/usbd_desc.c **** /* Private typedef -----------------------------------------------------------*/
+ 60:Src/usbd_desc.c **** /* Private define ------------------------------------------------------------*/
+ 61:Src/usbd_desc.c **** /* Private macro -------------------------------------------------------------*/
+ 62:Src/usbd_desc.c ****
+ 63:Src/usbd_desc.c **** /* USER CODE BEGIN PV */
+ 64:Src/usbd_desc.c **** /* Private variables ---------------------------------------------------------*/
+ 65:Src/usbd_desc.c ****
+ 66:Src/usbd_desc.c **** /* USER CODE END PV */
+ 67:Src/usbd_desc.c ****
+ 68:Src/usbd_desc.c **** /** @addtogroup STM32_USB_OTG_DEVICE_LIBRARY
+ 69:Src/usbd_desc.c **** * @{
+ 70:Src/usbd_desc.c **** */
+ 71:Src/usbd_desc.c ****
+ 72:Src/usbd_desc.c **** /** @addtogroup USBD_DESC
+ 73:Src/usbd_desc.c **** * @{
+ 74:Src/usbd_desc.c **** */
+ 75:Src/usbd_desc.c ****
+ 76:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_TypesDefinitions USBD_DESC_Private_TypesDefinitions
+ 77:Src/usbd_desc.c **** * @brief Private types.
+ 78:Src/usbd_desc.c **** * @{
+ 79:Src/usbd_desc.c **** */
+ 80:Src/usbd_desc.c ****
+ 81:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_TYPES */
+ 82:Src/usbd_desc.c ****
+ 83:Src/usbd_desc.c **** /* USER CODE END PRIVATE_TYPES */
+ 84:Src/usbd_desc.c ****
+ 85:Src/usbd_desc.c **** /**
+ 86:Src/usbd_desc.c **** * @}
+ 87:Src/usbd_desc.c **** */
+ 88:Src/usbd_desc.c ****
+ 89:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Defines USBD_DESC_Private_Defines
+ 90:Src/usbd_desc.c **** * @brief Private defines.
+ ARM GAS /tmp/cc69mfuT.s page 3
+
+
+ 91:Src/usbd_desc.c **** * @{
+ 92:Src/usbd_desc.c **** */
+ 93:Src/usbd_desc.c ****
+ 94:Src/usbd_desc.c **** /*
+ 95:Src/usbd_desc.c **** *************************************************[ATTENTION]**************************************
+ 96:Src/usbd_desc.c **** *
+ 97:Src/usbd_desc.c **** * VID 0x1209 and PID 0x0001 is experimental IDs from http://pid.codes .
+ 98:Src/usbd_desc.c **** * You must get your own IDs, and change to your own IDs in order to avoid conflicting to other USB
+ 99:Src/usbd_desc.c **** *
+ 100:Src/usbd_desc.c **** **************************************************************************************************
+ 101:Src/usbd_desc.c **** */
+ 102:Src/usbd_desc.c ****
+ 103:Src/usbd_desc.c **** #define USBD_VID 0x1209 //MUST BE CHANGED.
+ 104:Src/usbd_desc.c **** #define USBD_LANGID_STRING 1041
+ 105:Src/usbd_desc.c **** #define USBD_MANUFACTURER_STRING "Otter Scientific"
+ 106:Src/usbd_desc.c **** #define USBD_PID_FS 0x0001 //MUST BE CHANGED.
+ 107:Src/usbd_desc.c **** #define USBD_PRODUCT_STRING_FS "MIDI Dials"
+ 108:Src/usbd_desc.c **** #define USBD_SERIALNUMBER_STRING_FS "00000000001A"
+ 109:Src/usbd_desc.c **** #define USBD_CONFIGURATION_STRING_FS "MIDI Config"
+ 110:Src/usbd_desc.c **** #define USBD_INTERFACE_STRING_FS "MIDI Interface"
+ 111:Src/usbd_desc.c ****
+ 112:Src/usbd_desc.c ****
+ 113:Src/usbd_desc.c ****
+ 114:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_DEFINES */
+ 115:Src/usbd_desc.c ****
+ 116:Src/usbd_desc.c **** /* USER CODE END PRIVATE_DEFINES */
+ 117:Src/usbd_desc.c ****
+ 118:Src/usbd_desc.c **** /**
+ 119:Src/usbd_desc.c **** * @}
+ 120:Src/usbd_desc.c **** */
+ 121:Src/usbd_desc.c ****
+ 122:Src/usbd_desc.c **** /* USER CODE BEGIN 0 */
+ 123:Src/usbd_desc.c ****
+ 124:Src/usbd_desc.c **** /* USER CODE END 0 */
+ 125:Src/usbd_desc.c ****
+ 126:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Macros USBD_DESC_Private_Macros
+ 127:Src/usbd_desc.c **** * @brief Private macros.
+ 128:Src/usbd_desc.c **** * @{
+ 129:Src/usbd_desc.c **** */
+ 130:Src/usbd_desc.c ****
+ 131:Src/usbd_desc.c **** /* USER CODE BEGIN PRIVATE_MACRO */
+ 132:Src/usbd_desc.c ****
+ 133:Src/usbd_desc.c **** /* USER CODE END PRIVATE_MACRO */
+ 134:Src/usbd_desc.c ****
+ 135:Src/usbd_desc.c **** /**
+ 136:Src/usbd_desc.c **** * @}
+ 137:Src/usbd_desc.c **** */
+ 138:Src/usbd_desc.c ****
+ 139:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_FunctionPrototypes USBD_DESC_Private_FunctionPrototypes
+ 140:Src/usbd_desc.c **** * @brief Private functions declaration.
+ 141:Src/usbd_desc.c **** * @{
+ 142:Src/usbd_desc.c **** */
+ 143:Src/usbd_desc.c ****
+ 144:Src/usbd_desc.c **** uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 145:Src/usbd_desc.c **** uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 146:Src/usbd_desc.c **** uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 147:Src/usbd_desc.c **** uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ ARM GAS /tmp/cc69mfuT.s page 4
+
+
+ 148:Src/usbd_desc.c **** uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 149:Src/usbd_desc.c **** uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 150:Src/usbd_desc.c **** uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length);
+ 151:Src/usbd_desc.c ****
+ 152:Src/usbd_desc.c **** #ifdef USB_SUPPORT_USER_STRING_DESC
+ 153:Src/usbd_desc.c **** uint8_t * USBD_FS_USRStringDesc(USBD_SpeedTypeDef speed, uint8_t idx, uint16_t *length);
+ 154:Src/usbd_desc.c **** #endif /* USB_SUPPORT_USER_STRING_DESC */
+ 155:Src/usbd_desc.c ****
+ 156:Src/usbd_desc.c **** /**
+ 157:Src/usbd_desc.c **** * @}
+ 158:Src/usbd_desc.c **** */
+ 159:Src/usbd_desc.c ****
+ 160:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
+ 161:Src/usbd_desc.c **** * @brief Private variables.
+ 162:Src/usbd_desc.c **** * @{
+ 163:Src/usbd_desc.c **** */
+ 164:Src/usbd_desc.c ****
+ 165:Src/usbd_desc.c **** USBD_DescriptorsTypeDef FS_Desc =
+ 166:Src/usbd_desc.c **** {
+ 167:Src/usbd_desc.c **** USBD_FS_DeviceDescriptor
+ 168:Src/usbd_desc.c **** , USBD_FS_LangIDStrDescriptor
+ 169:Src/usbd_desc.c **** , USBD_FS_ManufacturerStrDescriptor
+ 170:Src/usbd_desc.c **** , USBD_FS_ProductStrDescriptor
+ 171:Src/usbd_desc.c **** , USBD_FS_SerialStrDescriptor
+ 172:Src/usbd_desc.c **** , USBD_FS_ConfigStrDescriptor
+ 173:Src/usbd_desc.c **** , USBD_FS_InterfaceStrDescriptor
+ 174:Src/usbd_desc.c **** };
+ 175:Src/usbd_desc.c ****
+ 176:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
+ 177:Src/usbd_desc.c **** #pragma data_alignment=4
+ 178:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
+ 179:Src/usbd_desc.c **** /** USB standard device descriptor. */
+ 180:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_FS_DeviceDesc[USB_LEN_DEV_DESC] __ALIGN_END =
+ 181:Src/usbd_desc.c **** {
+ 182:Src/usbd_desc.c **** 0x12, /*bLength */
+ 183:Src/usbd_desc.c **** USB_DESC_TYPE_DEVICE, /*bDescriptorType*/
+ 184:Src/usbd_desc.c **** 0x00, /*bcdUSB */
+ 185:Src/usbd_desc.c **** 0x02,
+ 186:Src/usbd_desc.c **** 0x02, /*bDeviceClass*/
+ 187:Src/usbd_desc.c **** 0x02, /*bDeviceSubClass*/
+ 188:Src/usbd_desc.c **** 0x00, /*bDeviceProtocol*/
+ 189:Src/usbd_desc.c **** USB_MAX_EP0_SIZE, /*bMaxPacketSize*/
+ 190:Src/usbd_desc.c **** LOBYTE(USBD_VID), /*idVendor*/
+ 191:Src/usbd_desc.c **** HIBYTE(USBD_VID), /*idVendor*/
+ 192:Src/usbd_desc.c **** LOBYTE(USBD_PID_FS), /*idProduct*/
+ 193:Src/usbd_desc.c **** HIBYTE(USBD_PID_FS), /*idProduct*/
+ 194:Src/usbd_desc.c **** 0x00, /*bcdDevice rel. 2.00*/
+ 195:Src/usbd_desc.c **** 0x02,
+ 196:Src/usbd_desc.c **** USBD_IDX_MFC_STR, /*Index of manufacturer string*/
+ 197:Src/usbd_desc.c **** USBD_IDX_PRODUCT_STR, /*Index of product string*/
+ 198:Src/usbd_desc.c **** USBD_IDX_SERIAL_STR, /*Index of serial number string*/
+ 199:Src/usbd_desc.c **** USBD_MAX_NUM_CONFIGURATION /*bNumConfigurations*/
+ 200:Src/usbd_desc.c **** };
+ 201:Src/usbd_desc.c ****
+ 202:Src/usbd_desc.c **** /* USB_DeviceDescriptor */
+ 203:Src/usbd_desc.c ****
+ 204:Src/usbd_desc.c **** /**
+ ARM GAS /tmp/cc69mfuT.s page 5
+
+
+ 205:Src/usbd_desc.c **** * @}
+ 206:Src/usbd_desc.c **** */
+ 207:Src/usbd_desc.c ****
+ 208:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Variables USBD_DESC_Private_Variables
+ 209:Src/usbd_desc.c **** * @brief Private variables.
+ 210:Src/usbd_desc.c **** * @{
+ 211:Src/usbd_desc.c **** */
+ 212:Src/usbd_desc.c ****
+ 213:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
+ 214:Src/usbd_desc.c **** #pragma data_alignment=4
+ 215:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
+ 216:Src/usbd_desc.c ****
+ 217:Src/usbd_desc.c **** /** USB lang indentifier descriptor. */
+ 218:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_LangIDDesc[USB_LEN_LANGID_STR_DESC] __ALIGN_END =
+ 219:Src/usbd_desc.c **** {
+ 220:Src/usbd_desc.c **** USB_LEN_LANGID_STR_DESC,
+ 221:Src/usbd_desc.c **** USB_DESC_TYPE_STRING,
+ 222:Src/usbd_desc.c **** LOBYTE(USBD_LANGID_STRING),
+ 223:Src/usbd_desc.c **** HIBYTE(USBD_LANGID_STRING)
+ 224:Src/usbd_desc.c **** };
+ 225:Src/usbd_desc.c ****
+ 226:Src/usbd_desc.c **** #if defined ( __ICCARM__ ) /* IAR Compiler */
+ 227:Src/usbd_desc.c **** #pragma data_alignment=4
+ 228:Src/usbd_desc.c **** #endif /* defined ( __ICCARM__ ) */
+ 229:Src/usbd_desc.c **** /* Internal string descriptor. */
+ 230:Src/usbd_desc.c **** __ALIGN_BEGIN uint8_t USBD_StrDesc[USBD_MAX_STR_DESC_SIZ] __ALIGN_END;
+ 231:Src/usbd_desc.c ****
+ 232:Src/usbd_desc.c **** /**
+ 233:Src/usbd_desc.c **** * @}
+ 234:Src/usbd_desc.c **** */
+ 235:Src/usbd_desc.c ****
+ 236:Src/usbd_desc.c **** /** @defgroup USBD_DESC_Private_Functions USBD_DESC_Private_Functions
+ 237:Src/usbd_desc.c **** * @brief Private functions.
+ 238:Src/usbd_desc.c **** * @{
+ 239:Src/usbd_desc.c **** */
+ 240:Src/usbd_desc.c ****
+ 241:Src/usbd_desc.c **** /**
+ 242:Src/usbd_desc.c **** * @brief Return the device descriptor
+ 243:Src/usbd_desc.c **** * @param speed : Current device speed
+ 244:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 245:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 246:Src/usbd_desc.c **** */
+ 247:Src/usbd_desc.c **** uint8_t * USBD_FS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 248:Src/usbd_desc.c **** {
+ 26 .loc 1 248 0
+ 27 .cfi_startproc
+ 28 @ args = 0, pretend = 0, frame = 0
+ 29 @ frame_needed = 0, uses_anonymous_args = 0
+ 30 @ link register save eliminated.
+ 31 .LVL0:
+ 249:Src/usbd_desc.c **** *length = sizeof(USBD_FS_DeviceDesc);
+ 32 .loc 1 249 0
+ 33 0000 1223 movs r3, #18
+ 34 0002 0B80 strh r3, [r1]
+ 250:Src/usbd_desc.c **** return USBD_FS_DeviceDesc;
+ 251:Src/usbd_desc.c **** }
+ 35 .loc 1 251 0
+ ARM GAS /tmp/cc69mfuT.s page 6
+
+
+ 36 0004 0048 ldr r0, .L2
+ 37 .LVL1:
+ 38 @ sp needed
+ 39 0006 7047 bx lr
+ 40 .L3:
+ 41 .align 2
+ 42 .L2:
+ 43 0008 00000000 .word .LANCHOR0
+ 44 .cfi_endproc
+ 45 .LFE43:
+ 47 .section .text.USBD_FS_LangIDStrDescriptor,"ax",%progbits
+ 48 .align 1
+ 49 .global USBD_FS_LangIDStrDescriptor
+ 50 .syntax unified
+ 51 .code 16
+ 52 .thumb_func
+ 53 .fpu softvfp
+ 55 USBD_FS_LangIDStrDescriptor:
+ 56 .LFB44:
+ 252:Src/usbd_desc.c ****
+ 253:Src/usbd_desc.c **** /**
+ 254:Src/usbd_desc.c **** * @brief Return the LangID string descriptor
+ 255:Src/usbd_desc.c **** * @param speed : Current device speed
+ 256:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 257:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 258:Src/usbd_desc.c **** */
+ 259:Src/usbd_desc.c **** uint8_t * USBD_FS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 260:Src/usbd_desc.c **** {
+ 57 .loc 1 260 0
+ 58 .cfi_startproc
+ 59 @ args = 0, pretend = 0, frame = 0
+ 60 @ frame_needed = 0, uses_anonymous_args = 0
+ 61 @ link register save eliminated.
+ 62 .LVL2:
+ 261:Src/usbd_desc.c **** *length = sizeof(USBD_LangIDDesc);
+ 63 .loc 1 261 0
+ 64 0000 0423 movs r3, #4
+ 65 0002 0B80 strh r3, [r1]
+ 262:Src/usbd_desc.c **** return USBD_LangIDDesc;
+ 263:Src/usbd_desc.c **** }
+ 66 .loc 1 263 0
+ 67 0004 0048 ldr r0, .L5
+ 68 .LVL3:
+ 69 @ sp needed
+ 70 0006 7047 bx lr
+ 71 .L6:
+ 72 .align 2
+ 73 .L5:
+ 74 0008 00000000 .word .LANCHOR1
+ 75 .cfi_endproc
+ 76 .LFE44:
+ 78 .section .text.USBD_FS_ProductStrDescriptor,"ax",%progbits
+ 79 .align 1
+ 80 .global USBD_FS_ProductStrDescriptor
+ 81 .syntax unified
+ 82 .code 16
+ 83 .thumb_func
+ ARM GAS /tmp/cc69mfuT.s page 7
+
+
+ 84 .fpu softvfp
+ 86 USBD_FS_ProductStrDescriptor:
+ 87 .LFB45:
+ 264:Src/usbd_desc.c ****
+ 265:Src/usbd_desc.c **** /**
+ 266:Src/usbd_desc.c **** * @brief Return the product string descriptor
+ 267:Src/usbd_desc.c **** * @param speed : Current device speed
+ 268:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 269:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 270:Src/usbd_desc.c **** */
+ 271:Src/usbd_desc.c **** uint8_t * USBD_FS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 272:Src/usbd_desc.c **** {
+ 88 .loc 1 272 0
+ 89 .cfi_startproc
+ 90 @ args = 0, pretend = 0, frame = 0
+ 91 @ frame_needed = 0, uses_anonymous_args = 0
+ 92 .LVL4:
+ 93 0000 10B5 push {r4, lr}
+ 94 .LCFI0:
+ 95 .cfi_def_cfa_offset 8
+ 96 .cfi_offset 4, -8
+ 97 .cfi_offset 14, -4
+ 98 0002 0A00 movs r2, r1
+ 273:Src/usbd_desc.c **** if(speed == 0)
+ 99 .loc 1 273 0
+ 100 0004 0028 cmp r0, #0
+ 101 0006 05D0 beq .L10
+ 274:Src/usbd_desc.c **** {
+ 275:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
+ 276:Src/usbd_desc.c **** }
+ 277:Src/usbd_desc.c **** else
+ 278:Src/usbd_desc.c **** {
+ 279:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_FS, USBD_StrDesc, length);
+ 102 .loc 1 279 0
+ 103 0008 0549 ldr r1, .L11
+ 104 .LVL5:
+ 105 000a 0648 ldr r0, .L11+4
+ 106 .LVL6:
+ 107 000c FFF7FEFF bl USBD_GetString
+ 108 .LVL7:
+ 109 .L9:
+ 280:Src/usbd_desc.c **** }
+ 281:Src/usbd_desc.c **** return USBD_StrDesc;
+ 282:Src/usbd_desc.c **** }
+ 110 .loc 1 282 0
+ 111 0010 0348 ldr r0, .L11
+ 112 @ sp needed
+ 113 0012 10BD pop {r4, pc}
+ 114 .LVL8:
+ 115 .L10:
+ 275:Src/usbd_desc.c **** }
+ 116 .loc 1 275 0
+ 117 0014 0249 ldr r1, .L11
+ 118 .LVL9:
+ 119 0016 0348 ldr r0, .L11+4
+ 120 .LVL10:
+ 121 0018 FFF7FEFF bl USBD_GetString
+ ARM GAS /tmp/cc69mfuT.s page 8
+
+
+ 122 .LVL11:
+ 123 001c F8E7 b .L9
+ 124 .L12:
+ 125 001e C046 .align 2
+ 126 .L11:
+ 127 0020 00000000 .word USBD_StrDesc
+ 128 0024 00000000 .word .LC3
+ 129 .cfi_endproc
+ 130 .LFE45:
+ 132 .section .text.USBD_FS_ManufacturerStrDescriptor,"ax",%progbits
+ 133 .align 1
+ 134 .global USBD_FS_ManufacturerStrDescriptor
+ 135 .syntax unified
+ 136 .code 16
+ 137 .thumb_func
+ 138 .fpu softvfp
+ 140 USBD_FS_ManufacturerStrDescriptor:
+ 141 .LFB46:
+ 283:Src/usbd_desc.c ****
+ 284:Src/usbd_desc.c **** /**
+ 285:Src/usbd_desc.c **** * @brief Return the manufacturer string descriptor
+ 286:Src/usbd_desc.c **** * @param speed : Current device speed
+ 287:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 288:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 289:Src/usbd_desc.c **** */
+ 290:Src/usbd_desc.c **** uint8_t * USBD_FS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 291:Src/usbd_desc.c **** {
+ 142 .loc 1 291 0
+ 143 .cfi_startproc
+ 144 @ args = 0, pretend = 0, frame = 0
+ 145 @ frame_needed = 0, uses_anonymous_args = 0
+ 146 .LVL12:
+ 147 0000 10B5 push {r4, lr}
+ 148 .LCFI1:
+ 149 .cfi_def_cfa_offset 8
+ 150 .cfi_offset 4, -8
+ 151 .cfi_offset 14, -4
+ 152 0002 0A00 movs r2, r1
+ 292:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length);
+ 153 .loc 1 292 0
+ 154 0004 034C ldr r4, .L14
+ 155 0006 2100 movs r1, r4
+ 156 .LVL13:
+ 157 0008 0348 ldr r0, .L14+4
+ 158 .LVL14:
+ 159 000a FFF7FEFF bl USBD_GetString
+ 160 .LVL15:
+ 293:Src/usbd_desc.c **** return USBD_StrDesc;
+ 294:Src/usbd_desc.c **** }
+ 161 .loc 1 294 0
+ 162 000e 2000 movs r0, r4
+ 163 @ sp needed
+ 164 0010 10BD pop {r4, pc}
+ 165 .L15:
+ 166 0012 C046 .align 2
+ 167 .L14:
+ 168 0014 00000000 .word USBD_StrDesc
+ ARM GAS /tmp/cc69mfuT.s page 9
+
+
+ 169 0018 00000000 .word .LC6
+ 170 .cfi_endproc
+ 171 .LFE46:
+ 173 .section .text.USBD_FS_SerialStrDescriptor,"ax",%progbits
+ 174 .align 1
+ 175 .global USBD_FS_SerialStrDescriptor
+ 176 .syntax unified
+ 177 .code 16
+ 178 .thumb_func
+ 179 .fpu softvfp
+ 181 USBD_FS_SerialStrDescriptor:
+ 182 .LFB47:
+ 295:Src/usbd_desc.c ****
+ 296:Src/usbd_desc.c **** /**
+ 297:Src/usbd_desc.c **** * @brief Return the serial number string descriptor
+ 298:Src/usbd_desc.c **** * @param speed : Current device speed
+ 299:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 300:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 301:Src/usbd_desc.c **** */
+ 302:Src/usbd_desc.c **** uint8_t * USBD_FS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 303:Src/usbd_desc.c **** {
+ 183 .loc 1 303 0
+ 184 .cfi_startproc
+ 185 @ args = 0, pretend = 0, frame = 0
+ 186 @ frame_needed = 0, uses_anonymous_args = 0
+ 187 .LVL16:
+ 188 0000 10B5 push {r4, lr}
+ 189 .LCFI2:
+ 190 .cfi_def_cfa_offset 8
+ 191 .cfi_offset 4, -8
+ 192 .cfi_offset 14, -4
+ 193 0002 0A00 movs r2, r1
+ 304:Src/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
+ 194 .loc 1 304 0
+ 195 0004 0028 cmp r0, #0
+ 196 0006 05D0 beq .L19
+ 305:Src/usbd_desc.c **** {
+ 306:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_SERIALNUMBER_STRING_FS, USBD_StrDesc, length);
+ 307:Src/usbd_desc.c **** }
+ 308:Src/usbd_desc.c **** else
+ 309:Src/usbd_desc.c **** {
+ 310:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_SERIALNUMBER_STRING_FS, USBD_StrDesc, length);
+ 197 .loc 1 310 0
+ 198 0008 0549 ldr r1, .L20
+ 199 .LVL17:
+ 200 000a 0648 ldr r0, .L20+4
+ 201 .LVL18:
+ 202 000c FFF7FEFF bl USBD_GetString
+ 203 .LVL19:
+ 204 .L18:
+ 311:Src/usbd_desc.c **** }
+ 312:Src/usbd_desc.c **** return USBD_StrDesc;
+ 313:Src/usbd_desc.c **** }
+ 205 .loc 1 313 0
+ 206 0010 0348 ldr r0, .L20
+ 207 @ sp needed
+ 208 0012 10BD pop {r4, pc}
+ ARM GAS /tmp/cc69mfuT.s page 10
+
+
+ 209 .LVL20:
+ 210 .L19:
+ 306:Src/usbd_desc.c **** }
+ 211 .loc 1 306 0
+ 212 0014 0249 ldr r1, .L20
+ 213 .LVL21:
+ 214 0016 0348 ldr r0, .L20+4
+ 215 .LVL22:
+ 216 0018 FFF7FEFF bl USBD_GetString
+ 217 .LVL23:
+ 218 001c F8E7 b .L18
+ 219 .L21:
+ 220 001e C046 .align 2
+ 221 .L20:
+ 222 0020 00000000 .word USBD_StrDesc
+ 223 0024 00000000 .word .LC9
+ 224 .cfi_endproc
+ 225 .LFE47:
+ 227 .section .text.USBD_FS_ConfigStrDescriptor,"ax",%progbits
+ 228 .align 1
+ 229 .global USBD_FS_ConfigStrDescriptor
+ 230 .syntax unified
+ 231 .code 16
+ 232 .thumb_func
+ 233 .fpu softvfp
+ 235 USBD_FS_ConfigStrDescriptor:
+ 236 .LFB48:
+ 314:Src/usbd_desc.c ****
+ 315:Src/usbd_desc.c **** /**
+ 316:Src/usbd_desc.c **** * @brief Return the configuration string descriptor
+ 317:Src/usbd_desc.c **** * @param speed : Current device speed
+ 318:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 319:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 320:Src/usbd_desc.c **** */
+ 321:Src/usbd_desc.c **** uint8_t * USBD_FS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 322:Src/usbd_desc.c **** {
+ 237 .loc 1 322 0
+ 238 .cfi_startproc
+ 239 @ args = 0, pretend = 0, frame = 0
+ 240 @ frame_needed = 0, uses_anonymous_args = 0
+ 241 .LVL24:
+ 242 0000 10B5 push {r4, lr}
+ 243 .LCFI3:
+ 244 .cfi_def_cfa_offset 8
+ 245 .cfi_offset 4, -8
+ 246 .cfi_offset 14, -4
+ 247 0002 0A00 movs r2, r1
+ 323:Src/usbd_desc.c **** if(speed == USBD_SPEED_HIGH)
+ 248 .loc 1 323 0
+ 249 0004 0028 cmp r0, #0
+ 250 0006 05D0 beq .L25
+ 324:Src/usbd_desc.c **** {
+ 325:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
+ 326:Src/usbd_desc.c **** }
+ 327:Src/usbd_desc.c **** else
+ 328:Src/usbd_desc.c **** {
+ 329:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_FS, USBD_StrDesc, length);
+ ARM GAS /tmp/cc69mfuT.s page 11
+
+
+ 251 .loc 1 329 0
+ 252 0008 0549 ldr r1, .L26
+ 253 .LVL25:
+ 254 000a 0648 ldr r0, .L26+4
+ 255 .LVL26:
+ 256 000c FFF7FEFF bl USBD_GetString
+ 257 .LVL27:
+ 258 .L24:
+ 330:Src/usbd_desc.c **** }
+ 331:Src/usbd_desc.c **** return USBD_StrDesc;
+ 332:Src/usbd_desc.c **** }
+ 259 .loc 1 332 0
+ 260 0010 0348 ldr r0, .L26
+ 261 @ sp needed
+ 262 0012 10BD pop {r4, pc}
+ 263 .LVL28:
+ 264 .L25:
+ 325:Src/usbd_desc.c **** }
+ 265 .loc 1 325 0
+ 266 0014 0249 ldr r1, .L26
+ 267 .LVL29:
+ 268 0016 0348 ldr r0, .L26+4
+ 269 .LVL30:
+ 270 0018 FFF7FEFF bl USBD_GetString
+ 271 .LVL31:
+ 272 001c F8E7 b .L24
+ 273 .L27:
+ 274 001e C046 .align 2
+ 275 .L26:
+ 276 0020 00000000 .word USBD_StrDesc
+ 277 0024 00000000 .word .LC12
+ 278 .cfi_endproc
+ 279 .LFE48:
+ 281 .section .text.USBD_FS_InterfaceStrDescriptor,"ax",%progbits
+ 282 .align 1
+ 283 .global USBD_FS_InterfaceStrDescriptor
+ 284 .syntax unified
+ 285 .code 16
+ 286 .thumb_func
+ 287 .fpu softvfp
+ 289 USBD_FS_InterfaceStrDescriptor:
+ 290 .LFB49:
+ 333:Src/usbd_desc.c ****
+ 334:Src/usbd_desc.c **** /**
+ 335:Src/usbd_desc.c **** * @brief Return the interface string descriptor
+ 336:Src/usbd_desc.c **** * @param speed : Current device speed
+ 337:Src/usbd_desc.c **** * @param length : Pointer to data length variable
+ 338:Src/usbd_desc.c **** * @retval Pointer to descriptor buffer
+ 339:Src/usbd_desc.c **** */
+ 340:Src/usbd_desc.c **** uint8_t * USBD_FS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length)
+ 341:Src/usbd_desc.c **** {
+ 291 .loc 1 341 0
+ 292 .cfi_startproc
+ 293 @ args = 0, pretend = 0, frame = 0
+ 294 @ frame_needed = 0, uses_anonymous_args = 0
+ 295 .LVL32:
+ 296 0000 10B5 push {r4, lr}
+ ARM GAS /tmp/cc69mfuT.s page 12
+
+
+ 297 .LCFI4:
+ 298 .cfi_def_cfa_offset 8
+ 299 .cfi_offset 4, -8
+ 300 .cfi_offset 14, -4
+ 301 0002 0A00 movs r2, r1
+ 342:Src/usbd_desc.c **** if(speed == 0)
+ 302 .loc 1 342 0
+ 303 0004 0028 cmp r0, #0
+ 304 0006 05D0 beq .L31
+ 343:Src/usbd_desc.c **** {
+ 344:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
+ 345:Src/usbd_desc.c **** }
+ 346:Src/usbd_desc.c **** else
+ 347:Src/usbd_desc.c **** {
+ 348:Src/usbd_desc.c **** USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_FS, USBD_StrDesc, length);
+ 305 .loc 1 348 0
+ 306 0008 0549 ldr r1, .L32
+ 307 .LVL33:
+ 308 000a 0648 ldr r0, .L32+4
+ 309 .LVL34:
+ 310 000c FFF7FEFF bl USBD_GetString
+ 311 .LVL35:
+ 312 .L30:
+ 349:Src/usbd_desc.c **** }
+ 350:Src/usbd_desc.c **** return USBD_StrDesc;
+ 351:Src/usbd_desc.c **** }
+ 313 .loc 1 351 0
+ 314 0010 0348 ldr r0, .L32
+ 315 @ sp needed
+ 316 0012 10BD pop {r4, pc}
+ 317 .LVL36:
+ 318 .L31:
+ 344:Src/usbd_desc.c **** }
+ 319 .loc 1 344 0
+ 320 0014 0249 ldr r1, .L32
+ 321 .LVL37:
+ 322 0016 0348 ldr r0, .L32+4
+ 323 .LVL38:
+ 324 0018 FFF7FEFF bl USBD_GetString
+ 325 .LVL39:
+ 326 001c F8E7 b .L30
+ 327 .L33:
+ 328 001e C046 .align 2
+ 329 .L32:
+ 330 0020 00000000 .word USBD_StrDesc
+ 331 0024 00000000 .word .LC15
+ 332 .cfi_endproc
+ 333 .LFE49:
+ 335 .comm USBD_StrDesc,512,4
+ 336 .global USBD_LangIDDesc
+ 337 .global USBD_FS_DeviceDesc
+ 338 .global FS_Desc
+ 339 .section .data.FS_Desc,"aw",%progbits
+ 340 .align 2
+ 343 FS_Desc:
+ 344 0000 00000000 .word USBD_FS_DeviceDescriptor
+ 345 0004 00000000 .word USBD_FS_LangIDStrDescriptor
+ ARM GAS /tmp/cc69mfuT.s page 13
+
+
+ 346 0008 00000000 .word USBD_FS_ManufacturerStrDescriptor
+ 347 000c 00000000 .word USBD_FS_ProductStrDescriptor
+ 348 0010 00000000 .word USBD_FS_SerialStrDescriptor
+ 349 0014 00000000 .word USBD_FS_ConfigStrDescriptor
+ 350 0018 00000000 .word USBD_FS_InterfaceStrDescriptor
+ 351 .section .data.USBD_FS_DeviceDesc,"aw",%progbits
+ 352 .align 2
+ 353 .set .LANCHOR0,. + 0
+ 356 USBD_FS_DeviceDesc:
+ 357 0000 12 .byte 18
+ 358 0001 01 .byte 1
+ 359 0002 00 .byte 0
+ 360 0003 02 .byte 2
+ 361 0004 02 .byte 2
+ 362 0005 02 .byte 2
+ 363 0006 00 .byte 0
+ 364 0007 40 .byte 64
+ 365 0008 09 .byte 9
+ 366 0009 12 .byte 18
+ 367 000a 01 .byte 1
+ 368 000b 00 .byte 0
+ 369 000c 00 .byte 0
+ 370 000d 02 .byte 2
+ 371 000e 01 .byte 1
+ 372 000f 02 .byte 2
+ 373 0010 03 .byte 3
+ 374 0011 01 .byte 1
+ 375 .section .data.USBD_LangIDDesc,"aw",%progbits
+ 376 .align 2
+ 377 .set .LANCHOR1,. + 0
+ 380 USBD_LangIDDesc:
+ 381 0000 04 .byte 4
+ 382 0001 03 .byte 3
+ 383 0002 11 .byte 17
+ 384 0003 04 .byte 4
+ 385 .section .rodata.USBD_FS_ConfigStrDescriptor.str1.4,"aMS",%progbits,1
+ 386 .align 2
+ 387 .LC12:
+ 388 0000 4D494449 .ascii "MIDI Config\000"
+ 388 20436F6E
+ 388 66696700
+ 389 .section .rodata.USBD_FS_InterfaceStrDescriptor.str1.4,"aMS",%progbits,1
+ 390 .align 2
+ 391 .LC15:
+ 392 0000 4D494449 .ascii "MIDI Interface\000"
+ 392 20496E74
+ 392 65726661
+ 392 636500
+ 393 .section .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4,"aMS",%progbits,1
+ 394 .align 2
+ 395 .LC6:
+ 396 0000 4F747465 .ascii "Otter Scientific\000"
+ 396 72205363
+ 396 69656E74
+ 396 69666963
+ 396 00
+ 397 .section .rodata.USBD_FS_ProductStrDescriptor.str1.4,"aMS",%progbits,1
+ ARM GAS /tmp/cc69mfuT.s page 14
+
+
+ 398 .align 2
+ 399 .LC3:
+ 400 0000 4D494449 .ascii "MIDI Dials\000"
+ 400 20446961
+ 400 6C7300
+ 401 .section .rodata.USBD_FS_SerialStrDescriptor.str1.4,"aMS",%progbits,1
+ 402 .align 2
+ 403 .LC9:
+ 404 0000 30303030 .ascii "00000000001A\000"
+ 404 30303030
+ 404 30303141
+ 404 00
+ 405 .text
+ 406 .Letext0:
+ 407 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 408 .file 3 "/usr/include/newlib/sys/lock.h"
+ 409 .file 4 "/usr/include/newlib/sys/_types.h"
+ 410 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 411 .file 6 "/usr/include/newlib/sys/reent.h"
+ 412 .file 7 "/usr/include/newlib/sys/_stdint.h"
+ 413 .file 8 "/usr/include/newlib/stdlib.h"
+ 414 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 415 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 416 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 417 .file 12 "Inc/usbd_desc.h"
+ 418 .file 13 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h"
+ ARM GAS /tmp/cc69mfuT.s page 15
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_desc.c
+ /tmp/cc69mfuT.s:16 .text.USBD_FS_DeviceDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:23 .text.USBD_FS_DeviceDescriptor:0000000000000000 USBD_FS_DeviceDescriptor
+ /tmp/cc69mfuT.s:43 .text.USBD_FS_DeviceDescriptor:0000000000000008 $d
+ /tmp/cc69mfuT.s:48 .text.USBD_FS_LangIDStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:55 .text.USBD_FS_LangIDStrDescriptor:0000000000000000 USBD_FS_LangIDStrDescriptor
+ /tmp/cc69mfuT.s:74 .text.USBD_FS_LangIDStrDescriptor:0000000000000008 $d
+ /tmp/cc69mfuT.s:79 .text.USBD_FS_ProductStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:86 .text.USBD_FS_ProductStrDescriptor:0000000000000000 USBD_FS_ProductStrDescriptor
+ /tmp/cc69mfuT.s:127 .text.USBD_FS_ProductStrDescriptor:0000000000000020 $d
+ *COM*:0000000000000200 USBD_StrDesc
+ /tmp/cc69mfuT.s:133 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:140 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000000 USBD_FS_ManufacturerStrDescriptor
+ /tmp/cc69mfuT.s:168 .text.USBD_FS_ManufacturerStrDescriptor:0000000000000014 $d
+ /tmp/cc69mfuT.s:174 .text.USBD_FS_SerialStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:181 .text.USBD_FS_SerialStrDescriptor:0000000000000000 USBD_FS_SerialStrDescriptor
+ /tmp/cc69mfuT.s:222 .text.USBD_FS_SerialStrDescriptor:0000000000000020 $d
+ /tmp/cc69mfuT.s:228 .text.USBD_FS_ConfigStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:235 .text.USBD_FS_ConfigStrDescriptor:0000000000000000 USBD_FS_ConfigStrDescriptor
+ /tmp/cc69mfuT.s:276 .text.USBD_FS_ConfigStrDescriptor:0000000000000020 $d
+ /tmp/cc69mfuT.s:282 .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 $t
+ /tmp/cc69mfuT.s:289 .text.USBD_FS_InterfaceStrDescriptor:0000000000000000 USBD_FS_InterfaceStrDescriptor
+ /tmp/cc69mfuT.s:330 .text.USBD_FS_InterfaceStrDescriptor:0000000000000020 $d
+ /tmp/cc69mfuT.s:380 .data.USBD_LangIDDesc:0000000000000000 USBD_LangIDDesc
+ /tmp/cc69mfuT.s:356 .data.USBD_FS_DeviceDesc:0000000000000000 USBD_FS_DeviceDesc
+ /tmp/cc69mfuT.s:343 .data.FS_Desc:0000000000000000 FS_Desc
+ /tmp/cc69mfuT.s:340 .data.FS_Desc:0000000000000000 $d
+ /tmp/cc69mfuT.s:352 .data.USBD_FS_DeviceDesc:0000000000000000 $d
+ /tmp/cc69mfuT.s:376 .data.USBD_LangIDDesc:0000000000000000 $d
+ /tmp/cc69mfuT.s:386 .rodata.USBD_FS_ConfigStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cc69mfuT.s:390 .rodata.USBD_FS_InterfaceStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cc69mfuT.s:394 .rodata.USBD_FS_ManufacturerStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cc69mfuT.s:398 .rodata.USBD_FS_ProductStrDescriptor.str1.4:0000000000000000 $d
+ /tmp/cc69mfuT.s:402 .rodata.USBD_FS_SerialStrDescriptor.str1.4:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+USBD_GetString
diff --git a/fw/midi-dials/build/usbd_desc.o b/fw/midi-dials/build/usbd_desc.o
new file mode 100644
index 0000000..1a1dddc
--- /dev/null
+++ b/fw/midi-dials/build/usbd_desc.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_ioreq.d b/fw/midi-dials/build/usbd_ioreq.d
new file mode 100644
index 0000000..1dee1cb
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ioreq.d
@@ -0,0 +1,107 @@
+build/usbd_ioreq.o: \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
diff --git a/fw/midi-dials/build/usbd_ioreq.lst b/fw/midi-dials/build/usbd_ioreq.lst
new file mode 100644
index 0000000..f5f97d9
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ioreq.lst
@@ -0,0 +1,551 @@
+ARM GAS /tmp/ccDGEx0g.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_ioreq.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_CtlSendData,"ax",%progbits
+ 16 .align 1
+ 17 .global USBD_CtlSendData
+ 18 .syntax unified
+ 19 .code 16
+ 20 .thumb_func
+ 21 .fpu softvfp
+ 23 USBD_CtlSendData:
+ 24 .LFB43:
+ 25 .file 1 "Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c"
+ 1:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 2:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
+ 3:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @file usbd_ioreq.c
+ 4:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @author MCD Application Team
+ 5:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @version V2.4.2
+ 6:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @date 11-December-2015
+ 7:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief This file provides the IO requests APIs for control endpoints.
+ 8:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
+ 9:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @attention
+ 10:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
+ 11:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * <h2><center>&copy; COPYRIGHT 2015 STMicroelectronics</center></h2>
+ 12:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
+ 13:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
+ 14:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * You may not use this file except in compliance with the License.
+ 15:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * You may obtain a copy of the License at:
+ 16:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
+ 17:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * http://www.st.com/software_license_agreement_liberty_v2
+ 18:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
+ 19:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * Unless required by applicable law or agreed to in writing, software
+ 20:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * distributed under the License is distributed on an "AS IS" BASIS,
+ 21:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ 22:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * See the License for the specific language governing permissions and
+ 23:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * limitations under the License.
+ 24:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** *
+ 25:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** ******************************************************************************
+ 26:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 27:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 28:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Includes ------------------------------------------------------------------*/
+ 29:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** #include "usbd_ioreq.h"
+ 30:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 31:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @addtogroup STM32_USB_DEVICE_LIBRARY
+ 32:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 33:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ ARM GAS /tmp/ccDGEx0g.s page 2
+
+
+ 34:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 35:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 36:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ
+ 37:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief control I/O requests module
+ 38:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 39:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 40:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 41:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_TypesDefinitions
+ 42:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 43:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 44:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 45:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
+ 46:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 47:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 48:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 49:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Defines
+ 50:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 51:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 52:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 53:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 54:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
+ 55:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 56:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 57:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 58:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Macros
+ 59:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 60:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 61:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 62:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
+ 63:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 64:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 65:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 66:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Variables
+ 67:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 68:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 69:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 70:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 71:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
+ 72:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 73:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 74:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 75:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_FunctionPrototypes
+ 76:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 77:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 78:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 79:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @}
+ 80:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 81:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 82:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 83:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /** @defgroup USBD_IOREQ_Private_Functions
+ 84:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @{
+ 85:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 86:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 87:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 88:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendData
+ 89:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send data on the ctl pipe
+ 90:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ ARM GAS /tmp/ccDGEx0g.s page 3
+
+
+ 91:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
+ 92:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent
+ 93:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 94:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 95:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendData (USBD_HandleTypeDef *pdev,
+ 96:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf,
+ 97:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len)
+ 98:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 26 .loc 1 98 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 1300 movs r3, r2
+ 99:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
+ 100:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_IN;
+ 37 .loc 1 100 0
+ 38 0004 FA22 movs r2, #250
+ 39 .LVL1:
+ 40 0006 5200 lsls r2, r2, #1
+ 41 0008 0224 movs r4, #2
+ 42 000a 8450 str r4, [r0, r2]
+ 101:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].total_length = len;
+ 43 .loc 1 101 0
+ 44 000c 8361 str r3, [r0, #24]
+ 102:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_in[0].rem_length = len;
+ 45 .loc 1 102 0
+ 46 000e C361 str r3, [r0, #28]
+ 103:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
+ 104:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, pbuf, len);
+ 47 .loc 1 104 0
+ 48 0010 0A00 movs r2, r1
+ 49 0012 0021 movs r1, #0
+ 50 .LVL2:
+ 51 0014 FFF7FEFF bl USBD_LL_Transmit
+ 52 .LVL3:
+ 105:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 106:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 107:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 53 .loc 1 107 0
+ 54 0018 0020 movs r0, #0
+ 55 @ sp needed
+ 56 001a 10BD pop {r4, pc}
+ 57 .cfi_endproc
+ 58 .LFE43:
+ 60 .section .text.USBD_CtlContinueSendData,"ax",%progbits
+ 61 .align 1
+ 62 .global USBD_CtlContinueSendData
+ 63 .syntax unified
+ 64 .code 16
+ 65 .thumb_func
+ 66 .fpu softvfp
+ ARM GAS /tmp/ccDGEx0g.s page 4
+
+
+ 68 USBD_CtlContinueSendData:
+ 69 .LFB44:
+ 108:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 109:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 110:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueSendData
+ 111:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue sending data on the ctl pipe
+ 112:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 113:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
+ 114:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be sent
+ 115:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 116:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 117:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueSendData (USBD_HandleTypeDef *pdev,
+ 118:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf,
+ 119:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len)
+ 120:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 70 .loc 1 120 0
+ 71 .cfi_startproc
+ 72 @ args = 0, pretend = 0, frame = 0
+ 73 @ frame_needed = 0, uses_anonymous_args = 0
+ 74 .LVL4:
+ 75 0000 10B5 push {r4, lr}
+ 76 .LCFI1:
+ 77 .cfi_def_cfa_offset 8
+ 78 .cfi_offset 4, -8
+ 79 .cfi_offset 14, -4
+ 80 0002 1300 movs r3, r2
+ 121:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the next transfer */
+ 122:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, pbuf, len);
+ 81 .loc 1 122 0
+ 82 0004 0A00 movs r2, r1
+ 83 .LVL5:
+ 84 0006 0021 movs r1, #0
+ 85 .LVL6:
+ 86 0008 FFF7FEFF bl USBD_LL_Transmit
+ 87 .LVL7:
+ 123:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 124:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 125:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 88 .loc 1 125 0
+ 89 000c 0020 movs r0, #0
+ 90 @ sp needed
+ 91 000e 10BD pop {r4, pc}
+ 92 .cfi_endproc
+ 93 .LFE44:
+ 95 .section .text.USBD_CtlPrepareRx,"ax",%progbits
+ 96 .align 1
+ 97 .global USBD_CtlPrepareRx
+ 98 .syntax unified
+ 99 .code 16
+ 100 .thumb_func
+ 101 .fpu softvfp
+ 103 USBD_CtlPrepareRx:
+ 104 .LFB45:
+ 126:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 127:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 128:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlPrepareRx
+ 129:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive data on the ctl pipe
+ ARM GAS /tmp/ccDGEx0g.s page 5
+
+
+ 130:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 131:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
+ 132:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received
+ 133:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 134:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 135:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlPrepareRx (USBD_HandleTypeDef *pdev,
+ 136:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf,
+ 137:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len)
+ 138:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 105 .loc 1 138 0
+ 106 .cfi_startproc
+ 107 @ args = 0, pretend = 0, frame = 0
+ 108 @ frame_needed = 0, uses_anonymous_args = 0
+ 109 .LVL8:
+ 110 0000 10B5 push {r4, lr}
+ 111 .LCFI2:
+ 112 .cfi_def_cfa_offset 8
+ 113 .cfi_offset 4, -8
+ 114 .cfi_offset 14, -4
+ 115 0002 1300 movs r3, r2
+ 139:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
+ 140:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_DATA_OUT;
+ 116 .loc 1 140 0
+ 117 0004 FA22 movs r2, #250
+ 118 .LVL9:
+ 119 0006 5200 lsls r2, r2, #1
+ 120 0008 0324 movs r4, #3
+ 121 000a 8450 str r4, [r0, r2]
+ 141:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].total_length = len;
+ 122 .loc 1 141 0
+ 123 000c EC3A subs r2, r2, #236
+ 124 000e 8350 str r3, [r0, r2]
+ 142:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep_out[0].rem_length = len;
+ 125 .loc 1 142 0
+ 126 0010 0432 adds r2, r2, #4
+ 127 0012 8350 str r3, [r0, r2]
+ 143:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
+ 144:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive (pdev,
+ 128 .loc 1 144 0
+ 129 0014 0A00 movs r2, r1
+ 130 0016 0021 movs r1, #0
+ 131 .LVL10:
+ 132 0018 FFF7FEFF bl USBD_LL_PrepareReceive
+ 133 .LVL11:
+ 145:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0,
+ 146:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pbuf,
+ 147:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** len);
+ 148:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 149:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 150:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 134 .loc 1 150 0
+ 135 001c 0020 movs r0, #0
+ 136 @ sp needed
+ 137 001e 10BD pop {r4, pc}
+ 138 .cfi_endproc
+ 139 .LFE45:
+ 141 .section .text.USBD_CtlContinueRx,"ax",%progbits
+ ARM GAS /tmp/ccDGEx0g.s page 6
+
+
+ 142 .align 1
+ 143 .global USBD_CtlContinueRx
+ 144 .syntax unified
+ 145 .code 16
+ 146 .thumb_func
+ 147 .fpu softvfp
+ 149 USBD_CtlContinueRx:
+ 150 .LFB46:
+ 151:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 152:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 153:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlContinueRx
+ 154:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * continue receive data on the ctl pipe
+ 155:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 156:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param buff: pointer to data buffer
+ 157:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param len: length of data to be received
+ 158:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 159:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 160:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlContinueRx (USBD_HandleTypeDef *pdev,
+ 161:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint8_t *pbuf,
+ 162:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t len)
+ 163:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 151 .loc 1 163 0
+ 152 .cfi_startproc
+ 153 @ args = 0, pretend = 0, frame = 0
+ 154 @ frame_needed = 0, uses_anonymous_args = 0
+ 155 .LVL12:
+ 156 0000 10B5 push {r4, lr}
+ 157 .LCFI3:
+ 158 .cfi_def_cfa_offset 8
+ 159 .cfi_offset 4, -8
+ 160 .cfi_offset 14, -4
+ 161 0002 1300 movs r3, r2
+ 164:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 165:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive (pdev,
+ 162 .loc 1 165 0
+ 163 0004 0A00 movs r2, r1
+ 164 .LVL13:
+ 165 0006 0021 movs r1, #0
+ 166 .LVL14:
+ 167 0008 FFF7FEFF bl USBD_LL_PrepareReceive
+ 168 .LVL15:
+ 166:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0,
+ 167:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pbuf,
+ 168:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** len);
+ 169:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 170:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 169 .loc 1 170 0
+ 170 000c 0020 movs r0, #0
+ 171 @ sp needed
+ 172 000e 10BD pop {r4, pc}
+ 173 .cfi_endproc
+ 174 .LFE46:
+ 176 .section .text.USBD_CtlSendStatus,"ax",%progbits
+ 177 .align 1
+ 178 .global USBD_CtlSendStatus
+ 179 .syntax unified
+ 180 .code 16
+ ARM GAS /tmp/ccDGEx0g.s page 7
+
+
+ 181 .thumb_func
+ 182 .fpu softvfp
+ 184 USBD_CtlSendStatus:
+ 185 .LFB47:
+ 171:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 172:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlSendStatus
+ 173:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * send zero lzngth packet on the ctl pipe
+ 174:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 175:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 176:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 177:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlSendStatus (USBD_HandleTypeDef *pdev)
+ 178:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 186 .loc 1 178 0
+ 187 .cfi_startproc
+ 188 @ args = 0, pretend = 0, frame = 0
+ 189 @ frame_needed = 0, uses_anonymous_args = 0
+ 190 .LVL16:
+ 191 0000 10B5 push {r4, lr}
+ 192 .LCFI4:
+ 193 .cfi_def_cfa_offset 8
+ 194 .cfi_offset 4, -8
+ 195 .cfi_offset 14, -4
+ 179:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 180:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
+ 181:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_IN;
+ 196 .loc 1 181 0
+ 197 0002 FA23 movs r3, #250
+ 198 0004 5B00 lsls r3, r3, #1
+ 199 0006 0422 movs r2, #4
+ 200 0008 C250 str r2, [r0, r3]
+ 182:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 183:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
+ 184:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_Transmit (pdev, 0x00, NULL, 0);
+ 201 .loc 1 184 0
+ 202 000a 0023 movs r3, #0
+ 203 000c 0022 movs r2, #0
+ 204 000e 0021 movs r1, #0
+ 205 0010 FFF7FEFF bl USBD_LL_Transmit
+ 206 .LVL17:
+ 185:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 186:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 187:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 207 .loc 1 187 0
+ 208 0014 0020 movs r0, #0
+ 209 @ sp needed
+ 210 0016 10BD pop {r4, pc}
+ 211 .cfi_endproc
+ 212 .LFE47:
+ 214 .section .text.USBD_CtlReceiveStatus,"ax",%progbits
+ 215 .align 1
+ 216 .global USBD_CtlReceiveStatus
+ 217 .syntax unified
+ 218 .code 16
+ 219 .thumb_func
+ 220 .fpu softvfp
+ 222 USBD_CtlReceiveStatus:
+ 223 .LFB48:
+ ARM GAS /tmp/ccDGEx0g.s page 8
+
+
+ 188:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 189:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 190:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_CtlReceiveStatus
+ 191:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * receive zero lzngth packet on the ctl pipe
+ 192:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 193:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval status
+ 194:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 195:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_StatusTypeDef USBD_CtlReceiveStatus (USBD_HandleTypeDef *pdev)
+ 196:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 224 .loc 1 196 0
+ 225 .cfi_startproc
+ 226 @ args = 0, pretend = 0, frame = 0
+ 227 @ frame_needed = 0, uses_anonymous_args = 0
+ 228 .LVL18:
+ 229 0000 10B5 push {r4, lr}
+ 230 .LCFI5:
+ 231 .cfi_def_cfa_offset 8
+ 232 .cfi_offset 4, -8
+ 233 .cfi_offset 14, -4
+ 197:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Set EP0 State */
+ 198:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** pdev->ep0_state = USBD_EP0_STATUS_OUT;
+ 234 .loc 1 198 0
+ 235 0002 FA23 movs r3, #250
+ 236 0004 5B00 lsls r3, r3, #1
+ 237 0006 0522 movs r2, #5
+ 238 0008 C250 str r2, [r0, r3]
+ 199:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 200:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /* Start the transfer */
+ 201:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** USBD_LL_PrepareReceive ( pdev,
+ 239 .loc 1 201 0
+ 240 000a 0023 movs r3, #0
+ 241 000c 0022 movs r2, #0
+ 242 000e 0021 movs r1, #0
+ 243 0010 FFF7FEFF bl USBD_LL_PrepareReceive
+ 244 .LVL19:
+ 202:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0,
+ 203:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** NULL,
+ 204:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** 0);
+ 205:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 206:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_OK;
+ 207:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 245 .loc 1 207 0
+ 246 0014 0020 movs r0, #0
+ 247 @ sp needed
+ 248 0016 10BD pop {r4, pc}
+ 249 .cfi_endproc
+ 250 .LFE48:
+ 252 .section .text.USBD_GetRxCount,"ax",%progbits
+ 253 .align 1
+ 254 .global USBD_GetRxCount
+ 255 .syntax unified
+ 256 .code 16
+ 257 .thumb_func
+ 258 .fpu softvfp
+ 260 USBD_GetRxCount:
+ 261 .LFB49:
+ 208:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ ARM GAS /tmp/ccDGEx0g.s page 9
+
+
+ 209:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c ****
+ 210:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** /**
+ 211:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @brief USBD_GetRxCount
+ 212:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * returns the received data length
+ 213:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param pdev: device instance
+ 214:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @param ep_addr: endpoint address
+ 215:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** * @retval Rx Data blength
+ 216:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** */
+ 217:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** uint16_t USBD_GetRxCount (USBD_HandleTypeDef *pdev , uint8_t ep_addr)
+ 218:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** {
+ 262 .loc 1 218 0
+ 263 .cfi_startproc
+ 264 @ args = 0, pretend = 0, frame = 0
+ 265 @ frame_needed = 0, uses_anonymous_args = 0
+ 266 .LVL20:
+ 267 0000 10B5 push {r4, lr}
+ 268 .LCFI6:
+ 269 .cfi_def_cfa_offset 8
+ 270 .cfi_offset 4, -8
+ 271 .cfi_offset 14, -4
+ 219:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** return USBD_LL_GetRxDataSize(pdev, ep_addr);
+ 272 .loc 1 219 0
+ 273 0002 FFF7FEFF bl USBD_LL_GetRxDataSize
+ 274 .LVL21:
+ 275 0006 80B2 uxth r0, r0
+ 220:Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c **** }
+ 276 .loc 1 220 0
+ 277 @ sp needed
+ 278 0008 10BD pop {r4, pc}
+ 279 .cfi_endproc
+ 280 .LFE49:
+ 282 .text
+ 283 .Letext0:
+ 284 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 285 .file 3 "/usr/include/newlib/sys/lock.h"
+ 286 .file 4 "/usr/include/newlib/sys/_types.h"
+ 287 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 288 .file 6 "/usr/include/newlib/sys/reent.h"
+ 289 .file 7 "/usr/include/newlib/sys/_stdint.h"
+ 290 .file 8 "/usr/include/newlib/stdlib.h"
+ 291 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 292 .file 10 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 293 .file 11 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 294 .file 12 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ ARM GAS /tmp/ccDGEx0g.s page 10
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_ioreq.c
+ /tmp/ccDGEx0g.s:16 .text.USBD_CtlSendData:0000000000000000 $t
+ /tmp/ccDGEx0g.s:23 .text.USBD_CtlSendData:0000000000000000 USBD_CtlSendData
+ /tmp/ccDGEx0g.s:61 .text.USBD_CtlContinueSendData:0000000000000000 $t
+ /tmp/ccDGEx0g.s:68 .text.USBD_CtlContinueSendData:0000000000000000 USBD_CtlContinueSendData
+ /tmp/ccDGEx0g.s:96 .text.USBD_CtlPrepareRx:0000000000000000 $t
+ /tmp/ccDGEx0g.s:103 .text.USBD_CtlPrepareRx:0000000000000000 USBD_CtlPrepareRx
+ /tmp/ccDGEx0g.s:142 .text.USBD_CtlContinueRx:0000000000000000 $t
+ /tmp/ccDGEx0g.s:149 .text.USBD_CtlContinueRx:0000000000000000 USBD_CtlContinueRx
+ /tmp/ccDGEx0g.s:177 .text.USBD_CtlSendStatus:0000000000000000 $t
+ /tmp/ccDGEx0g.s:184 .text.USBD_CtlSendStatus:0000000000000000 USBD_CtlSendStatus
+ /tmp/ccDGEx0g.s:215 .text.USBD_CtlReceiveStatus:0000000000000000 $t
+ /tmp/ccDGEx0g.s:222 .text.USBD_CtlReceiveStatus:0000000000000000 USBD_CtlReceiveStatus
+ /tmp/ccDGEx0g.s:253 .text.USBD_GetRxCount:0000000000000000 $t
+ /tmp/ccDGEx0g.s:260 .text.USBD_GetRxCount:0000000000000000 USBD_GetRxCount
+
+UNDEFINED SYMBOLS
+USBD_LL_Transmit
+USBD_LL_PrepareReceive
+USBD_LL_GetRxDataSize
diff --git a/fw/midi-dials/build/usbd_ioreq.o b/fw/midi-dials/build/usbd_ioreq.o
new file mode 100644
index 0000000..6990ea8
--- /dev/null
+++ b/fw/midi-dials/build/usbd_ioreq.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_midi.d b/fw/midi-dials/build/usbd_midi.d
new file mode 100644
index 0000000..b3da2b4
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi.d
@@ -0,0 +1,115 @@
+build/usbd_midi.o: Middlewares/USBMIDI/Src/usbd_midi.c \
+ Middlewares/USBMIDI/Inc/usbd_midi.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Inc/usbd_desc.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h
+
+Middlewares/USBMIDI/Inc/usbd_midi.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Inc/usbd_desc.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
diff --git a/fw/midi-dials/build/usbd_midi.lst b/fw/midi-dials/build/usbd_midi.lst
new file mode 100644
index 0000000..96e7aef
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi.lst
@@ -0,0 +1,946 @@
+ARM GAS /tmp/ccDAqcJz.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.c"
+ 12 .text
+ 13 .Ltext0:
+ 14 .cfi_sections .debug_frame
+ 15 .section .text.USBD_MIDI_DataIn,"ax",%progbits
+ 16 .align 1
+ 17 .syntax unified
+ 18 .code 16
+ 19 .thumb_func
+ 20 .fpu softvfp
+ 22 USBD_MIDI_DataIn:
+ 23 .LFB45:
+ 24 .file 1 "Middlewares/USBMIDI/Src/usbd_midi.c"
+ 1:Middlewares/USBMIDI/Src/usbd_midi.c **** /**
+ 2:Middlewares/USBMIDI/Src/usbd_midi.c **** ******************************************************************************
+ 3:Middlewares/USBMIDI/Src/usbd_midi.c **** * @file usbd_midi.c
+ 4:Middlewares/USBMIDI/Src/usbd_midi.c **** ******************************************************************************
+ 5:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 6:Middlewares/USBMIDI/Src/usbd_midi.c **** (CC at)2016 by D.F.Mac. @TripArts Music
+ 7:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 8:Middlewares/USBMIDI/Src/usbd_midi.c **** */
+ 9:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 10:Middlewares/USBMIDI/Src/usbd_midi.c **** /* Includes ------------------------------------------------------------------*/
+ 11:Middlewares/USBMIDI/Src/usbd_midi.c **** #include "usbd_midi.h"
+ 12:Middlewares/USBMIDI/Src/usbd_midi.c **** #include "usbd_desc.h"
+ 13:Middlewares/USBMIDI/Src/usbd_midi.c **** #include "stm32f0xx_hal_conf.h"
+ 14:Middlewares/USBMIDI/Src/usbd_midi.c **** #include "usbd_ctlreq.h"
+ 15:Middlewares/USBMIDI/Src/usbd_midi.c **** #include "stm32f0xx_hal.h"
+ 16:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 17:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_Init (USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+ 18:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DeInit (USBD_HandleTypeDef *pdev, uint8_t cfgidx);
+ 19:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum);
+ 20:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum);
+ 21:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 22:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t *USBD_MIDI_GetCfgDesc (uint16_t *length);
+ 23:Middlewares/USBMIDI/Src/usbd_midi.c **** //uint8_t *USBD_MIDI_GetDeviceQualifierDescriptor (uint16_t *length);
+ 24:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_HandleTypeDef *pInstance = NULL;
+ 25:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 26:Middlewares/USBMIDI/Src/usbd_midi.c **** uint32_t APP_Rx_ptr_in = 0;
+ 27:Middlewares/USBMIDI/Src/usbd_midi.c **** uint32_t APP_Rx_ptr_out = 0;
+ 28:Middlewares/USBMIDI/Src/usbd_midi.c **** uint32_t APP_Rx_length = 0;
+ 29:Middlewares/USBMIDI/Src/usbd_midi.c **** uint8_t USB_Tx_State = 0;
+ 30:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 31:Middlewares/USBMIDI/Src/usbd_midi.c **** __ALIGN_BEGIN uint8_t USB_Rx_Buffer[MIDI_DATA_OUT_PACKET_SIZE] __ALIGN_END ;
+ 32:Middlewares/USBMIDI/Src/usbd_midi.c **** __ALIGN_BEGIN uint8_t APP_Rx_Buffer[APP_RX_DATA_SIZE] __ALIGN_END ;
+ 33:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 34:Middlewares/USBMIDI/Src/usbd_midi.c **** /* USB Standard Device Descriptor */
+ ARM GAS /tmp/ccDAqcJz.s page 2
+
+
+ 35:Middlewares/USBMIDI/Src/usbd_midi.c **** /*
+ 36:Middlewares/USBMIDI/Src/usbd_midi.c **** __ALIGN_BEGIN static uint8_t USBD_MIDI_DeviceQualifierDesc[USB_LEN_DEV_QUALIFIER_DESC] __ALIGN_END
+ 37:Middlewares/USBMIDI/Src/usbd_midi.c **** {
+ 38:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_LEN_DEV_QUALIFIER_DESC,
+ 39:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_DESC_TYPE_DEVICE_QUALIFIER,
+ 40:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x00,
+ 41:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x02,
+ 42:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x00,
+ 43:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x00,
+ 44:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x00,
+ 45:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x40,
+ 46:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x01,
+ 47:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x00,
+ 48:Middlewares/USBMIDI/Src/usbd_midi.c **** };
+ 49:Middlewares/USBMIDI/Src/usbd_midi.c **** */
+ 50:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 51:Middlewares/USBMIDI/Src/usbd_midi.c **** /* USB MIDI interface class callbacks structure */
+ 52:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_ClassTypeDef USBD_MIDI =
+ 53:Middlewares/USBMIDI/Src/usbd_midi.c **** {
+ 54:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_Init,
+ 55:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_DeInit,
+ 56:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 57:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 58:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 59:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_DataIn,
+ 60:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_DataOut,
+ 61:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 62:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 63:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,
+ 64:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,// HS
+ 65:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_GetCfgDesc,// FS
+ 66:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,// OTHER SPEED
+ 67:Middlewares/USBMIDI/Src/usbd_midi.c **** NULL,// DEVICE_QUALIFIER
+ 68:Middlewares/USBMIDI/Src/usbd_midi.c **** };
+ 69:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 70:Middlewares/USBMIDI/Src/usbd_midi.c **** /* USB MIDI device Configuration Descriptor */
+ 71:Middlewares/USBMIDI/Src/usbd_midi.c **** __ALIGN_BEGIN uint8_t USBD_MIDI_CfgDesc[USB_MIDI_CONFIG_DESC_SIZ] __ALIGN_END =
+ 72:Middlewares/USBMIDI/Src/usbd_midi.c **** {
+ 73:Middlewares/USBMIDI/Src/usbd_midi.c **** // configuration descriptor
+ 74:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x02, 0x65 + 6+6+9+9+1+1, 0x00, 0x02, 0x01, 0x00, 0x80, 0x0A,
+ 75:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 76:Middlewares/USBMIDI/Src/usbd_midi.c **** // The Audio Interface Collection
+ 77:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x04, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, // Standard AC Interface Descriptor
+ 78:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x24, 0x01, 0x00, 0x01, 0x09, 0x00, 0x01, 0x01, // Class-specific AC Interface Descriptor
+ 79:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x04, 0x01, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, // MIDIStreaming Interface Descriptors
+ 80:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x07, 0x24, 0x01, 0x00, 0x01, 0x25 + 6+6+9+9, 0x00, // Class-Specific MS Interface Header Descr
+ 81:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 82:Middlewares/USBMIDI/Src/usbd_midi.c **** // MIDI IN JACKS
+ 83:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x24, 0x02, 0x01, 0x01, 0x00,//MIDI-IN 1 (embedded)
+ 84:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x24, 0x02, 0x02, 0x02, 0x00,//MIDI-IN 1 (external)
+ 85:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 86:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x24, 0x02, 0x01, 0x11, 0x00,//MIDI-IN 2 (embedded)
+ 87:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x24, 0x02, 0x02, 0x12, 0x00,//MIDI-IN 2 (external)
+ 88:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 89:Middlewares/USBMIDI/Src/usbd_midi.c **** // MIDI OUT JACKS
+ 90:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x24, 0x03, 0x01, 0x03, 0x01, 0x02, 0x01, 0x00,//MIDI-OUT 1 (embedded)
+ 91:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x24, 0x03, 0x02, 0x04, 0x01, 0x01, 0x01, 0x00,//MIDI-OUT 1 (external)
+ ARM GAS /tmp/ccDAqcJz.s page 3
+
+
+ 92:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 93:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x24, 0x03, 0x01, 0x13, 0x01, 0x12, 0x01, 0x00,//MIDI-OUT 2 (embedded)
+ 94:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x24, 0x03, 0x02, 0x14, 0x01, 0x11, 0x01, 0x00,//MIDI-OUT 2 (external)
+ 95:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 96:Middlewares/USBMIDI/Src/usbd_midi.c **** // OUT endpoint descriptor
+ 97:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x05, MIDI_OUT_EP, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 98:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x25, 0x01, 0x02, 0x01, 0x11,
+ 99:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 100:Middlewares/USBMIDI/Src/usbd_midi.c **** // IN endpoint descriptor
+ 101:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x09, 0x05, MIDI_IN_EP, 0x02, 0x40, 0x00, 0x00, 0x00, 0x00,
+ 102:Middlewares/USBMIDI/Src/usbd_midi.c **** 0x06, 0x25, 0x01, 0x02, 0x03, 0x13,
+ 103:Middlewares/USBMIDI/Src/usbd_midi.c **** };
+ 104:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 105:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx){
+ 106:Middlewares/USBMIDI/Src/usbd_midi.c **** pInstance = pdev;
+ 107:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_OpenEP(pdev,MIDI_IN_EP,USBD_EP_TYPE_BULK,MIDI_DATA_IN_PACKET_SIZE);
+ 108:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_OpenEP(pdev,MIDI_OUT_EP,USBD_EP_TYPE_BULK,MIDI_DATA_OUT_PACKET_SIZE);
+ 109:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_PrepareReceive(pdev,MIDI_OUT_EP,(uint8_t*)(USB_Rx_Buffer),MIDI_DATA_OUT_PACKET_SIZE);
+ 110:Middlewares/USBMIDI/Src/usbd_midi.c **** return 0;
+ 111:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 112:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 113:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DeInit (USBD_HandleTypeDef *pdev, uint8_t cfgidx){
+ 114:Middlewares/USBMIDI/Src/usbd_midi.c **** pInstance = NULL;
+ 115:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_CloseEP(pdev,MIDI_IN_EP);
+ 116:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_CloseEP(pdev,MIDI_OUT_EP);
+ 117:Middlewares/USBMIDI/Src/usbd_midi.c **** return 0;
+ 118:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 119:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 120:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DataIn (USBD_HandleTypeDef *pdev, uint8_t epnum){
+ 25 .loc 1 120 0
+ 26 .cfi_startproc
+ 27 @ args = 0, pretend = 0, frame = 0
+ 28 @ frame_needed = 0, uses_anonymous_args = 0
+ 29 @ link register save eliminated.
+ 30 .LVL0:
+ 121:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 122:Middlewares/USBMIDI/Src/usbd_midi.c **** if (USB_Tx_State == 1){
+ 31 .loc 1 122 0
+ 32 0000 044B ldr r3, .L4
+ 33 0002 1B78 ldrb r3, [r3]
+ 34 0004 012B cmp r3, #1
+ 35 0006 01D0 beq .L3
+ 36 .L2:
+ 123:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_State = 0;
+ 124:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 125:Middlewares/USBMIDI/Src/usbd_midi.c **** return USBD_OK;
+ 126:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 37 .loc 1 126 0
+ 38 0008 0020 movs r0, #0
+ 39 .LVL1:
+ 40 @ sp needed
+ 41 000a 7047 bx lr
+ 42 .LVL2:
+ 43 .L3:
+ 123:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_State = 0;
+ 44 .loc 1 123 0
+ 45 000c 014B ldr r3, .L4
+ ARM GAS /tmp/ccDAqcJz.s page 4
+
+
+ 46 000e 0022 movs r2, #0
+ 47 0010 1A70 strb r2, [r3]
+ 48 0012 F9E7 b .L2
+ 49 .L5:
+ 50 .align 2
+ 51 .L4:
+ 52 0014 00000000 .word .LANCHOR0
+ 53 .cfi_endproc
+ 54 .LFE45:
+ 56 .section .text.USBD_MIDI_GetCfgDesc,"ax",%progbits
+ 57 .align 1
+ 58 .syntax unified
+ 59 .code 16
+ 60 .thumb_func
+ 61 .fpu softvfp
+ 63 USBD_MIDI_GetCfgDesc:
+ 64 .LFB48:
+ 127:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 128:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t USBD_MIDI_DataOut (USBD_HandleTypeDef *pdev, uint8_t epnum)
+ 129:Middlewares/USBMIDI/Src/usbd_midi.c **** {
+ 130:Middlewares/USBMIDI/Src/usbd_midi.c **** uint16_t USB_Rx_Cnt;
+ 131:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 132:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_MIDI_ItfTypeDef *pmidi;
+ 133:Middlewares/USBMIDI/Src/usbd_midi.c **** pmidi = (USBD_MIDI_ItfTypeDef *)(pdev->pUserData);
+ 134:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 135:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Rx_Cnt = ((PCD_HandleTypeDef*)pdev->pData)->OUT_ep[epnum].xfer_count;
+ 136:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 137:Middlewares/USBMIDI/Src/usbd_midi.c **** pmidi->pIf_MidiRx((uint8_t *)&USB_Rx_Buffer, USB_Rx_Cnt);
+ 138:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 139:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_PrepareReceive(pdev,MIDI_OUT_EP,(uint8_t*)(USB_Rx_Buffer),MIDI_DATA_OUT_PACKET_SIZE);
+ 140:Middlewares/USBMIDI/Src/usbd_midi.c **** return USBD_OK;
+ 141:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 142:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 143:Middlewares/USBMIDI/Src/usbd_midi.c **** void USBD_MIDI_SendPacket (){
+ 144:Middlewares/USBMIDI/Src/usbd_midi.c **** uint16_t USB_Tx_ptr;
+ 145:Middlewares/USBMIDI/Src/usbd_midi.c **** uint16_t USB_Tx_length;
+ 146:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 147:Middlewares/USBMIDI/Src/usbd_midi.c **** if(USB_Tx_State != 1){
+ 148:Middlewares/USBMIDI/Src/usbd_midi.c **** if (APP_Rx_ptr_out == APP_RX_DATA_SIZE){
+ 149:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out = 0;
+ 150:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 151:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 152:Middlewares/USBMIDI/Src/usbd_midi.c **** if(APP_Rx_ptr_out == APP_Rx_ptr_in){
+ 153:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_State = 0;
+ 154:Middlewares/USBMIDI/Src/usbd_midi.c **** return;
+ 155:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 156:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 157:Middlewares/USBMIDI/Src/usbd_midi.c **** if(APP_Rx_ptr_out > APP_Rx_ptr_in){
+ 158:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length = APP_RX_DATA_SIZE - APP_Rx_ptr_out;
+ 159:Middlewares/USBMIDI/Src/usbd_midi.c **** }else{
+ 160:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length = APP_Rx_ptr_in - APP_Rx_ptr_out;
+ 161:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 162:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 163:Middlewares/USBMIDI/Src/usbd_midi.c **** if (APP_Rx_length > MIDI_DATA_IN_PACKET_SIZE){
+ 164:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_ptr = APP_Rx_ptr_out;
+ 165:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_length = MIDI_DATA_IN_PACKET_SIZE;
+ 166:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out += MIDI_DATA_IN_PACKET_SIZE;
+ ARM GAS /tmp/ccDAqcJz.s page 5
+
+
+ 167:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length -= MIDI_DATA_IN_PACKET_SIZE;
+ 168:Middlewares/USBMIDI/Src/usbd_midi.c **** }else{
+ 169:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_ptr = APP_Rx_ptr_out;
+ 170:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_length = APP_Rx_length;
+ 171:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out += APP_Rx_length;
+ 172:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length = 0;
+ 173:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 174:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_State = 1;
+ 175:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_Transmit (pInstance, MIDI_IN_EP,(uint8_t*)&APP_Rx_Buffer[USB_Tx_ptr],USB_Tx_length);
+ 176:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 177:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 178:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 179:Middlewares/USBMIDI/Src/usbd_midi.c **** static uint8_t *USBD_MIDI_GetCfgDesc (uint16_t *length){
+ 65 .loc 1 179 0
+ 66 .cfi_startproc
+ 67 @ args = 0, pretend = 0, frame = 0
+ 68 @ frame_needed = 0, uses_anonymous_args = 0
+ 69 @ link register save eliminated.
+ 70 .LVL3:
+ 180:Middlewares/USBMIDI/Src/usbd_midi.c **** *length = sizeof (USBD_MIDI_CfgDesc);
+ 71 .loc 1 180 0
+ 72 0000 8523 movs r3, #133
+ 73 0002 0380 strh r3, [r0]
+ 181:Middlewares/USBMIDI/Src/usbd_midi.c **** return USBD_MIDI_CfgDesc;
+ 182:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 74 .loc 1 182 0
+ 75 0004 0048 ldr r0, .L7
+ 76 .LVL4:
+ 77 @ sp needed
+ 78 0006 7047 bx lr
+ 79 .L8:
+ 80 .align 2
+ 81 .L7:
+ 82 0008 00000000 .word USBD_MIDI_CfgDesc
+ 83 .cfi_endproc
+ 84 .LFE48:
+ 86 .section .text.USBD_MIDI_DataOut,"ax",%progbits
+ 87 .align 1
+ 88 .syntax unified
+ 89 .code 16
+ 90 .thumb_func
+ 91 .fpu softvfp
+ 93 USBD_MIDI_DataOut:
+ 94 .LFB46:
+ 129:Middlewares/USBMIDI/Src/usbd_midi.c **** uint16_t USB_Rx_Cnt;
+ 95 .loc 1 129 0
+ 96 .cfi_startproc
+ 97 @ args = 0, pretend = 0, frame = 0
+ 98 @ frame_needed = 0, uses_anonymous_args = 0
+ 99 .LVL5:
+ 100 0000 70B5 push {r4, r5, r6, lr}
+ 101 .LCFI0:
+ 102 .cfi_def_cfa_offset 16
+ 103 .cfi_offset 4, -16
+ 104 .cfi_offset 5, -12
+ 105 .cfi_offset 6, -8
+ 106 .cfi_offset 14, -4
+ ARM GAS /tmp/ccDAqcJz.s page 6
+
+
+ 107 0002 0400 movs r4, r0
+ 133:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 108 .loc 1 133 0
+ 109 0004 8723 movs r3, #135
+ 110 0006 9B00 lsls r3, r3, #2
+ 111 0008 C258 ldr r2, [r0, r3]
+ 112 .LVL6:
+ 135:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 113 .loc 1 135 0
+ 114 000a 0433 adds r3, r3, #4
+ 115 000c C358 ldr r3, [r0, r3]
+ 116 000e 0A31 adds r1, r1, #10
+ 117 .LVL7:
+ 118 0010 4901 lsls r1, r1, #5
+ 119 0012 5918 adds r1, r3, r1
+ 120 0014 8988 ldrh r1, [r1, #4]
+ 121 .LVL8:
+ 137:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 122 .loc 1 137 0
+ 123 0016 1368 ldr r3, [r2]
+ 124 0018 054D ldr r5, .L10
+ 125 001a 2800 movs r0, r5
+ 126 .LVL9:
+ 127 001c 9847 blx r3
+ 128 .LVL10:
+ 139:Middlewares/USBMIDI/Src/usbd_midi.c **** return USBD_OK;
+ 129 .loc 1 139 0
+ 130 001e 4023 movs r3, #64
+ 131 0020 2A00 movs r2, r5
+ 132 0022 0121 movs r1, #1
+ 133 0024 2000 movs r0, r4
+ 134 0026 FFF7FEFF bl USBD_LL_PrepareReceive
+ 135 .LVL11:
+ 141:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 136 .loc 1 141 0
+ 137 002a 0020 movs r0, #0
+ 138 @ sp needed
+ 139 .LVL12:
+ 140 002c 70BD pop {r4, r5, r6, pc}
+ 141 .L11:
+ 142 002e C046 .align 2
+ 143 .L10:
+ 144 0030 00000000 .word USB_Rx_Buffer
+ 145 .cfi_endproc
+ 146 .LFE46:
+ 148 .section .text.USBD_MIDI_DeInit,"ax",%progbits
+ 149 .align 1
+ 150 .syntax unified
+ 151 .code 16
+ 152 .thumb_func
+ 153 .fpu softvfp
+ 155 USBD_MIDI_DeInit:
+ 156 .LFB44:
+ 113:Middlewares/USBMIDI/Src/usbd_midi.c **** pInstance = NULL;
+ 157 .loc 1 113 0
+ 158 .cfi_startproc
+ 159 @ args = 0, pretend = 0, frame = 0
+ ARM GAS /tmp/ccDAqcJz.s page 7
+
+
+ 160 @ frame_needed = 0, uses_anonymous_args = 0
+ 161 .LVL13:
+ 162 0000 10B5 push {r4, lr}
+ 163 .LCFI1:
+ 164 .cfi_def_cfa_offset 8
+ 165 .cfi_offset 4, -8
+ 166 .cfi_offset 14, -4
+ 167 0002 0400 movs r4, r0
+ 114:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_CloseEP(pdev,MIDI_IN_EP);
+ 168 .loc 1 114 0
+ 169 0004 054B ldr r3, .L13
+ 170 0006 0022 movs r2, #0
+ 171 0008 1A60 str r2, [r3]
+ 115:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_CloseEP(pdev,MIDI_OUT_EP);
+ 172 .loc 1 115 0
+ 173 000a 8121 movs r1, #129
+ 174 .LVL14:
+ 175 000c FFF7FEFF bl USBD_LL_CloseEP
+ 176 .LVL15:
+ 116:Middlewares/USBMIDI/Src/usbd_midi.c **** return 0;
+ 177 .loc 1 116 0
+ 178 0010 0121 movs r1, #1
+ 179 0012 2000 movs r0, r4
+ 180 0014 FFF7FEFF bl USBD_LL_CloseEP
+ 181 .LVL16:
+ 118:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 182 .loc 1 118 0
+ 183 0018 0020 movs r0, #0
+ 184 @ sp needed
+ 185 .LVL17:
+ 186 001a 10BD pop {r4, pc}
+ 187 .L14:
+ 188 .align 2
+ 189 .L13:
+ 190 001c 00000000 .word .LANCHOR1
+ 191 .cfi_endproc
+ 192 .LFE44:
+ 194 .section .text.USBD_MIDI_Init,"ax",%progbits
+ 195 .align 1
+ 196 .syntax unified
+ 197 .code 16
+ 198 .thumb_func
+ 199 .fpu softvfp
+ 201 USBD_MIDI_Init:
+ 202 .LFB43:
+ 105:Middlewares/USBMIDI/Src/usbd_midi.c **** pInstance = pdev;
+ 203 .loc 1 105 0
+ 204 .cfi_startproc
+ 205 @ args = 0, pretend = 0, frame = 0
+ 206 @ frame_needed = 0, uses_anonymous_args = 0
+ 207 .LVL18:
+ 208 0000 10B5 push {r4, lr}
+ 209 .LCFI2:
+ 210 .cfi_def_cfa_offset 8
+ 211 .cfi_offset 4, -8
+ 212 .cfi_offset 14, -4
+ 213 0002 0400 movs r4, r0
+ ARM GAS /tmp/ccDAqcJz.s page 8
+
+
+ 106:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_OpenEP(pdev,MIDI_IN_EP,USBD_EP_TYPE_BULK,MIDI_DATA_IN_PACKET_SIZE);
+ 214 .loc 1 106 0
+ 215 0004 0A4B ldr r3, .L16
+ 216 0006 1860 str r0, [r3]
+ 107:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_OpenEP(pdev,MIDI_OUT_EP,USBD_EP_TYPE_BULK,MIDI_DATA_OUT_PACKET_SIZE);
+ 217 .loc 1 107 0
+ 218 0008 4023 movs r3, #64
+ 219 000a 0222 movs r2, #2
+ 220 000c 8121 movs r1, #129
+ 221 .LVL19:
+ 222 000e FFF7FEFF bl USBD_LL_OpenEP
+ 223 .LVL20:
+ 108:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_PrepareReceive(pdev,MIDI_OUT_EP,(uint8_t*)(USB_Rx_Buffer),MIDI_DATA_OUT_PACKET_SIZE);
+ 224 .loc 1 108 0
+ 225 0012 4023 movs r3, #64
+ 226 0014 0222 movs r2, #2
+ 227 0016 0121 movs r1, #1
+ 228 0018 2000 movs r0, r4
+ 229 001a FFF7FEFF bl USBD_LL_OpenEP
+ 230 .LVL21:
+ 109:Middlewares/USBMIDI/Src/usbd_midi.c **** return 0;
+ 231 .loc 1 109 0
+ 232 001e 4023 movs r3, #64
+ 233 0020 044A ldr r2, .L16+4
+ 234 0022 0121 movs r1, #1
+ 235 0024 2000 movs r0, r4
+ 236 0026 FFF7FEFF bl USBD_LL_PrepareReceive
+ 237 .LVL22:
+ 111:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 238 .loc 1 111 0
+ 239 002a 0020 movs r0, #0
+ 240 @ sp needed
+ 241 .LVL23:
+ 242 002c 10BD pop {r4, pc}
+ 243 .L17:
+ 244 002e C046 .align 2
+ 245 .L16:
+ 246 0030 00000000 .word .LANCHOR1
+ 247 0034 00000000 .word USB_Rx_Buffer
+ 248 .cfi_endproc
+ 249 .LFE43:
+ 251 .section .text.USBD_MIDI_SendPacket,"ax",%progbits
+ 252 .align 1
+ 253 .global USBD_MIDI_SendPacket
+ 254 .syntax unified
+ 255 .code 16
+ 256 .thumb_func
+ 257 .fpu softvfp
+ 259 USBD_MIDI_SendPacket:
+ 260 .LFB47:
+ 143:Middlewares/USBMIDI/Src/usbd_midi.c **** uint16_t USB_Tx_ptr;
+ 261 .loc 1 143 0
+ 262 .cfi_startproc
+ 263 @ args = 0, pretend = 0, frame = 0
+ 264 @ frame_needed = 0, uses_anonymous_args = 0
+ 265 0000 10B5 push {r4, lr}
+ 266 .LCFI3:
+ ARM GAS /tmp/ccDAqcJz.s page 9
+
+
+ 267 .cfi_def_cfa_offset 8
+ 268 .cfi_offset 4, -8
+ 269 .cfi_offset 14, -4
+ 147:Middlewares/USBMIDI/Src/usbd_midi.c **** if (APP_Rx_ptr_out == APP_RX_DATA_SIZE){
+ 270 .loc 1 147 0
+ 271 0002 214B ldr r3, .L28
+ 272 0004 1B78 ldrb r3, [r3]
+ 273 0006 012B cmp r3, #1
+ 274 0008 28D0 beq .L18
+ 148:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out = 0;
+ 275 .loc 1 148 0
+ 276 000a 204B ldr r3, .L28+4
+ 277 000c 1A68 ldr r2, [r3]
+ 278 000e 8023 movs r3, #128
+ 279 0010 5B00 lsls r3, r3, #1
+ 280 0012 9A42 cmp r2, r3
+ 281 0014 23D0 beq .L26
+ 282 .L20:
+ 152:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_State = 0;
+ 283 .loc 1 152 0
+ 284 0016 1D4B ldr r3, .L28+4
+ 285 0018 1968 ldr r1, [r3]
+ 286 001a 1D4B ldr r3, .L28+8
+ 287 001c 1B68 ldr r3, [r3]
+ 288 001e 9942 cmp r1, r3
+ 289 0020 21D0 beq .L27
+ 157:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length = APP_RX_DATA_SIZE - APP_Rx_ptr_out;
+ 290 .loc 1 157 0
+ 291 0022 24D9 bls .L22
+ 158:Middlewares/USBMIDI/Src/usbd_midi.c **** }else{
+ 292 .loc 1 158 0
+ 293 0024 8023 movs r3, #128
+ 294 0026 5B00 lsls r3, r3, #1
+ 295 0028 5B1A subs r3, r3, r1
+ 296 002a 1A4A ldr r2, .L28+12
+ 297 002c 1360 str r3, [r2]
+ 298 .L23:
+ 163:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_ptr = APP_Rx_ptr_out;
+ 299 .loc 1 163 0
+ 300 002e 194B ldr r3, .L28+12
+ 301 0030 1868 ldr r0, [r3]
+ 302 0032 4028 cmp r0, #64
+ 303 0034 1FD9 bls .L24
+ 164:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_length = MIDI_DATA_IN_PACKET_SIZE;
+ 304 .loc 1 164 0
+ 305 0036 8AB2 uxth r2, r1
+ 306 .LVL24:
+ 166:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length -= MIDI_DATA_IN_PACKET_SIZE;
+ 307 .loc 1 166 0
+ 308 0038 0B00 movs r3, r1
+ 309 003a 4033 adds r3, r3, #64
+ 310 003c 1349 ldr r1, .L28+4
+ 311 003e 0B60 str r3, [r1]
+ 167:Middlewares/USBMIDI/Src/usbd_midi.c **** }else{
+ 312 .loc 1 167 0
+ 313 0040 4038 subs r0, r0, #64
+ 314 0042 144B ldr r3, .L28+12
+ ARM GAS /tmp/ccDAqcJz.s page 10
+
+
+ 315 0044 1860 str r0, [r3]
+ 165:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out += MIDI_DATA_IN_PACKET_SIZE;
+ 316 .loc 1 165 0
+ 317 0046 4023 movs r3, #64
+ 318 .LVL25:
+ 319 .L25:
+ 174:Middlewares/USBMIDI/Src/usbd_midi.c **** USBD_LL_Transmit (pInstance, MIDI_IN_EP,(uint8_t*)&APP_Rx_Buffer[USB_Tx_ptr],USB_Tx_length);
+ 320 .loc 1 174 0
+ 321 0048 0F49 ldr r1, .L28
+ 322 004a 0120 movs r0, #1
+ 323 004c 0870 strb r0, [r1]
+ 175:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 324 .loc 1 175 0
+ 325 004e 1249 ldr r1, .L28+16
+ 326 0050 5218 adds r2, r2, r1
+ 327 .LVL26:
+ 328 0052 1249 ldr r1, .L28+20
+ 329 0054 0868 ldr r0, [r1]
+ 330 0056 8121 movs r1, #129
+ 331 0058 FFF7FEFF bl USBD_LL_Transmit
+ 332 .LVL27:
+ 333 .L18:
+ 177:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 334 .loc 1 177 0
+ 335 @ sp needed
+ 336 005c 10BD pop {r4, pc}
+ 337 .L26:
+ 149:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 338 .loc 1 149 0
+ 339 005e 0B4B ldr r3, .L28+4
+ 340 0060 0022 movs r2, #0
+ 341 0062 1A60 str r2, [r3]
+ 342 0064 D7E7 b .L20
+ 343 .L27:
+ 153:Middlewares/USBMIDI/Src/usbd_midi.c **** return;
+ 344 .loc 1 153 0
+ 345 0066 084B ldr r3, .L28
+ 346 0068 0022 movs r2, #0
+ 347 006a 1A70 strb r2, [r3]
+ 154:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 348 .loc 1 154 0
+ 349 006c F6E7 b .L18
+ 350 .L22:
+ 160:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 351 .loc 1 160 0
+ 352 006e 5B1A subs r3, r3, r1
+ 353 0070 084A ldr r2, .L28+12
+ 354 0072 1360 str r3, [r2]
+ 355 0074 DBE7 b .L23
+ 356 .L24:
+ 169:Middlewares/USBMIDI/Src/usbd_midi.c **** USB_Tx_length = APP_Rx_length;
+ 357 .loc 1 169 0
+ 358 0076 8AB2 uxth r2, r1
+ 359 .LVL28:
+ 170:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_ptr_out += APP_Rx_length;
+ 360 .loc 1 170 0
+ 361 0078 83B2 uxth r3, r0
+ ARM GAS /tmp/ccDAqcJz.s page 11
+
+
+ 362 .LVL29:
+ 171:Middlewares/USBMIDI/Src/usbd_midi.c **** APP_Rx_length = 0;
+ 363 .loc 1 171 0
+ 364 007a 0918 adds r1, r1, r0
+ 365 007c 0348 ldr r0, .L28+4
+ 366 007e 0160 str r1, [r0]
+ 172:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 367 .loc 1 172 0
+ 368 0080 0449 ldr r1, .L28+12
+ 369 0082 0020 movs r0, #0
+ 370 0084 0860 str r0, [r1]
+ 371 0086 DFE7 b .L25
+ 372 .L29:
+ 373 .align 2
+ 374 .L28:
+ 375 0088 00000000 .word .LANCHOR0
+ 376 008c 00000000 .word .LANCHOR2
+ 377 0090 00000000 .word .LANCHOR3
+ 378 0094 00000000 .word .LANCHOR4
+ 379 0098 00000000 .word APP_Rx_Buffer
+ 380 009c 00000000 .word .LANCHOR1
+ 381 .cfi_endproc
+ 382 .LFE47:
+ 384 .section .text.USBD_MIDI_RegisterInterface,"ax",%progbits
+ 385 .align 1
+ 386 .global USBD_MIDI_RegisterInterface
+ 387 .syntax unified
+ 388 .code 16
+ 389 .thumb_func
+ 390 .fpu softvfp
+ 392 USBD_MIDI_RegisterInterface:
+ 393 .LFB49:
+ 183:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 184:Middlewares/USBMIDI/Src/usbd_midi.c **** //uint8_t *USBD_MIDI_GetDeviceQualifierDescriptor (uint16_t *length){
+ 185:Middlewares/USBMIDI/Src/usbd_midi.c **** // *length = sizeof (USBD_MIDI_DeviceQualifierDesc);
+ 186:Middlewares/USBMIDI/Src/usbd_midi.c **** // return USBD_MIDI_DeviceQualifierDesc;
+ 187:Middlewares/USBMIDI/Src/usbd_midi.c **** //}
+ 188:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 189:Middlewares/USBMIDI/Src/usbd_midi.c **** uint8_t USBD_MIDI_RegisterInterface(USBD_HandleTypeDef *pdev, USBD_MIDI_ItfTypeDef *fops)
+ 190:Middlewares/USBMIDI/Src/usbd_midi.c **** {
+ 394 .loc 1 190 0
+ 395 .cfi_startproc
+ 396 @ args = 0, pretend = 0, frame = 0
+ 397 @ frame_needed = 0, uses_anonymous_args = 0
+ 398 @ link register save eliminated.
+ 399 .LVL30:
+ 191:Middlewares/USBMIDI/Src/usbd_midi.c **** uint8_t ret = USBD_FAIL;
+ 192:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 193:Middlewares/USBMIDI/Src/usbd_midi.c **** if(fops != NULL){
+ 400 .loc 1 193 0
+ 401 0000 0029 cmp r1, #0
+ 402 0002 04D0 beq .L32
+ 194:Middlewares/USBMIDI/Src/usbd_midi.c **** pdev->pUserData= fops;
+ 403 .loc 1 194 0
+ 404 0004 8723 movs r3, #135
+ 405 0006 9B00 lsls r3, r3, #2
+ 406 0008 C150 str r1, [r0, r3]
+ ARM GAS /tmp/ccDAqcJz.s page 12
+
+
+ 407 .LVL31:
+ 195:Middlewares/USBMIDI/Src/usbd_midi.c **** ret = USBD_OK;
+ 408 .loc 1 195 0
+ 409 000a 0020 movs r0, #0
+ 410 .LVL32:
+ 411 .L31:
+ 196:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 197:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 198:Middlewares/USBMIDI/Src/usbd_midi.c **** return ret;
+ 199:Middlewares/USBMIDI/Src/usbd_midi.c **** }
+ 412 .loc 1 199 0
+ 413 @ sp needed
+ 414 000c 7047 bx lr
+ 415 .LVL33:
+ 416 .L32:
+ 191:Middlewares/USBMIDI/Src/usbd_midi.c ****
+ 417 .loc 1 191 0
+ 418 000e 0220 movs r0, #2
+ 419 .LVL34:
+ 420 0010 FCE7 b .L31
+ 421 .cfi_endproc
+ 422 .LFE49:
+ 424 .global USBD_MIDI_CfgDesc
+ 425 .global USBD_MIDI
+ 426 .comm APP_Rx_Buffer,256,4
+ 427 .comm USB_Rx_Buffer,64,4
+ 428 .global USB_Tx_State
+ 429 .global APP_Rx_length
+ 430 .global APP_Rx_ptr_out
+ 431 .global APP_Rx_ptr_in
+ 432 .global pInstance
+ 433 .section .bss.APP_Rx_length,"aw",%nobits
+ 434 .align 2
+ 435 .set .LANCHOR4,. + 0
+ 438 APP_Rx_length:
+ 439 0000 00000000 .space 4
+ 440 .section .bss.APP_Rx_ptr_in,"aw",%nobits
+ 441 .align 2
+ 442 .set .LANCHOR3,. + 0
+ 445 APP_Rx_ptr_in:
+ 446 0000 00000000 .space 4
+ 447 .section .bss.APP_Rx_ptr_out,"aw",%nobits
+ 448 .align 2
+ 449 .set .LANCHOR2,. + 0
+ 452 APP_Rx_ptr_out:
+ 453 0000 00000000 .space 4
+ 454 .section .bss.USB_Tx_State,"aw",%nobits
+ 455 .set .LANCHOR0,. + 0
+ 458 USB_Tx_State:
+ 459 0000 00 .space 1
+ 460 .section .bss.pInstance,"aw",%nobits
+ 461 .align 2
+ 462 .set .LANCHOR1,. + 0
+ 465 pInstance:
+ 466 0000 00000000 .space 4
+ 467 .section .data.USBD_MIDI,"aw",%progbits
+ 468 .align 2
+ ARM GAS /tmp/ccDAqcJz.s page 13
+
+
+ 471 USBD_MIDI:
+ 472 0000 00000000 .word USBD_MIDI_Init
+ 473 0004 00000000 .word USBD_MIDI_DeInit
+ 474 0008 00000000 .word 0
+ 475 000c 00000000 .word 0
+ 476 0010 00000000 .word 0
+ 477 0014 00000000 .word USBD_MIDI_DataIn
+ 478 0018 00000000 .word USBD_MIDI_DataOut
+ 479 001c 00000000 .word 0
+ 480 0020 00000000 .word 0
+ 481 0024 00000000 .word 0
+ 482 0028 00000000 .word 0
+ 483 002c 00000000 .word USBD_MIDI_GetCfgDesc
+ 484 0030 00000000 .word 0
+ 485 0034 00000000 .word 0
+ 486 .section .data.USBD_MIDI_CfgDesc,"aw",%progbits
+ 487 .align 2
+ 490 USBD_MIDI_CfgDesc:
+ 491 0000 09 .byte 9
+ 492 0001 02 .byte 2
+ 493 0002 85 .byte -123
+ 494 0003 00 .byte 0
+ 495 0004 02 .byte 2
+ 496 0005 01 .byte 1
+ 497 0006 00 .byte 0
+ 498 0007 80 .byte -128
+ 499 0008 0A .byte 10
+ 500 0009 09 .byte 9
+ 501 000a 04 .byte 4
+ 502 000b 00 .byte 0
+ 503 000c 00 .byte 0
+ 504 000d 00 .byte 0
+ 505 000e 01 .byte 1
+ 506 000f 01 .byte 1
+ 507 0010 00 .byte 0
+ 508 0011 00 .byte 0
+ 509 0012 09 .byte 9
+ 510 0013 24 .byte 36
+ 511 0014 01 .byte 1
+ 512 0015 00 .byte 0
+ 513 0016 01 .byte 1
+ 514 0017 09 .byte 9
+ 515 0018 00 .byte 0
+ 516 0019 01 .byte 1
+ 517 001a 01 .byte 1
+ 518 001b 09 .byte 9
+ 519 001c 04 .byte 4
+ 520 001d 01 .byte 1
+ 521 001e 00 .byte 0
+ 522 001f 02 .byte 2
+ 523 0020 01 .byte 1
+ 524 0021 03 .byte 3
+ 525 0022 00 .byte 0
+ 526 0023 00 .byte 0
+ 527 0024 07 .byte 7
+ 528 0025 24 .byte 36
+ 529 0026 01 .byte 1
+ ARM GAS /tmp/ccDAqcJz.s page 14
+
+
+ 530 0027 00 .byte 0
+ 531 0028 01 .byte 1
+ 532 0029 43 .byte 67
+ 533 002a 00 .byte 0
+ 534 002b 06 .byte 6
+ 535 002c 24 .byte 36
+ 536 002d 02 .byte 2
+ 537 002e 01 .byte 1
+ 538 002f 01 .byte 1
+ 539 0030 00 .byte 0
+ 540 0031 06 .byte 6
+ 541 0032 24 .byte 36
+ 542 0033 02 .byte 2
+ 543 0034 02 .byte 2
+ 544 0035 02 .byte 2
+ 545 0036 00 .byte 0
+ 546 0037 06 .byte 6
+ 547 0038 24 .byte 36
+ 548 0039 02 .byte 2
+ 549 003a 01 .byte 1
+ 550 003b 11 .byte 17
+ 551 003c 00 .byte 0
+ 552 003d 06 .byte 6
+ 553 003e 24 .byte 36
+ 554 003f 02 .byte 2
+ 555 0040 02 .byte 2
+ 556 0041 12 .byte 18
+ 557 0042 00 .byte 0
+ 558 0043 09 .byte 9
+ 559 0044 24 .byte 36
+ 560 0045 03 .byte 3
+ 561 0046 01 .byte 1
+ 562 0047 03 .byte 3
+ 563 0048 01 .byte 1
+ 564 0049 02 .byte 2
+ 565 004a 01 .byte 1
+ 566 004b 00 .byte 0
+ 567 004c 09 .byte 9
+ 568 004d 24 .byte 36
+ 569 004e 03 .byte 3
+ 570 004f 02 .byte 2
+ 571 0050 04 .byte 4
+ 572 0051 01 .byte 1
+ 573 0052 01 .byte 1
+ 574 0053 01 .byte 1
+ 575 0054 00 .byte 0
+ 576 0055 09 .byte 9
+ 577 0056 24 .byte 36
+ 578 0057 03 .byte 3
+ 579 0058 01 .byte 1
+ 580 0059 13 .byte 19
+ 581 005a 01 .byte 1
+ 582 005b 12 .byte 18
+ 583 005c 01 .byte 1
+ 584 005d 00 .byte 0
+ 585 005e 09 .byte 9
+ 586 005f 24 .byte 36
+ ARM GAS /tmp/ccDAqcJz.s page 15
+
+
+ 587 0060 03 .byte 3
+ 588 0061 02 .byte 2
+ 589 0062 14 .byte 20
+ 590 0063 01 .byte 1
+ 591 0064 11 .byte 17
+ 592 0065 01 .byte 1
+ 593 0066 00 .byte 0
+ 594 0067 09 .byte 9
+ 595 0068 05 .byte 5
+ 596 0069 01 .byte 1
+ 597 006a 02 .byte 2
+ 598 006b 40 .byte 64
+ 599 006c 00 .byte 0
+ 600 006d 00 .byte 0
+ 601 006e 00 .byte 0
+ 602 006f 00 .byte 0
+ 603 0070 06 .byte 6
+ 604 0071 25 .byte 37
+ 605 0072 01 .byte 1
+ 606 0073 02 .byte 2
+ 607 0074 01 .byte 1
+ 608 0075 11 .byte 17
+ 609 0076 09 .byte 9
+ 610 0077 05 .byte 5
+ 611 0078 81 .byte -127
+ 612 0079 02 .byte 2
+ 613 007a 40 .byte 64
+ 614 007b 00 .byte 0
+ 615 007c 00 .byte 0
+ 616 007d 00 .byte 0
+ 617 007e 00 .byte 0
+ 618 007f 06 .byte 6
+ 619 0080 25 .byte 37
+ 620 0081 01 .byte 1
+ 621 0082 02 .byte 2
+ 622 0083 03 .byte 3
+ 623 0084 13 .byte 19
+ 624 .text
+ 625 .Letext0:
+ 626 .file 2 "/usr/include/newlib/machine/_default_types.h"
+ 627 .file 3 "/usr/include/newlib/sys/lock.h"
+ 628 .file 4 "/usr/include/newlib/sys/_types.h"
+ 629 .file 5 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h"
+ 630 .file 6 "/usr/include/newlib/sys/reent.h"
+ 631 .file 7 "/usr/include/newlib/sys/_stdint.h"
+ 632 .file 8 "/usr/include/newlib/stdlib.h"
+ 633 .file 9 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h"
+ 634 .file 10 "Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h"
+ 635 .file 11 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h"
+ 636 .file 12 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h"
+ 637 .file 13 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h"
+ 638 .file 14 "Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h"
+ 639 .file 15 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h"
+ 640 .file 16 "Middlewares/USBMIDI/Inc/usbd_midi.h"
+ 641 .file 17 "Inc/usbd_desc.h"
+ 642 .file 18 "Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h"
+ ARM GAS /tmp/ccDAqcJz.s page 16
+
+
+DEFINED SYMBOLS
+ *ABS*:0000000000000000 usbd_midi.c
+ /tmp/ccDAqcJz.s:16 .text.USBD_MIDI_DataIn:0000000000000000 $t
+ /tmp/ccDAqcJz.s:22 .text.USBD_MIDI_DataIn:0000000000000000 USBD_MIDI_DataIn
+ /tmp/ccDAqcJz.s:52 .text.USBD_MIDI_DataIn:0000000000000014 $d
+ /tmp/ccDAqcJz.s:57 .text.USBD_MIDI_GetCfgDesc:0000000000000000 $t
+ /tmp/ccDAqcJz.s:63 .text.USBD_MIDI_GetCfgDesc:0000000000000000 USBD_MIDI_GetCfgDesc
+ /tmp/ccDAqcJz.s:82 .text.USBD_MIDI_GetCfgDesc:0000000000000008 $d
+ /tmp/ccDAqcJz.s:490 .data.USBD_MIDI_CfgDesc:0000000000000000 USBD_MIDI_CfgDesc
+ /tmp/ccDAqcJz.s:87 .text.USBD_MIDI_DataOut:0000000000000000 $t
+ /tmp/ccDAqcJz.s:93 .text.USBD_MIDI_DataOut:0000000000000000 USBD_MIDI_DataOut
+ /tmp/ccDAqcJz.s:144 .text.USBD_MIDI_DataOut:0000000000000030 $d
+ *COM*:0000000000000040 USB_Rx_Buffer
+ /tmp/ccDAqcJz.s:149 .text.USBD_MIDI_DeInit:0000000000000000 $t
+ /tmp/ccDAqcJz.s:155 .text.USBD_MIDI_DeInit:0000000000000000 USBD_MIDI_DeInit
+ /tmp/ccDAqcJz.s:190 .text.USBD_MIDI_DeInit:000000000000001c $d
+ /tmp/ccDAqcJz.s:195 .text.USBD_MIDI_Init:0000000000000000 $t
+ /tmp/ccDAqcJz.s:201 .text.USBD_MIDI_Init:0000000000000000 USBD_MIDI_Init
+ /tmp/ccDAqcJz.s:246 .text.USBD_MIDI_Init:0000000000000030 $d
+ /tmp/ccDAqcJz.s:252 .text.USBD_MIDI_SendPacket:0000000000000000 $t
+ /tmp/ccDAqcJz.s:259 .text.USBD_MIDI_SendPacket:0000000000000000 USBD_MIDI_SendPacket
+ /tmp/ccDAqcJz.s:375 .text.USBD_MIDI_SendPacket:0000000000000088 $d
+ *COM*:0000000000000100 APP_Rx_Buffer
+ /tmp/ccDAqcJz.s:385 .text.USBD_MIDI_RegisterInterface:0000000000000000 $t
+ /tmp/ccDAqcJz.s:392 .text.USBD_MIDI_RegisterInterface:0000000000000000 USBD_MIDI_RegisterInterface
+ /tmp/ccDAqcJz.s:471 .data.USBD_MIDI:0000000000000000 USBD_MIDI
+ /tmp/ccDAqcJz.s:458 .bss.USB_Tx_State:0000000000000000 USB_Tx_State
+ /tmp/ccDAqcJz.s:438 .bss.APP_Rx_length:0000000000000000 APP_Rx_length
+ /tmp/ccDAqcJz.s:452 .bss.APP_Rx_ptr_out:0000000000000000 APP_Rx_ptr_out
+ /tmp/ccDAqcJz.s:445 .bss.APP_Rx_ptr_in:0000000000000000 APP_Rx_ptr_in
+ /tmp/ccDAqcJz.s:465 .bss.pInstance:0000000000000000 pInstance
+ /tmp/ccDAqcJz.s:434 .bss.APP_Rx_length:0000000000000000 $d
+ /tmp/ccDAqcJz.s:441 .bss.APP_Rx_ptr_in:0000000000000000 $d
+ /tmp/ccDAqcJz.s:448 .bss.APP_Rx_ptr_out:0000000000000000 $d
+ /tmp/ccDAqcJz.s:459 .bss.USB_Tx_State:0000000000000000 $d
+ /tmp/ccDAqcJz.s:461 .bss.pInstance:0000000000000000 $d
+ /tmp/ccDAqcJz.s:468 .data.USBD_MIDI:0000000000000000 $d
+ /tmp/ccDAqcJz.s:487 .data.USBD_MIDI_CfgDesc:0000000000000000 $d
+
+UNDEFINED SYMBOLS
+USBD_LL_PrepareReceive
+USBD_LL_CloseEP
+USBD_LL_OpenEP
+USBD_LL_Transmit
diff --git a/fw/midi-dials/build/usbd_midi.o b/fw/midi-dials/build/usbd_midi.o
new file mode 100644
index 0000000..67ebd65
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi.o
Binary files differ
diff --git a/fw/midi-dials/build/usbd_midi_if.d b/fw/midi-dials/build/usbd_midi_if.d
new file mode 100644
index 0000000..c1c6b16
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi_if.d
@@ -0,0 +1,118 @@
+build/usbd_midi_if.o: Src/usbd_midi_if.c Inc/usbd_midi_if.h \
+ Middlewares/USBMIDI/Inc/usbd_midi.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Inc/usbd_conf.h Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h \
+ Drivers/CMSIS/Include/core_cm0.h Drivers/CMSIS/Include/cmsis_version.h \
+ Drivers/CMSIS/Include/cmsis_compiler.h Drivers/CMSIS/Include/cmsis_gcc.h \
+ Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h \
+ Inc/stm32f0xx_hal_conf.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h \
+ Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h \
+ Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h \
+ Inc/usbd_desc.h Inc/curelib_inc/curemisc.h Inc/curelib_inc/curebuffer.h
+
+Inc/usbd_midi_if.h:
+
+Middlewares/USBMIDI/Inc/usbd_midi.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Inc/usbd_conf.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f0xx.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/stm32f072xb.h:
+
+Drivers/CMSIS/Include/core_cm0.h:
+
+Drivers/CMSIS/Include/cmsis_version.h:
+
+Drivers/CMSIS/Include/cmsis_compiler.h:
+
+Drivers/CMSIS/Include/cmsis_gcc.h:
+
+Drivers/CMSIS/Device/ST/STM32F0xx/Include/system_stm32f0xx.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal.h:
+
+Inc/stm32f0xx_hal_conf.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_def.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_rcc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_gpio_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_exti.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_dma_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_cortex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_adc_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_flash_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_i2c_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_ll_usb.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pcd_ex.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr.h:
+
+Drivers/STM32F0xx_HAL_Driver/Inc/stm32f0xx_hal_pwr_ex.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_def.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_core.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ioreq.h:
+
+Middlewares/ST/STM32_USB_Device_Library/Core/Inc/usbd_ctlreq.h:
+
+Inc/usbd_desc.h:
+
+Inc/curelib_inc/curemisc.h:
+
+Inc/curelib_inc/curebuffer.h:
diff --git a/fw/midi-dials/build/usbd_midi_if.lst b/fw/midi-dials/build/usbd_midi_if.lst
new file mode 100644
index 0000000..1fe0750
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi_if.lst
@@ -0,0 +1,2430 @@
+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
+
+
diff --git a/fw/midi-dials/build/usbd_midi_if.o b/fw/midi-dials/build/usbd_midi_if.o
new file mode 100644
index 0000000..bf7ad76
--- /dev/null
+++ b/fw/midi-dials/build/usbd_midi_if.o
Binary files differ