Project

General

Profile

ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 1


1 .cpu cortex-m0
2 .fpu softvfp
3 .eabi_attribute 20, 1
4 .eabi_attribute 21, 1
5 .eabi_attribute 23, 3
6 .eabi_attribute 24, 1
7 .eabi_attribute 25, 1
8 .eabi_attribute 26, 1
9 .eabi_attribute 30, 6
10 .eabi_attribute 34, 0
11 .eabi_attribute 18, 4
12 .code 16
13 .file "CyLib.c"
14 .text
15 .Ltext0:
16 .cfi_sections .debug_frame
17 .global cydelayFreqHz
18 .data
19 .align 2
20 .type cydelayFreqHz, %object
21 .size cydelayFreqHz, 4
22 cydelayFreqHz:
23 0000 006CDC02 .word 48000000
24 .global cydelayFreqKhz
25 .align 2
26 .type cydelayFreqKhz, %object
27 .size cydelayFreqKhz, 4
28 cydelayFreqKhz:
29 0004 80BB0000 .word 48000
30 .global cydelayFreqMhz
31 .type cydelayFreqMhz, %object
32 .size cydelayFreqMhz, 1
33 cydelayFreqMhz:
34 0008 30 .byte 48
35 .global cydelay32kMs
36 0009 000000 .align 2
37 .type cydelay32kMs, %object
38 .size cydelay32kMs, 4
39 cydelay32kMs:
40 000c 0000C05D .word 1572864000
41 .bss
42 .align 2
43 CySysTickCallbacks:
44 0000 00000000 .space 20
44 00000000
44 00000000
44 00000000
44 00000000
45 .global CySysTickInitVar
46 .align 2
47 .type CySysTickInitVar, %object
48 .size CySysTickInitVar, 4
49 CySysTickInitVar:
50 0014 00000000 .space 4
51 .global cyImoFreqMhz2Reg
52 .section .rodata
53 .align 2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 2


54 .type cyImoFreqMhz2Reg, %object
55 .size cyImoFreqMhz2Reg, 46
56 cyImoFreqMhz2Reg:
57 0000 03 .byte 3
58 0001 04 .byte 4
59 0002 05 .byte 5
60 0003 06 .byte 6
61 0004 07 .byte 7
62 0005 08 .byte 8
63 0006 09 .byte 9
64 0007 0A .byte 10
65 0008 0B .byte 11
66 0009 0C .byte 12
67 000a 0E .byte 14
68 000b 0F .byte 15
69 000c 10 .byte 16
70 000d 11 .byte 17
71 000e 12 .byte 18
72 000f 13 .byte 19
73 0010 14 .byte 20
74 0011 15 .byte 21
75 0012 16 .byte 22
76 0013 17 .byte 23
77 0014 18 .byte 24
78 0015 19 .byte 25
79 0016 1B .byte 27
80 0017 1C .byte 28
81 0018 1D .byte 29
82 0019 1E .byte 30
83 001a 1F .byte 31
84 001b 20 .byte 32
85 001c 21 .byte 33
86 001d 22 .byte 34
87 001e 23 .byte 35
88 001f 25 .byte 37
89 0020 26 .byte 38
90 0021 27 .byte 39
91 0022 28 .byte 40
92 0023 29 .byte 41
93 0024 2A .byte 42
94 0025 2B .byte 43
95 0026 2E .byte 46
96 0027 2F .byte 47
97 0028 30 .byte 48
98 0029 31 .byte 49
99 002a 32 .byte 50
100 002b 33 .byte 51
101 002c 34 .byte 52
102 002d 35 .byte 53
103 002e 0000 .section .text.CySysClkImoStart,"ax",%progbits
104 .align 2
105 .global CySysClkImoStart
106 .code 16
107 .thumb_func
108 .type CySysClkImoStart, %function
109 CySysClkImoStart:
110 .LFB2:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 3


111 .file 1 ".\\Generated_Source\\PSoC4\\CyLib.c"
1:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
2:.\Generated_Source\PSoC4/CyLib.c **** * File Name: CyLib.c
3:.\Generated_Source\PSoC4/CyLib.c **** * Version 5.0
4:.\Generated_Source\PSoC4/CyLib.c **** *
5:.\Generated_Source\PSoC4/CyLib.c **** * Description:
6:.\Generated_Source\PSoC4/CyLib.c **** * Provides a system API for the clocking, interrupts, and watchdog timer.
7:.\Generated_Source\PSoC4/CyLib.c **** *
8:.\Generated_Source\PSoC4/CyLib.c **** * Note:
9:.\Generated_Source\PSoC4/CyLib.c **** * Documentation of the API's in this file is located in the
10:.\Generated_Source\PSoC4/CyLib.c **** * System Reference Guide provided with PSoC Creator.
11:.\Generated_Source\PSoC4/CyLib.c **** *
12:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
13:.\Generated_Source\PSoC4/CyLib.c **** * Copyright 2010-2015, Cypress Semiconductor Corporation. All rights reserved.
14:.\Generated_Source\PSoC4/CyLib.c **** * You may use this file only in accordance with the license, terms, conditions,
15:.\Generated_Source\PSoC4/CyLib.c **** * disclaimers, and limitations in the end user license agreement accompanying
16:.\Generated_Source\PSoC4/CyLib.c **** * the software package with which this file was provided.
17:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
18:.\Generated_Source\PSoC4/CyLib.c ****
19:.\Generated_Source\PSoC4/CyLib.c **** #include "CyLib.h"
20:.\Generated_Source\PSoC4/CyLib.c ****
21:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_IP_SRSSV2 && CY_IP_FMLT)
22:.\Generated_Source\PSoC4/CyLib.c **** #include "CyFlash.h"
23:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_SRSSV2 && CY_IP_FMLT) */
24:.\Generated_Source\PSoC4/CyLib.c ****
25:.\Generated_Source\PSoC4/CyLib.c ****
26:.\Generated_Source\PSoC4/CyLib.c **** /* Do not use these definitions directly in your application */
27:.\Generated_Source\PSoC4/CyLib.c **** uint32 cydelayFreqHz = CYDEV_BCLK__SYSCLK__HZ;
28:.\Generated_Source\PSoC4/CyLib.c **** uint32 cydelayFreqKhz = (CYDEV_BCLK__SYSCLK__HZ + CY_DELAY_1K_MINUS_1_THRESHOLD) / CY_DELAY_1K_THRE
29:.\Generated_Source\PSoC4/CyLib.c **** uint8 cydelayFreqMhz = (uint8)((CYDEV_BCLK__SYSCLK__HZ + CY_DELAY_1M_MINUS_1_THRESHOLD) / CY_DELAY
30:.\Generated_Source\PSoC4/CyLib.c **** uint32 cydelay32kMs = CY_DELAY_MS_OVERFLOW * ((CYDEV_BCLK__SYSCLK__HZ + CY_DELAY_1K_MINUS_1_THRES
31:.\Generated_Source\PSoC4/CyLib.c **** CY_DELAY_1K_THRESHOLD);
32:.\Generated_Source\PSoC4/CyLib.c ****
33:.\Generated_Source\PSoC4/CyLib.c ****
34:.\Generated_Source\PSoC4/CyLib.c **** static cySysTickCallback CySysTickCallbacks[CY_SYS_SYST_NUM_OF_CALLBACKS];
35:.\Generated_Source\PSoC4/CyLib.c **** static void CySysTickServiceCallbacks(void);
36:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
37:.\Generated_Source\PSoC4/CyLib.c **** static uint32 CySysClkImoGetWcoLock(void);
38:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_PSOC4_4100M || CY_PSOC4_4200M) */
39:.\Generated_Source\PSoC4/CyLib.c ****
40:.\Generated_Source\PSoC4/CyLib.c ****
41:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
42:.\Generated_Source\PSoC4/CyLib.c **** * Indicates whether or not the SysTick has been initialized. The variable is
43:.\Generated_Source\PSoC4/CyLib.c **** * initialized to 0 and set to 1 the first time CySysTickStart() is called.
44:.\Generated_Source\PSoC4/CyLib.c **** *
45:.\Generated_Source\PSoC4/CyLib.c **** * This allows the component to restart without reinitialization after the first
46:.\Generated_Source\PSoC4/CyLib.c **** * call to the CySysTickStart() routine.
47:.\Generated_Source\PSoC4/CyLib.c **** *
48:.\Generated_Source\PSoC4/CyLib.c **** * If reinitialization of the SysTick is required, call CySysTickInit() before
49:.\Generated_Source\PSoC4/CyLib.c **** * calling CySysTickStart(). Alternatively, the SysTick can be reinitialized by
50:.\Generated_Source\PSoC4/CyLib.c **** * calling the CySysTickInit() and CySysTickEnable() functions.
51:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
52:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysTickInitVar = 0u;
53:.\Generated_Source\PSoC4/CyLib.c ****
54:.\Generated_Source\PSoC4/CyLib.c ****
55:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_IP_SRSSV2)
56:.\Generated_Source\PSoC4/CyLib.c **** /* Conversion between CySysClkWriteImoFreq() parameter and register's value */
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 4


57:.\Generated_Source\PSoC4/CyLib.c **** const uint8 cyImoFreqMhz2Reg[CY_SYS_CLK_IMO_FREQ_TABLE_SIZE] = {
58:.\Generated_Source\PSoC4/CyLib.c **** /* 3 MHz */ 0x03u, /* 4 MHz */ 0x04u, /* 5 MHz */ 0x05u, /* 6 MHz */ 0x06u,
59:.\Generated_Source\PSoC4/CyLib.c **** /* 7 MHz */ 0x07u, /* 8 MHz */ 0x08u, /* 9 MHz */ 0x09u, /* 10 MHz */ 0x0Au,
60:.\Generated_Source\PSoC4/CyLib.c **** /* 11 MHz */ 0x0Bu, /* 12 MHz */ 0x0Cu, /* 13 MHz */ 0x0Eu, /* 14 MHz */ 0x0Fu,
61:.\Generated_Source\PSoC4/CyLib.c **** /* 15 MHz */ 0x10u, /* 16 MHz */ 0x11u, /* 17 MHz */ 0x12u, /* 18 MHz */ 0x13u,
62:.\Generated_Source\PSoC4/CyLib.c **** /* 19 MHz */ 0x14u, /* 20 MHz */ 0x15u, /* 21 MHz */ 0x16u, /* 22 MHz */ 0x17u,
63:.\Generated_Source\PSoC4/CyLib.c **** /* 23 MHz */ 0x18u, /* 24 MHz */ 0x19u, /* 25 MHz */ 0x1Bu, /* 26 MHz */ 0x1Cu,
64:.\Generated_Source\PSoC4/CyLib.c **** /* 27 MHz */ 0x1Du, /* 28 MHz */ 0x1Eu, /* 29 MHz */ 0x1Fu, /* 30 MHz */ 0x20u,
65:.\Generated_Source\PSoC4/CyLib.c **** /* 31 MHz */ 0x21u, /* 32 MHz */ 0x22u, /* 33 MHz */ 0x23u, /* 34 MHz */ 0x25u,
66:.\Generated_Source\PSoC4/CyLib.c **** /* 35 MHz */ 0x26u, /* 36 MHz */ 0x27u, /* 37 MHz */ 0x28u, /* 38 MHz */ 0x29u,
67:.\Generated_Source\PSoC4/CyLib.c **** /* 39 MHz */ 0x2Au, /* 40 MHz */ 0x2Bu, /* 41 MHz */ 0x2Eu, /* 42 MHz */ 0x2Fu,
68:.\Generated_Source\PSoC4/CyLib.c **** /* 43 MHz */ 0x30u, /* 44 MHz */ 0x31u, /* 45 MHz */ 0x32u, /* 46 MHz */ 0x33u,
69:.\Generated_Source\PSoC4/CyLib.c **** /* 47 MHz */ 0x34u, /* 48 MHz */ 0x35u };
70:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_SRSSV2) */
71:.\Generated_Source\PSoC4/CyLib.c ****
72:.\Generated_Source\PSoC4/CyLib.c ****
73:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
74:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkImoStart
75:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
76:.\Generated_Source\PSoC4/CyLib.c **** *
77:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
78:.\Generated_Source\PSoC4/CyLib.c **** * Enables the IMO.
79:.\Generated_Source\PSoC4/CyLib.c **** *
80:.\Generated_Source\PSoC4/CyLib.c **** * For PSoC 4100M / PSoC 4200M devices, this function will also enable WCO lock
81:.\Generated_Source\PSoC4/CyLib.c **** * if selected in the Design Wide Resources tab.
82:.\Generated_Source\PSoC4/CyLib.c **** *
83:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
84:.\Generated_Source\PSoC4/CyLib.c **** * None
85:.\Generated_Source\PSoC4/CyLib.c **** *
86:.\Generated_Source\PSoC4/CyLib.c **** * Return:
87:.\Generated_Source\PSoC4/CyLib.c **** * None
88:.\Generated_Source\PSoC4/CyLib.c **** *
89:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
90:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkImoStart(void)
91:.\Generated_Source\PSoC4/CyLib.c **** {
112 .loc 1 91 0
113 .cfi_startproc
114 0000 80B5 push {r7, lr}
115 .cfi_def_cfa_offset 8
116 .cfi_offset 7, -8
117 .cfi_offset 14, -4
118 0002 00AF add r7, sp, #0
119 .cfi_def_cfa_register 7
92:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_CONFIG_REG |= CY_SYS_CLK_IMO_CONFIG_ENABLE;
120 .loc 1 92 0
121 0004 044B ldr r3, .L2
122 0006 044A ldr r2, .L2
123 0008 1268 ldr r2, [r2]
124 000a 8021 mov r1, #128
125 000c 0906 lsl r1, r1, #24
126 000e 0A43 orr r2, r1
127 0010 1A60 str r2, [r3]
93:.\Generated_Source\PSoC4/CyLib.c ****
94:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
95:.\Generated_Source\PSoC4/CyLib.c **** #if (CYDEV_IMO_TRIMMED_BY_WCO == 1u)
96:.\Generated_Source\PSoC4/CyLib.c **** CySysClkImoEnableWcoLock();
97:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CYDEV_IMO_TRIMMED_BY_WCO == 1u) */
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 5


98:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_PSOC4_4100M || CY_PSOC4_4200M) */
99:.\Generated_Source\PSoC4/CyLib.c ****
100:.\Generated_Source\PSoC4/CyLib.c **** }
128 .loc 1 100 0
129 0012 BD46 mov sp, r7
130 @ sp needed
131 0014 80BD pop {r7, pc}
132 .L3:
133 0016 C046 .align 2
134 .L2:
135 0018 08010B40 .word 1074462984
136 .cfi_endproc
137 .LFE2:
138 .size CySysClkImoStart, .-CySysClkImoStart
139 .section .text.CySysClkImoStop,"ax",%progbits
140 .align 2
141 .global CySysClkImoStop
142 .code 16
143 .thumb_func
144 .type CySysClkImoStop, %function
145 CySysClkImoStop:
146 .LFB3:
101:.\Generated_Source\PSoC4/CyLib.c ****
102:.\Generated_Source\PSoC4/CyLib.c ****
103:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
104:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkImoStop
105:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
106:.\Generated_Source\PSoC4/CyLib.c **** *
107:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
108:.\Generated_Source\PSoC4/CyLib.c **** * Disables the IMO.
109:.\Generated_Source\PSoC4/CyLib.c **** *
110:.\Generated_Source\PSoC4/CyLib.c **** * For PSoC 4100M/PSoC 4200M devices , this function will also disable WCO lock
111:.\Generated_Source\PSoC4/CyLib.c **** * if already enabled.
112:.\Generated_Source\PSoC4/CyLib.c **** *
113:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
114:.\Generated_Source\PSoC4/CyLib.c **** * None
115:.\Generated_Source\PSoC4/CyLib.c **** *
116:.\Generated_Source\PSoC4/CyLib.c **** * Return:
117:.\Generated_Source\PSoC4/CyLib.c **** * None
118:.\Generated_Source\PSoC4/CyLib.c **** *
119:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
120:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkImoStop(void)
121:.\Generated_Source\PSoC4/CyLib.c **** {
147 .loc 1 121 0
148 .cfi_startproc
149 0000 80B5 push {r7, lr}
150 .cfi_def_cfa_offset 8
151 .cfi_offset 7, -8
152 .cfi_offset 14, -4
153 0002 00AF add r7, sp, #0
154 .cfi_def_cfa_register 7
122:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
123:.\Generated_Source\PSoC4/CyLib.c **** CySysClkImoDisableWcoLock();
124:.\Generated_Source\PSoC4/CyLib.c **** #endif /* #if (CY_PSOC4_4100M || CY_PSOC4_4200M) */
125:.\Generated_Source\PSoC4/CyLib.c ****
126:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_CONFIG_REG &= ( uint32 ) ( ~( uint32 )CY_SYS_CLK_IMO_CONFIG_ENABLE);
155 .loc 1 126 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 6


156 0004 034B ldr r3, .L5
157 0006 034A ldr r2, .L5
158 0008 1268 ldr r2, [r2]
159 000a 5200 lsl r2, r2, #1
160 000c 5208 lsr r2, r2, #1
161 000e 1A60 str r2, [r3]
127:.\Generated_Source\PSoC4/CyLib.c **** }
162 .loc 1 127 0
163 0010 BD46 mov sp, r7
164 @ sp needed
165 0012 80BD pop {r7, pc}
166 .L6:
167 .align 2
168 .L5:
169 0014 08010B40 .word 1074462984
170 .cfi_endproc
171 .LFE3:
172 .size CySysClkImoStop, .-CySysClkImoStop
173 .section .text.CySysClkWriteHfclkDirect,"ax",%progbits
174 .align 2
175 .global CySysClkWriteHfclkDirect
176 .code 16
177 .thumb_func
178 .type CySysClkWriteHfclkDirect, %function
179 CySysClkWriteHfclkDirect:
180 .LFB4:
128:.\Generated_Source\PSoC4/CyLib.c ****
129:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
130:.\Generated_Source\PSoC4/CyLib.c ****
131:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
132:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkImoEnableWcoLock
133:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
134:.\Generated_Source\PSoC4/CyLib.c **** *
135:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
136:.\Generated_Source\PSoC4/CyLib.c **** * Enables the IMO to WCO lock feature. This function works only if the WCO is
137:.\Generated_Source\PSoC4/CyLib.c **** * already enabled. If the WCO is not enabled then this function returns
138:.\Generated_Source\PSoC4/CyLib.c **** * without enabling the lock feature.
139:.\Generated_Source\PSoC4/CyLib.c **** *
140:.\Generated_Source\PSoC4/CyLib.c **** * This function is applicable for PSoC 4100M/PSoC 4200M devices only.
141:.\Generated_Source\PSoC4/CyLib.c **** *
142:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
143:.\Generated_Source\PSoC4/CyLib.c **** * None
144:.\Generated_Source\PSoC4/CyLib.c **** *
145:.\Generated_Source\PSoC4/CyLib.c **** * Return:
146:.\Generated_Source\PSoC4/CyLib.c **** * None
147:.\Generated_Source\PSoC4/CyLib.c **** *
148:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
149:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkImoEnableWcoLock(void)
150:.\Generated_Source\PSoC4/CyLib.c **** {
151:.\Generated_Source\PSoC4/CyLib.c **** uint32 i;
152:.\Generated_Source\PSoC4/CyLib.c **** uint32 freq = CY_SYS_CLK_IMO_MIN_FREQ_MHZ;
153:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
154:.\Generated_Source\PSoC4/CyLib.c **** uint32 regTmp;
155:.\Generated_Source\PSoC4/CyLib.c **** volatile uint32 flashCtlReg;
156:.\Generated_Source\PSoC4/CyLib.c ****
157:.\Generated_Source\PSoC4/CyLib.c **** if (0u != CySysClkWcoEnabled())
158:.\Generated_Source\PSoC4/CyLib.c **** {
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 7


159:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
160:.\Generated_Source\PSoC4/CyLib.c ****
161:.\Generated_Source\PSoC4/CyLib.c **** /* Get current IMO frequency based on the register value */
162:.\Generated_Source\PSoC4/CyLib.c **** for(i = 0u; i < CY_SYS_CLK_IMO_FREQ_TABLE_SIZE; i++)
163:.\Generated_Source\PSoC4/CyLib.c **** {
164:.\Generated_Source\PSoC4/CyLib.c **** if ((uint8) (CY_SYS_CLK_IMO_TRIM2_REG & CY_SYS_CLK_IMO_FREQ_BITS_MASK) == cyImoFreq
165:.\Generated_Source\PSoC4/CyLib.c **** {
166:.\Generated_Source\PSoC4/CyLib.c **** freq = i + CY_SYS_CLK_IMO_FREQ_TABLE_OFFSET;
167:.\Generated_Source\PSoC4/CyLib.c **** break;
168:.\Generated_Source\PSoC4/CyLib.c **** }
169:.\Generated_Source\PSoC4/CyLib.c **** }
170:.\Generated_Source\PSoC4/CyLib.c ****
171:.\Generated_Source\PSoC4/CyLib.c **** if ((CY_SYS_CLK_IMO_TRIM4_REG & CY_SYS_CLK_IMO_TRIM4_GAIN_MASK) == 0u)
172:.\Generated_Source\PSoC4/CyLib.c **** {
173:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM4_REG = (CY_SYS_CLK_IMO_TRIM4_REG & (uint32) ~CY_SYS_CLK_IMO_TRIM4_GAIN_M
174:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM4_GAIN;
175:.\Generated_Source\PSoC4/CyLib.c **** }
176:.\Generated_Source\PSoC4/CyLib.c ****
177:.\Generated_Source\PSoC4/CyLib.c **** regTmp = CY_SYS_CLK_WCO_DPLL_REG & ~(CY_SYS_CLK_WCO_DPLL_MULT_MASK |
178:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_WCO_CONFIG_DPLL_LF_IGAIN_MASK |
179:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_WCO_CONFIG_DPLL_LF_PGAIN_MASK);
180:.\Generated_Source\PSoC4/CyLib.c ****
181:.\Generated_Source\PSoC4/CyLib.c **** /* Set multiplier to determine IMO frequency in multiples of the WCO frequency */
182:.\Generated_Source\PSoC4/CyLib.c **** regTmp |= (CY_SYS_CLK_WCO_DPLL_MULT_VALUE(freq) & CY_SYS_CLK_WCO_DPLL_MULT_MASK);
183:.\Generated_Source\PSoC4/CyLib.c ****
184:.\Generated_Source\PSoC4/CyLib.c **** /* Set DPLL Loop Filter Integral and Proportional Gains Setting */
185:.\Generated_Source\PSoC4/CyLib.c **** regTmp |= (CY_SYS_CLK_WCO_CONFIG_DPLL_LF_IGAIN | CY_SYS_CLK_WCO_CONFIG_DPLL_LF_PGAIN);
186:.\Generated_Source\PSoC4/CyLib.c ****
187:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_WCO_DPLL_REG = regTmp;
188:.\Generated_Source\PSoC4/CyLib.c ****
189:.\Generated_Source\PSoC4/CyLib.c **** flashCtlReg = CY_FLASH_CTL_REG;
190:.\Generated_Source\PSoC4/CyLib.c **** CySysFlashSetWaitCycles(CY_SYS_CLK_IMO_MAX_FREQ_MHZ);
191:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_WCO_CONFIG_REG |= CY_SYS_CLK_WCO_CONFIG_DPLL_ENABLE;
192:.\Generated_Source\PSoC4/CyLib.c **** CyDelay(320u);
193:.\Generated_Source\PSoC4/CyLib.c **** CY_FLASH_CTL_REG = flashCtlReg;
194:.\Generated_Source\PSoC4/CyLib.c ****
195:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
196:.\Generated_Source\PSoC4/CyLib.c **** }
197:.\Generated_Source\PSoC4/CyLib.c **** }
198:.\Generated_Source\PSoC4/CyLib.c ****
199:.\Generated_Source\PSoC4/CyLib.c ****
200:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
201:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkImoDisableWcoLock
202:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
203:.\Generated_Source\PSoC4/CyLib.c **** *
204:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
205:.\Generated_Source\PSoC4/CyLib.c **** * Disables the IMO to WCO lock feature.
206:.\Generated_Source\PSoC4/CyLib.c **** *
207:.\Generated_Source\PSoC4/CyLib.c **** * This function is applicable for PSoC 4100M/PSoC 4200M devices only.
208:.\Generated_Source\PSoC4/CyLib.c **** *
209:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
210:.\Generated_Source\PSoC4/CyLib.c **** * None
211:.\Generated_Source\PSoC4/CyLib.c **** *
212:.\Generated_Source\PSoC4/CyLib.c **** * Return:
213:.\Generated_Source\PSoC4/CyLib.c **** * None
214:.\Generated_Source\PSoC4/CyLib.c **** *
215:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 8


216:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkImoDisableWcoLock(void)
217:.\Generated_Source\PSoC4/CyLib.c **** {
218:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_WCO_CONFIG_REG &= (uint32) ~CY_SYS_CLK_WCO_CONFIG_DPLL_ENABLE;
219:.\Generated_Source\PSoC4/CyLib.c **** }
220:.\Generated_Source\PSoC4/CyLib.c ****
221:.\Generated_Source\PSoC4/CyLib.c ****
222:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
223:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkImoGetWcoLock
224:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
225:.\Generated_Source\PSoC4/CyLib.c **** *
226:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
227:.\Generated_Source\PSoC4/CyLib.c **** * Reports the IMO to WCO lock enable state.
228:.\Generated_Source\PSoC4/CyLib.c **** *
229:.\Generated_Source\PSoC4/CyLib.c **** * This function is applicable for PSoC 4100M/PSoC 4200M devices only.
230:.\Generated_Source\PSoC4/CyLib.c **** *
231:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
232:.\Generated_Source\PSoC4/CyLib.c **** * None
233:.\Generated_Source\PSoC4/CyLib.c **** *
234:.\Generated_Source\PSoC4/CyLib.c **** * Return:
235:.\Generated_Source\PSoC4/CyLib.c **** * 1 if IMO to WCO lock is enabled, and 0 if IMO to WCO lock is disabled.
236:.\Generated_Source\PSoC4/CyLib.c **** *
237:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
238:.\Generated_Source\PSoC4/CyLib.c **** static uint32 CySysClkImoGetWcoLock(void)
239:.\Generated_Source\PSoC4/CyLib.c **** {
240:.\Generated_Source\PSoC4/CyLib.c **** return ((0u != (CY_SYS_CLK_WCO_CONFIG_REG & CY_SYS_CLK_WCO_CONFIG_DPLL_ENABLE)) ?
241:.\Generated_Source\PSoC4/CyLib.c **** (uint32) 1u :
242:.\Generated_Source\PSoC4/CyLib.c **** (uint32) 0u);
243:.\Generated_Source\PSoC4/CyLib.c **** }
244:.\Generated_Source\PSoC4/CyLib.c ****
245:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_PSOC4_4100M || CY_PSOC4_4200M) */
246:.\Generated_Source\PSoC4/CyLib.c ****
247:.\Generated_Source\PSoC4/CyLib.c ****
248:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
249:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkWriteHfclkDirect
250:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
251:.\Generated_Source\PSoC4/CyLib.c **** *
252:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
253:.\Generated_Source\PSoC4/CyLib.c **** * Selects the direct source for the HFCLK.
254:.\Generated_Source\PSoC4/CyLib.c **** *
255:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
256:.\Generated_Source\PSoC4/CyLib.c **** * clkSelect: One of the available HFCLK direct sources:
257:.\Generated_Source\PSoC4/CyLib.c **** * Define Source
258:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_IMO IMO
259:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_EXTCLK External clock pin
260:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_ECO External crystal oscillator
261:.\Generated_Source\PSoC4/CyLib.c **** * (applicable only for PSoC 4100-BL / PSoC 4200-BL)
262:.\Generated_Source\PSoC4/CyLib.c **** *
263:.\Generated_Source\PSoC4/CyLib.c **** * Return:
264:.\Generated_Source\PSoC4/CyLib.c **** * None
265:.\Generated_Source\PSoC4/CyLib.c **** *
266:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
267:.\Generated_Source\PSoC4/CyLib.c **** * The new source must be running and stable before calling this function.
268:.\Generated_Source\PSoC4/CyLib.c **** *
269:.\Generated_Source\PSoC4/CyLib.c **** * PSoC 4000:
270:.\Generated_Source\PSoC4/CyLib.c **** * The SYSCLK has a maximum speed of 16 MHz, so HFCLK and SYSCLK dividers should
271:.\Generated_Source\PSoC4/CyLib.c **** * be selected in a way to not to exceed 16 MHz for the System clock.
272:.\Generated_Source\PSoC4/CyLib.c **** *
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 9


273:.\Generated_Source\PSoC4/CyLib.c **** * If the SYSCLK clock frequency increases during device operation, call
274:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() with the appropriate parameter to adjust the number
275:.\Generated_Source\PSoC4/CyLib.c **** * of clock cycles the cache will wait before sampling data comes back from
276:.\Generated_Source\PSoC4/CyLib.c **** * Flash. If the SYSCLK clock frequency decreases, you can call
277:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() to improve the CPU performance. See
278:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() description for more information.
279:.\Generated_Source\PSoC4/CyLib.c **** *
280:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
281:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteHfclkDirect(uint32 clkSelect)
282:.\Generated_Source\PSoC4/CyLib.c **** {
181 .loc 1 282 0
182 .cfi_startproc
183 0000 90B5 push {r4, r7, lr}
184 .cfi_def_cfa_offset 12
185 .cfi_offset 4, -12
186 .cfi_offset 7, -8
187 .cfi_offset 14, -4
188 0002 85B0 sub sp, sp, #20
189 .cfi_def_cfa_offset 32
190 0004 00AF add r7, sp, #0
191 .cfi_def_cfa_register 7
192 0006 7860 str r0, [r7, #4]
283:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
284:.\Generated_Source\PSoC4/CyLib.c ****
285:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
193 .loc 1 285 0
194 0008 3C1C mov r4, r7
195 000a 0F34 add r4, r4, #15
196 000c FFF7FEFF bl CyEnterCriticalSection
197 0010 031C mov r3, r0
198 0012 2370 strb r3, [r4]
286:.\Generated_Source\PSoC4/CyLib.c ****
287:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_REG = ((CY_SYS_CLK_SELECT_REG & (( uint32 ) ~(( uint32 )CY_SYS_CLK_SELECT_DIR
199 .loc 1 287 0
200 0014 0A4B ldr r3, .L8
201 0016 0A4A ldr r2, .L8
202 0018 1268 ldr r2, [r2]
203 001a 0721 mov r1, #7
204 001c 101C mov r0, r2
205 001e 8843 bic r0, r1
206 0020 011C mov r1, r0
288:.\Generated_Source\PSoC4/CyLib.c **** (( uint32 ) (clkSelect & ( uint32 )CY_SYS_CLK_SELECT_DIRECT_SEL_PARAM_MASK)
207 .loc 1 288 0
208 0022 7868 ldr r0, [r7, #4]
209 0024 0322 mov r2, #3
210 0026 0240 and r2, r0
287:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_REG = ((CY_SYS_CLK_SELECT_REG & (( uint32 ) ~(( uint32 )CY_SYS_CLK_SELECT_DIR
211 .loc 1 287 0
212 0028 0A43 orr r2, r1
213 002a 1A60 str r2, [r3]
289:.\Generated_Source\PSoC4/CyLib.c ****
290:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
214 .loc 1 290 0
215 002c 3B1C mov r3, r7
216 002e 0F33 add r3, r3, #15
217 0030 1B78 ldrb r3, [r3]
218 0032 181C mov r0, r3
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 10


219 0034 FFF7FEFF bl CyExitCriticalSection
291:.\Generated_Source\PSoC4/CyLib.c **** }
220 .loc 1 291 0
221 0038 BD46 mov sp, r7
222 003a 05B0 add sp, sp, #20
223 @ sp needed
224 003c 90BD pop {r4, r7, pc}
225 .L9:
226 003e C046 .align 2
227 .L8:
228 0040 00010B40 .word 1074462976
229 .cfi_endproc
230 .LFE4:
231 .size CySysClkWriteHfclkDirect, .-CySysClkWriteHfclkDirect
232 .section .text.CySysClkWriteSysclkDiv,"ax",%progbits
233 .align 2
234 .global CySysClkWriteSysclkDiv
235 .code 16
236 .thumb_func
237 .type CySysClkWriteSysclkDiv, %function
238 CySysClkWriteSysclkDiv:
239 .LFB5:
292:.\Generated_Source\PSoC4/CyLib.c ****
293:.\Generated_Source\PSoC4/CyLib.c ****
294:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
295:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkWriteSysclkDiv
296:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
297:.\Generated_Source\PSoC4/CyLib.c **** *
298:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
299:.\Generated_Source\PSoC4/CyLib.c **** * Selects the prescaler divide amount for SYSCLK from HFCLK.
300:.\Generated_Source\PSoC4/CyLib.c **** *
301:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
302:.\Generated_Source\PSoC4/CyLib.c **** * divider: Power of 2 prescaler selection
303:.\Generated_Source\PSoC4/CyLib.c **** *
304:.\Generated_Source\PSoC4/CyLib.c **** * Define Description
305:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV1 SYSCLK = HFCLK / 1
306:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV2 SYSCLK = HFCLK / 2
307:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV4 SYSCLK = HFCLK / 4
308:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV8 SYSCLK = HFCLK / 8
309:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV16 SYSCLK = HFCLK / 16 (N/A for 4000 Family)
310:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV32 SYSCLK = HFCLK / 32 (N/A for 4000 Family)
311:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV64 SYSCLK = HFCLK / 64 (N/A for 4000 Family)
312:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_SYSCLK_DIV128 SYSCLK = HFCLK / 128 (N/A for 4000 Family)
313:.\Generated_Source\PSoC4/CyLib.c **** *
314:.\Generated_Source\PSoC4/CyLib.c **** * Return:
315:.\Generated_Source\PSoC4/CyLib.c **** * None
316:.\Generated_Source\PSoC4/CyLib.c **** *
317:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
318:.\Generated_Source\PSoC4/CyLib.c **** * 4000 Family:
319:.\Generated_Source\PSoC4/CyLib.c **** * The SYS_CLK has the speed of 16 MHz, so dividers HF_CLK and SYS_CLK
320:.\Generated_Source\PSoC4/CyLib.c **** * dividers should be selected in a way, not to exceed 16 MHz for SYS_CLK.
321:.\Generated_Source\PSoC4/CyLib.c **** *
322:.\Generated_Source\PSoC4/CyLib.c **** * If the SYSCLK clock frequency increases during the device operation, call
323:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() with the appropriate parameter to adjust the number
324:.\Generated_Source\PSoC4/CyLib.c **** * of clock cycles the cache will wait before sampling data comes back from
325:.\Generated_Source\PSoC4/CyLib.c **** * Flash. If the SYSCLK clock frequency decreases, you can call
326:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() to improve the CPU performance. See
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 11


327:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() description for more information.
328:.\Generated_Source\PSoC4/CyLib.c **** *
329:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
330:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteSysclkDiv(uint32 divider)
331:.\Generated_Source\PSoC4/CyLib.c **** {
240 .loc 1 331 0
241 .cfi_startproc
242 0000 90B5 push {r4, r7, lr}
243 .cfi_def_cfa_offset 12
244 .cfi_offset 4, -12
245 .cfi_offset 7, -8
246 .cfi_offset 14, -4
247 0002 85B0 sub sp, sp, #20
248 .cfi_def_cfa_offset 32
249 0004 00AF add r7, sp, #0
250 .cfi_def_cfa_register 7
251 0006 7860 str r0, [r7, #4]
332:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
333:.\Generated_Source\PSoC4/CyLib.c ****
334:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
252 .loc 1 334 0
253 0008 3C1C mov r4, r7
254 000a 0F34 add r4, r4, #15
255 000c FFF7FEFF bl CyEnterCriticalSection
256 0010 031C mov r3, r0
257 0012 2370 strb r3, [r4]
335:.\Generated_Source\PSoC4/CyLib.c ****
336:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_REG = ((uint32)(((uint32)divider & CY_SYS_CLK_SELECT_SYSCLK_DIV_MASK) <<
258 .loc 1 336 0
259 0014 094B ldr r3, .L11
260 0016 7968 ldr r1, [r7, #4]
261 0018 0722 mov r2, #7
262 001a 0A40 and r2, r1
263 001c D104 lsl r1, r2, #19
337:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_SYSCLK_DIV_SHIFT)) |
338:.\Generated_Source\PSoC4/CyLib.c **** (CY_SYS_CLK_SELECT_REG & ((uint32)(~(uint32)(CY_SYS_CLK_SELECT_SYSCLK_D
264 .loc 1 338 0
265 001e 074A ldr r2, .L11
266 0020 1068 ldr r0, [r2]
267 0022 074A ldr r2, .L11+4
268 0024 0240 and r2, r0
337:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_SYSCLK_DIV_SHIFT)) |
269 .loc 1 337 0
270 0026 0A43 orr r2, r1
336:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_REG = ((uint32)(((uint32)divider & CY_SYS_CLK_SELECT_SYSCLK_DIV_MASK) <<
271 .loc 1 336 0
272 0028 1A60 str r2, [r3]
339:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_SYSCLK_DIV_SHIFT))));
340:.\Generated_Source\PSoC4/CyLib.c ****
341:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
273 .loc 1 341 0
274 002a 3B1C mov r3, r7
275 002c 0F33 add r3, r3, #15
276 002e 1B78 ldrb r3, [r3]
277 0030 181C mov r0, r3
278 0032 FFF7FEFF bl CyExitCriticalSection
342:.\Generated_Source\PSoC4/CyLib.c **** }
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 12


279 .loc 1 342 0
280 0036 BD46 mov sp, r7
281 0038 05B0 add sp, sp, #20
282 @ sp needed
283 003a 90BD pop {r4, r7, pc}
284 .L12:
285 .align 2
286 .L11:
287 003c 00010B40 .word 1074462976
288 0040 FFFFC7FF .word -3670017
289 .cfi_endproc
290 .LFE5:
291 .size CySysClkWriteSysclkDiv, .-CySysClkWriteSysclkDiv
292 .section .text.CySysClkWriteImoFreq,"ax",%progbits
293 .align 2
294 .global CySysClkWriteImoFreq
295 .code 16
296 .thumb_func
297 .type CySysClkWriteImoFreq, %function
298 CySysClkWriteImoFreq:
299 .LFB6:
343:.\Generated_Source\PSoC4/CyLib.c ****
344:.\Generated_Source\PSoC4/CyLib.c ****
345:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
346:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkWriteImoFreq
347:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
348:.\Generated_Source\PSoC4/CyLib.c **** *
349:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
350:.\Generated_Source\PSoC4/CyLib.c **** * Sets the frequency of the IMO.
351:.\Generated_Source\PSoC4/CyLib.c **** *
352:.\Generated_Source\PSoC4/CyLib.c **** * If IMO is currently driving the HFCLK, and if the HFCLK frequency decreases,
353:.\Generated_Source\PSoC4/CyLib.c **** * you can call CySysFlashSetWaitCycles () to improve CPU performance. See
354:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles () for more information.
355:.\Generated_Source\PSoC4/CyLib.c **** *
356:.\Generated_Source\PSoC4/CyLib.c **** * For PSoC 4000 family of devices, maximum HFCLK frequency is 16 MHz. If IMO is
357:.\Generated_Source\PSoC4/CyLib.c **** * configured to frequencies above 16 MHz, ensure to set the appropriate HFCLK
358:.\Generated_Source\PSoC4/CyLib.c **** * predivider value first.
359:.\Generated_Source\PSoC4/CyLib.c **** *
360:.\Generated_Source\PSoC4/CyLib.c **** * For PSoC 4100M/PSoC 4200M devices, if WCO lock feature is enabled then this
361:.\Generated_Source\PSoC4/CyLib.c **** * API will disable the lock, write the new IMO frequency and then re-enable the
362:.\Generated_Source\PSoC4/CyLib.c **** * lock.
363:.\Generated_Source\PSoC4/CyLib.c **** *
364:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
365:.\Generated_Source\PSoC4/CyLib.c **** * All PSoC 4 families excluding PSoC 4000: Valid range [3-48] with step size
366:.\Generated_Source\PSoC4/CyLib.c **** * equals 1.
367:.\Generated_Source\PSoC4/CyLib.c **** *
368:.\Generated_Source\PSoC4/CyLib.c **** * PSoC 4000: Valid range [24-48] with step size equals 4.
369:.\Generated_Source\PSoC4/CyLib.c **** *
370:.\Generated_Source\PSoC4/CyLib.c **** * Note: The CPU is halted if new frequency is invalid and project is
371:.\Generated_Source\PSoC4/CyLib.c **** * compiled in debug mode.
372:.\Generated_Source\PSoC4/CyLib.c **** *
373:.\Generated_Source\PSoC4/CyLib.c **** * Return:
374:.\Generated_Source\PSoC4/CyLib.c **** * None
375:.\Generated_Source\PSoC4/CyLib.c **** *
376:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
377:.\Generated_Source\PSoC4/CyLib.c **** * If the SYSCLK clock frequency increases during the device operation, call
378:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() with the appropriate parameter to adjust the number
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 13


379:.\Generated_Source\PSoC4/CyLib.c **** * of clock cycles the cache will wait before sampling data comes back from
380:.\Generated_Source\PSoC4/CyLib.c **** * Flash. If the SYSCLK clock frequency decreases, you can call
381:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() to improve the CPU performance. See
382:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() description for more information.
383:.\Generated_Source\PSoC4/CyLib.c **** *
384:.\Generated_Source\PSoC4/CyLib.c **** * PSoC 4000: The System Clock (SYSCLK) has maximum speed of 16 MHz, so HFCLK
385:.\Generated_Source\PSoC4/CyLib.c **** * and SYSCLK dividers should be selected in a way, to not to exceed 16 MHz for
386:.\Generated_Source\PSoC4/CyLib.c **** * the System clock.
387:.\Generated_Source\PSoC4/CyLib.c **** *
388:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
389:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_IP_SRSSV2)
390:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteImoFreq(uint32 freq)
391:.\Generated_Source\PSoC4/CyLib.c **** {
300 .loc 1 391 0
301 .cfi_startproc
302 0000 90B5 push {r4, r7, lr}
303 .cfi_def_cfa_offset 12
304 .cfi_offset 4, -12
305 .cfi_offset 7, -8
306 .cfi_offset 14, -4
307 0002 8BB0 sub sp, sp, #44
308 .cfi_def_cfa_offset 56
309 0004 00AF add r7, sp, #0
310 .cfi_def_cfa_register 7
311 0006 7860 str r0, [r7, #4]
392:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_IP_FMLT)
393:.\Generated_Source\PSoC4/CyLib.c **** volatile uint32 parameters[2u];
394:.\Generated_Source\PSoC4/CyLib.c **** volatile uint32 regValues[4u];
395:.\Generated_Source\PSoC4/CyLib.c **** #else
396:.\Generated_Source\PSoC4/CyLib.c **** uint8 bgTrim4;
397:.\Generated_Source\PSoC4/CyLib.c **** uint8 bgTrim5;
398:.\Generated_Source\PSoC4/CyLib.c **** uint8 newImoTrim2Value;
399:.\Generated_Source\PSoC4/CyLib.c **** uint8 currentImoTrim2Value;
400:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_FM) */
401:.\Generated_Source\PSoC4/CyLib.c ****
402:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
403:.\Generated_Source\PSoC4/CyLib.c **** uint32 wcoLock = 0u;
404:.\Generated_Source\PSoC4/CyLib.c **** #endif /* #if (CY_PSOC4_4100M || CY_PSOC4_4200M) */
405:.\Generated_Source\PSoC4/CyLib.c ****
406:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
407:.\Generated_Source\PSoC4/CyLib.c ****
408:.\Generated_Source\PSoC4/CyLib.c ****
409:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
312 .loc 1 409 0
313 0008 3C1C mov r4, r7
314 000a 2734 add r4, r4, #39
315 000c FFF7FEFF bl CyEnterCriticalSection
316 0010 031C mov r3, r0
317 0012 2370 strb r3, [r4]
410:.\Generated_Source\PSoC4/CyLib.c ****
411:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
412:.\Generated_Source\PSoC4/CyLib.c **** if(0u != CySysClkImoGetWcoLock())
413:.\Generated_Source\PSoC4/CyLib.c **** {
414:.\Generated_Source\PSoC4/CyLib.c **** wcoLock = 1u;
415:.\Generated_Source\PSoC4/CyLib.c **** CySysClkImoDisableWcoLock();
416:.\Generated_Source\PSoC4/CyLib.c **** }
417:.\Generated_Source\PSoC4/CyLib.c **** #endif /* #if (CY_PSOC4_4100M || CY_PSOC4_4200M) */
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 14


418:.\Generated_Source\PSoC4/CyLib.c ****
419:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_IP_FMLT)
420:.\Generated_Source\PSoC4/CyLib.c ****
421:.\Generated_Source\PSoC4/CyLib.c **** /* FM-Lite Clock Restore */
422:.\Generated_Source\PSoC4/CyLib.c **** regValues[0u] = CY_SYS_CLK_IMO_CONFIG_REG;
318 .loc 1 422 0
319 0014 184B ldr r3, .L14
320 0016 1A68 ldr r2, [r3]
321 0018 3B1C mov r3, r7
322 001a 0C33 add r3, r3, #12
323 001c 1A60 str r2, [r3]
423:.\Generated_Source\PSoC4/CyLib.c **** regValues[1u] = CY_SYS_CLK_SELECT_REG;
324 .loc 1 423 0
325 001e 174B ldr r3, .L14+4
326 0020 1A68 ldr r2, [r3]
327 0022 3B1C mov r3, r7
328 0024 0C33 add r3, r3, #12
329 0026 5A60 str r2, [r3, #4]
424:.\Generated_Source\PSoC4/CyLib.c **** regValues[2u] = cyImoFreqMhz2Reg[freq - CY_SYS_CLK_IMO_FREQ_TABLE_OFFSET];
330 .loc 1 424 0
331 0028 7B68 ldr r3, [r7, #4]
332 002a 033B sub r3, r3, #3
333 002c 144A ldr r2, .L14+8
334 002e D35C ldrb r3, [r2, r3]
335 0030 1A1C mov r2, r3
336 0032 3B1C mov r3, r7
337 0034 0C33 add r3, r3, #12
338 0036 9A60 str r2, [r3, #8]
425:.\Generated_Source\PSoC4/CyLib.c **** regValues[3u] = CY_FLASH_CTL_REG;
339 .loc 1 425 0
340 0038 124B ldr r3, .L14+12
341 003a 1A68 ldr r2, [r3]
342 003c 3B1C mov r3, r7
343 003e 0C33 add r3, r3, #12
344 0040 DA60 str r2, [r3, #12]
426:.\Generated_Source\PSoC4/CyLib.c ****
427:.\Generated_Source\PSoC4/CyLib.c **** parameters[0u] =
345 .loc 1 427 0
346 0042 3B1C mov r3, r7
347 0044 1C33 add r3, r3, #28
348 0046 104A ldr r2, .L14+16
349 0048 1A60 str r2, [r3]
428:.\Generated_Source\PSoC4/CyLib.c **** (uint32) ((CY_FLASH_KEY_TWO(CY_FLASH_API_OPCODE_CLK_RESTORE) << CY_FLASH_PARAM_KEY
429:.\Generated_Source\PSoC4/CyLib.c **** CY_FLASH_KEY_ONE);
430:.\Generated_Source\PSoC4/CyLib.c **** parameters[1u] = (uint32) &regValues[0u];
350 .loc 1 430 0
351 004a 3A1C mov r2, r7
352 004c 0C32 add r2, r2, #12
353 004e 3B1C mov r3, r7
354 0050 1C33 add r3, r3, #28
355 0052 5A60 str r2, [r3, #4]
431:.\Generated_Source\PSoC4/CyLib.c ****
432:.\Generated_Source\PSoC4/CyLib.c **** CY_FLASH_CPUSS_SYSARG_REG = (uint32) &parameters[0u];
356 .loc 1 432 0
357 0054 0D4B ldr r3, .L14+20
358 0056 3A1C mov r2, r7
359 0058 1C32 add r2, r2, #28
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 15


360 005a 1A60 str r2, [r3]
433:.\Generated_Source\PSoC4/CyLib.c **** CY_FLASH_CPUSS_SYSREQ_REG = CY_FLASH_CPUSS_REQ_START | CY_FLASH_API_OPCODE_CLK_RESTORE;
361 .loc 1 433 0
362 005c 0C4B ldr r3, .L14+24
363 005e 0D4A ldr r2, .L14+28
364 0060 1A60 str r2, [r3]
434:.\Generated_Source\PSoC4/CyLib.c **** (void) CY_FLASH_CPUSS_SYSARG_REG;
365 .loc 1 434 0
366 0062 0A4B ldr r3, .L14+20
367 0064 1B68 ldr r3, [r3]
435:.\Generated_Source\PSoC4/CyLib.c ****
436:.\Generated_Source\PSoC4/CyLib.c **** #else /* (CY_IP_FM) */
437:.\Generated_Source\PSoC4/CyLib.c ****
438:.\Generated_Source\PSoC4/CyLib.c **** if ((freq >= CY_SYS_CLK_IMO_MIN_FREQ_MHZ) && (freq <= CY_SYS_CLK_IMO_MAX_FREQ_MHZ))
439:.\Generated_Source\PSoC4/CyLib.c **** {
440:.\Generated_Source\PSoC4/CyLib.c **** if(freq <= CY_SFLASH_IMO_MAXF0_REG)
441:.\Generated_Source\PSoC4/CyLib.c **** {
442:.\Generated_Source\PSoC4/CyLib.c **** bgTrim4 = CY_SFLASH_IMO_ABS0_REG;
443:.\Generated_Source\PSoC4/CyLib.c **** bgTrim5 = CY_SFLASH_IMO_TMPCO0_REG;
444:.\Generated_Source\PSoC4/CyLib.c **** }
445:.\Generated_Source\PSoC4/CyLib.c **** else if(freq <= CY_SFLASH_IMO_MAXF1_REG)
446:.\Generated_Source\PSoC4/CyLib.c **** {
447:.\Generated_Source\PSoC4/CyLib.c **** bgTrim4 = CY_SFLASH_IMO_ABS1_REG;
448:.\Generated_Source\PSoC4/CyLib.c **** bgTrim5 = CY_SFLASH_IMO_TMPCO1_REG;
449:.\Generated_Source\PSoC4/CyLib.c **** }
450:.\Generated_Source\PSoC4/CyLib.c **** else if(freq <= CY_SFLASH_IMO_MAXF2_REG)
451:.\Generated_Source\PSoC4/CyLib.c **** {
452:.\Generated_Source\PSoC4/CyLib.c **** bgTrim4 = CY_SFLASH_IMO_ABS2_REG;
453:.\Generated_Source\PSoC4/CyLib.c **** bgTrim5 = CY_SFLASH_IMO_TMPCO2_REG;
454:.\Generated_Source\PSoC4/CyLib.c **** }
455:.\Generated_Source\PSoC4/CyLib.c **** else if(freq <= CY_SFLASH_IMO_MAXF3_REG)
456:.\Generated_Source\PSoC4/CyLib.c **** {
457:.\Generated_Source\PSoC4/CyLib.c **** bgTrim4 = CY_SFLASH_IMO_ABS3_REG;
458:.\Generated_Source\PSoC4/CyLib.c **** bgTrim5 = CY_SFLASH_IMO_TMPCO3_REG;
459:.\Generated_Source\PSoC4/CyLib.c **** }
460:.\Generated_Source\PSoC4/CyLib.c **** else
461:.\Generated_Source\PSoC4/CyLib.c **** {
462:.\Generated_Source\PSoC4/CyLib.c **** bgTrim4 = CY_SFLASH_IMO_ABS4_REG;
463:.\Generated_Source\PSoC4/CyLib.c **** bgTrim5 = CY_SFLASH_IMO_TMPCO4_REG;
464:.\Generated_Source\PSoC4/CyLib.c **** }
465:.\Generated_Source\PSoC4/CyLib.c ****
466:.\Generated_Source\PSoC4/CyLib.c **** /* Get IMO_TRIM2 value for the new frequency */
467:.\Generated_Source\PSoC4/CyLib.c **** newImoTrim2Value = cyImoFreqMhz2Reg[freq - CY_SYS_CLK_IMO_FREQ_TABLE_OFFSET];
468:.\Generated_Source\PSoC4/CyLib.c ****
469:.\Generated_Source\PSoC4/CyLib.c ****
470:.\Generated_Source\PSoC4/CyLib.c **** /**********************************************`*****************************
471:.\Generated_Source\PSoC4/CyLib.c **** * The IMO can have a different trim per frequency. To avoid possible corner
472:.\Generated_Source\PSoC4/CyLib.c **** * cases where a trim change can exceed the maximum frequency, the trim must
473:.\Generated_Source\PSoC4/CyLib.c **** * be applied at a frequency that is low enough.
474:.\Generated_Source\PSoC4/CyLib.c **** *
475:.\Generated_Source\PSoC4/CyLib.c **** * Comparing IMO_TRIM2 values for the current and new frequencies, since
476:.\Generated_Source\PSoC4/CyLib.c **** * IMO_TRIM2 value as a function of IMO frequency is a strictly increasing
477:.\Generated_Source\PSoC4/CyLib.c **** * function and is time-invariant.
478:.\Generated_Source\PSoC4/CyLib.c **** ***************************************************************************/
479:.\Generated_Source\PSoC4/CyLib.c **** if ((newImoTrim2Value >= CY_SYS_CLK_IMO_BOUNDARY_FREQ_TRIM2) && (freq >= CY_SYS_CLK_IMO
480:.\Generated_Source\PSoC4/CyLib.c **** {
481:.\Generated_Source\PSoC4/CyLib.c **** /* Set boundary IMO frequency: safe for IMO above 48 MHZ trimming */
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 16


482:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM2_REG = (uint32) cyImoFreqMhz2Reg[CY_SYS_CLK_IMO_TEMP_FREQ_MHZ -
483:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_FREQ_TABLE_OFFS
484:.\Generated_Source\PSoC4/CyLib.c ****
485:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(CY_SYS_CLK_IMO_FREQ_TIMEOUT_CYCLES);
486:.\Generated_Source\PSoC4/CyLib.c ****
487:.\Generated_Source\PSoC4/CyLib.c **** currentImoTrim2Value = CY_SYS_CLK_IMO_TEMP_FREQ_TRIM2;
488:.\Generated_Source\PSoC4/CyLib.c **** }
489:.\Generated_Source\PSoC4/CyLib.c **** else
490:.\Generated_Source\PSoC4/CyLib.c **** {
491:.\Generated_Source\PSoC4/CyLib.c **** currentImoTrim2Value = (uint8) (CY_SYS_CLK_IMO_TRIM2_REG & CY_SYS_CLK_IMO_FREQ_BITS
492:.\Generated_Source\PSoC4/CyLib.c **** }
493:.\Generated_Source\PSoC4/CyLib.c ****
494:.\Generated_Source\PSoC4/CyLib.c ****
495:.\Generated_Source\PSoC4/CyLib.c **** /***************************************************************************
496:.\Generated_Source\PSoC4/CyLib.c **** * A trim change needs to be allowed to settle (within 5us) before the Freq
497:.\Generated_Source\PSoC4/CyLib.c **** * can be changed to a new frequency.
498:.\Generated_Source\PSoC4/CyLib.c **** *
499:.\Generated_Source\PSoC4/CyLib.c **** * Comparing IMO_TRIM2 values for the current and new frequencies, since
500:.\Generated_Source\PSoC4/CyLib.c **** * IMO_TRIM2 value as a function of IMO frequency is a strictly increasing
501:.\Generated_Source\PSoC4/CyLib.c **** * function and is time-invariant.
502:.\Generated_Source\PSoC4/CyLib.c **** ***************************************************************************/
503:.\Generated_Source\PSoC4/CyLib.c **** if (newImoTrim2Value < currentImoTrim2Value)
504:.\Generated_Source\PSoC4/CyLib.c **** {
505:.\Generated_Source\PSoC4/CyLib.c **** /* Set new IMO frequency */
506:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM2_REG = cyImoFreqMhz2Reg[freq - CY_SYS_CLK_IMO_FREQ_TABLE_OFFSET
507:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(CY_SYS_CLK_IMO_FREQ_TIMEOUT_CYCLES);
508:.\Generated_Source\PSoC4/CyLib.c **** }
509:.\Generated_Source\PSoC4/CyLib.c ****
510:.\Generated_Source\PSoC4/CyLib.c **** /* Set trims for the new IMO frequency */
511:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM1_REG = (uint32) CY_SFLASH_IMO_TRIM_REG(freq - CY_SYS_CLK_IMO_FREQ_T
512:.\Generated_Source\PSoC4/CyLib.c **** CY_PWR_BG_TRIM4_REG = bgTrim4;
513:.\Generated_Source\PSoC4/CyLib.c **** CY_PWR_BG_TRIM5_REG = bgTrim5;
514:.\Generated_Source\PSoC4/CyLib.c **** CyDelayUs(CY_SYS_CLK_IMO_TRIM_TIMEOUT_US);
515:.\Generated_Source\PSoC4/CyLib.c ****
516:.\Generated_Source\PSoC4/CyLib.c **** if (newImoTrim2Value > currentImoTrim2Value)
517:.\Generated_Source\PSoC4/CyLib.c **** {
518:.\Generated_Source\PSoC4/CyLib.c **** /* Set new IMO frequency */
519:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM2_REG = cyImoFreqMhz2Reg[freq - CY_SYS_CLK_IMO_FREQ_TABLE_OFFSET
520:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(CY_SYS_CLK_IMO_FREQ_TIMEOUT_CYCLES);
521:.\Generated_Source\PSoC4/CyLib.c **** }
522:.\Generated_Source\PSoC4/CyLib.c **** }
523:.\Generated_Source\PSoC4/CyLib.c **** else
524:.\Generated_Source\PSoC4/CyLib.c **** {
525:.\Generated_Source\PSoC4/CyLib.c **** /* Halt CPU in debug mode if new frequency is invalid */
526:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(0u != 0u);
527:.\Generated_Source\PSoC4/CyLib.c **** }
528:.\Generated_Source\PSoC4/CyLib.c ****
529:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_FMLT) */
530:.\Generated_Source\PSoC4/CyLib.c ****
531:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100M || CY_PSOC4_4200M)
532:.\Generated_Source\PSoC4/CyLib.c **** if (1u == wcoLock)
533:.\Generated_Source\PSoC4/CyLib.c **** {
534:.\Generated_Source\PSoC4/CyLib.c **** CySysClkImoEnableWcoLock();
535:.\Generated_Source\PSoC4/CyLib.c **** }
536:.\Generated_Source\PSoC4/CyLib.c **** #endif /* #if (CY_PSOC4_4100M || CY_PSOC4_4200M) */
537:.\Generated_Source\PSoC4/CyLib.c ****
538:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 17


368 .loc 1 538 0
369 0066 3B1C mov r3, r7
370 0068 2733 add r3, r3, #39
371 006a 1B78 ldrb r3, [r3]
372 006c 181C mov r0, r3
373 006e FFF7FEFF bl CyExitCriticalSection
539:.\Generated_Source\PSoC4/CyLib.c **** }
374 .loc 1 539 0
375 0072 BD46 mov sp, r7
376 0074 0BB0 add sp, sp, #44
377 @ sp needed
378 0076 90BD pop {r4, r7, pc}
379 .L15:
380 .align 2
381 .L14:
382 0078 08010B40 .word 1074462984
383 007c 00010B40 .word 1074462976
384 0080 00000000 .word cyImoFreqMhz2Reg
385 0084 30001040 .word 1074790448
386 0088 B6EA0000 .word 60086
387 008c 08001040 .word 1074790408
388 0090 04001040 .word 1074790404
389 0094 17000080 .word -2147483625
390 .cfi_endproc
391 .LFE6:
392 .size CySysClkWriteImoFreq, .-CySysClkWriteImoFreq
393 .section .text.CySysClkEcoStart,"ax",%progbits
394 .align 2
395 .global CySysClkEcoStart
396 .code 16
397 .thumb_func
398 .type CySysClkEcoStart, %function
399 CySysClkEcoStart:
400 .LFB7:
540:.\Generated_Source\PSoC4/CyLib.c ****
541:.\Generated_Source\PSoC4/CyLib.c **** #else
542:.\Generated_Source\PSoC4/CyLib.c ****
543:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteImoFreq(uint32 freq)
544:.\Generated_Source\PSoC4/CyLib.c **** {
545:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
546:.\Generated_Source\PSoC4/CyLib.c ****
547:.\Generated_Source\PSoC4/CyLib.c **** if ((freq == 24u) || (freq == 32u) || (freq == 48u))
548:.\Generated_Source\PSoC4/CyLib.c **** {
549:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
550:.\Generated_Source\PSoC4/CyLib.c ****
551:.\Generated_Source\PSoC4/CyLib.c **** /* Set IMO to 24 MHz - CLK_IMO_SELECT.FREQ = 0 */
552:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_SELECT_REG &= ((uint32) ~CY_SYS_CLK_IMO_SELECT_FREQ_MASK);
553:.\Generated_Source\PSoC4/CyLib.c ****
554:.\Generated_Source\PSoC4/CyLib.c **** /* Apply coarse trim */
555:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM1_REG = (CY_SYS_CLK_IMO_TRIM1_REG & ((uint32) ~CY_SYS_CLK_IMO_TRIM1_
556:.\Generated_Source\PSoC4/CyLib.c **** (CY_SFLASH_IMO_TRIM_REG(freq - CY_SYS_CLK_IMO_MIN_FREQ_MHZ) & CY_SYS_CLK_IMO_TRIM1_
557:.\Generated_Source\PSoC4/CyLib.c ****
558:.\Generated_Source\PSoC4/CyLib.c **** /* Zero out fine trim */
559:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM2_REG = CY_SYS_CLK_IMO_TRIM2_REG & ((uint32) ~CY_SYS_CLK_IMO_TRIM2_F
560:.\Generated_Source\PSoC4/CyLib.c ****
561:.\Generated_Source\PSoC4/CyLib.c **** /* Apply TC trim */
562:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_TRIM3_REG = (CY_SYS_CLK_IMO_TRIM3_REG & ((uint32) ~CY_SYS_CLK_IMO_TRIM3_
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 18


563:.\Generated_Source\PSoC4/CyLib.c **** (CY_SFLASH_IMO_TCTRIM_REG(freq - CY_SYS_CLK_IMO_MIN_FREQ_MHZ) & CY_SYS_CLK_IMO_TRIM
564:.\Generated_Source\PSoC4/CyLib.c ****
565:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(CY_SYS_CLK_IMO_TRIM_DELAY_US);
566:.\Generated_Source\PSoC4/CyLib.c ****
567:.\Generated_Source\PSoC4/CyLib.c **** if (freq > CY_SYS_CLK_IMO_MIN_FREQ_MHZ)
568:.\Generated_Source\PSoC4/CyLib.c **** {
569:.\Generated_Source\PSoC4/CyLib.c **** /* Select nearby intermediate frequency */
570:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_SELECT_REG = (CY_SYS_CLK_IMO_SELECT_REG & ((uint32) ~CY_SYS_CLK_IMO_
571:.\Generated_Source\PSoC4/CyLib.c **** (((freq - 4u - CY_SYS_CLK_IMO_MIN_FREQ_MHZ) >> 2u) & CY_SYS_CLK_IMO_SELECT_FREQ
572:.\Generated_Source\PSoC4/CyLib.c ****
573:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(CY_SYS_CLK_IMO_TRIM_DELAY_US);
574:.\Generated_Source\PSoC4/CyLib.c ****
575:.\Generated_Source\PSoC4/CyLib.c **** /* Make small step to final frequency */
576:.\Generated_Source\PSoC4/CyLib.c **** /* Select nearby intermediate frequency */
577:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_IMO_SELECT_REG = (CY_SYS_CLK_IMO_SELECT_REG & ((uint32) ~CY_SYS_CLK_IMO_
578:.\Generated_Source\PSoC4/CyLib.c **** (((freq - CY_SYS_CLK_IMO_MIN_FREQ_MHZ) >> 2u) & CY_SYS_CLK_IMO_SELECT_FREQ_MASK
579:.\Generated_Source\PSoC4/CyLib.c **** }
580:.\Generated_Source\PSoC4/CyLib.c ****
581:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
582:.\Generated_Source\PSoC4/CyLib.c **** }
583:.\Generated_Source\PSoC4/CyLib.c **** else
584:.\Generated_Source\PSoC4/CyLib.c **** {
585:.\Generated_Source\PSoC4/CyLib.c **** /* Halt CPU in debug mode if new frequency is invalid */
586:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(0u != 0u);
587:.\Generated_Source\PSoC4/CyLib.c **** }
588:.\Generated_Source\PSoC4/CyLib.c **** }
589:.\Generated_Source\PSoC4/CyLib.c ****
590:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_SRSSV2) */
591:.\Generated_Source\PSoC4/CyLib.c ****
592:.\Generated_Source\PSoC4/CyLib.c ****
593:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_IP_SRSSLT)
594:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
595:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkWriteHfclkDiv
596:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
597:.\Generated_Source\PSoC4/CyLib.c **** *
598:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
599:.\Generated_Source\PSoC4/CyLib.c **** * Selects the pre-scaler divider value for HFCLK from IMO.
600:.\Generated_Source\PSoC4/CyLib.c **** *
601:.\Generated_Source\PSoC4/CyLib.c **** * The HFCLK predivider allows the device to divide the HFCLK selection mux
602:.\Generated_Source\PSoC4/CyLib.c **** * input before use as HFCLK. The predivider is capable of dividing the HFCLK by
603:.\Generated_Source\PSoC4/CyLib.c **** * powers of 2 between 1 and 8.
604:.\Generated_Source\PSoC4/CyLib.c **** *
605:.\Generated_Source\PSoC4/CyLib.c **** * Note HFCLK's frequency cannot exceed 16 MHz. This API is applicable for
606:.\Generated_Source\PSoC4/CyLib.c **** * PSoC 4000 family of devices only.
607:.\Generated_Source\PSoC4/CyLib.c **** *
608:.\Generated_Source\PSoC4/CyLib.c **** *
609:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
610:.\Generated_Source\PSoC4/CyLib.c **** * divider: HF clock divider value
611:.\Generated_Source\PSoC4/CyLib.c **** * Define Description
612:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_DIV_NODIV Transparent mode (w/o dividing)
613:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_DIV_2 Divide selected clock source by 2
614:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_DIV_4 Divide selected clock source by 4
615:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_HFCLK_DIV_8 Divide selected clock source by 8
616:.\Generated_Source\PSoC4/CyLib.c **** *
617:.\Generated_Source\PSoC4/CyLib.c **** * Return:
618:.\Generated_Source\PSoC4/CyLib.c **** * None
619:.\Generated_Source\PSoC4/CyLib.c **** *
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 19


620:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
621:.\Generated_Source\PSoC4/CyLib.c **** * If the SYSCLK clock frequency increases during the device operation, call
622:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() with the appropriate parameter to adjust the number
623:.\Generated_Source\PSoC4/CyLib.c **** * of clock cycles the cache will wait before sampling data comes back from
624:.\Generated_Source\PSoC4/CyLib.c **** * Flash. If the SYSCLK clock frequency decreases, you can call
625:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() to improve the CPU performance. See
626:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() description for more information.
627:.\Generated_Source\PSoC4/CyLib.c **** *
628:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
629:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteHfclkDiv(uint32 divider)
630:.\Generated_Source\PSoC4/CyLib.c **** {
631:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
632:.\Generated_Source\PSoC4/CyLib.c ****
633:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
634:.\Generated_Source\PSoC4/CyLib.c ****
635:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_REG = ((CY_SYS_CLK_SELECT_REG & ((uint32) (~(CY_SYS_CLK_SELECT_HFCLK_DIV_
636:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_SELECT_HFCLK_DIV_SHIFT)))) |
637:.\Generated_Source\PSoC4/CyLib.c **** ((uint32)((divider & CY_SYS_CLK_SELECT_HFCLK_DIV_MASK) << CY_SYS_CLK_SELECT_HFC
638:.\Generated_Source\PSoC4/CyLib.c ****
639:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
640:.\Generated_Source\PSoC4/CyLib.c **** }
641:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_SRSSLT) */
642:.\Generated_Source\PSoC4/CyLib.c ****
643:.\Generated_Source\PSoC4/CyLib.c ****
644:.\Generated_Source\PSoC4/CyLib.c **** #if (CY_PSOC4_4100BL || CY_PSOC4_4200BL)
645:.\Generated_Source\PSoC4/CyLib.c ****
646:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
647:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkEcoStart
648:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
649:.\Generated_Source\PSoC4/CyLib.c **** *
650:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
651:.\Generated_Source\PSoC4/CyLib.c **** * Starts the External Crystal Oscillator (ECO). Refer to the device datasheet
652:.\Generated_Source\PSoC4/CyLib.c **** * for the ECO startup time.
653:.\Generated_Source\PSoC4/CyLib.c **** *
654:.\Generated_Source\PSoC4/CyLib.c **** * The timeout interval is measured based on the system frequency defined by
655:.\Generated_Source\PSoC4/CyLib.c **** * PSoC Creator at build time. If System clock frequency is changed in
656:.\Generated_Source\PSoC4/CyLib.c **** * runtime, the CyDelayFreq() with the appropriate parameter should be called.
657:.\Generated_Source\PSoC4/CyLib.c **** *
658:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
659:.\Generated_Source\PSoC4/CyLib.c **** * timeoutUs: Timeout in microseconds. If zero is specified, the function
660:.\Generated_Source\PSoC4/CyLib.c **** * starts the crystal and returns CYRET_SUCCESS. If non-zero
661:.\Generated_Source\PSoC4/CyLib.c **** * value is passed, the CYRET_SUCCESS is returned once crystal
662:.\Generated_Source\PSoC4/CyLib.c **** * is oscillating and amplitude reached 60% and it does not mean
663:.\Generated_Source\PSoC4/CyLib.c **** * 24 MHz crystal is within 50 ppm. If it is not oscillating or
664:.\Generated_Source\PSoC4/CyLib.c **** * amplitude didn't reach 60% after specified amount of time, the
665:.\Generated_Source\PSoC4/CyLib.c **** * CYRET_TIMEOUT is returned.
666:.\Generated_Source\PSoC4/CyLib.c **** *
667:.\Generated_Source\PSoC4/CyLib.c **** * Return:
668:.\Generated_Source\PSoC4/CyLib.c **** * CYRET_SUCCESS - Completed successfully. The ECO is oscillating and amplitude
669:.\Generated_Source\PSoC4/CyLib.c **** * reached 60% and it does not mean 24 MHz crystal is within
670:.\Generated_Source\PSoC4/CyLib.c **** * 50 ppm.
671:.\Generated_Source\PSoC4/CyLib.c **** * CYRET_TIMEOUT - Timeout occurred.
672:.\Generated_Source\PSoC4/CyLib.c **** *
673:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
674:.\Generated_Source\PSoC4/CyLib.c **** cystatus CySysClkEcoStart(uint32 timeoutUs)
675:.\Generated_Source\PSoC4/CyLib.c **** {
401 .loc 1 675 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 20


402 .cfi_startproc
403 0000 80B5 push {r7, lr}
404 .cfi_def_cfa_offset 8
405 .cfi_offset 7, -8
406 .cfi_offset 14, -4
407 0002 84B0 sub sp, sp, #16
408 .cfi_def_cfa_offset 24
409 0004 00AF add r7, sp, #0
410 .cfi_def_cfa_register 7
411 0006 7860 str r0, [r7, #4]
676:.\Generated_Source\PSoC4/CyLib.c **** cystatus status = CYRET_SUCCESS;
412 .loc 1 676 0
413 0008 0023 mov r3, #0
414 000a FB60 str r3, [r7, #12]
677:.\Generated_Source\PSoC4/CyLib.c ****
678:.\Generated_Source\PSoC4/CyLib.c **** /* Enable the RF oscillator band gap */
679:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_XTAL_BLESS_RF_CONFIG_REG |= CY_SYS_XTAL_BLESS_RF_CONFIG_RF_ENABLE;
415 .loc 1 679 0
416 000c 154B ldr r3, .L22
417 000e 154A ldr r2, .L22
418 0010 1268 ldr r2, [r2]
419 0012 0121 mov r1, #1
420 0014 0A43 orr r2, r1
421 0016 1A60 str r2, [r3]
680:.\Generated_Source\PSoC4/CyLib.c ****
681:.\Generated_Source\PSoC4/CyLib.c **** /* Update trimming register */
682:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_XTAL_BLERD_BB_XO_REG = CY_SYS_XTAL_BLERD_BB_XO_TRIM;
422 .loc 1 682 0
423 0018 134B ldr r3, .L22+4
424 001a 144A ldr r2, .L22+8
425 001c 1A60 str r2, [r3]
683:.\Generated_Source\PSoC4/CyLib.c ****
684:.\Generated_Source\PSoC4/CyLib.c **** /* Enable the Crystal */
685:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_XTAL_BLERD_DBUS_REG |= CY_SYS_XTAL_BLERD_DBUS_XTAL_ENABLE;
426 .loc 1 685 0
427 001e 144B ldr r3, .L22+12
428 0020 134A ldr r2, .L22+12
429 0022 1268 ldr r2, [r2]
430 0024 8021 mov r1, #128
431 0026 0902 lsl r1, r1, #8
432 0028 0A43 orr r2, r1
433 002a 1A60 str r2, [r3]
686:.\Generated_Source\PSoC4/CyLib.c ****
687:.\Generated_Source\PSoC4/CyLib.c **** if(timeoutUs > 0u)
434 .loc 1 687 0
435 002c 7B68 ldr r3, [r7, #4]
436 002e 002B cmp r3, #0
437 0030 13D0 beq .L17
688:.\Generated_Source\PSoC4/CyLib.c **** {
689:.\Generated_Source\PSoC4/CyLib.c **** status = CYRET_TIMEOUT;
438 .loc 1 689 0
439 0032 1023 mov r3, #16
440 0034 FB60 str r3, [r7, #12]
690:.\Generated_Source\PSoC4/CyLib.c ****
691:.\Generated_Source\PSoC4/CyLib.c **** for( ; timeoutUs > 0u; timeoutUs--)
441 .loc 1 691 0
442 0036 0DE0 b .L18
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 21


443 .L20:
692:.\Generated_Source\PSoC4/CyLib.c **** {
693:.\Generated_Source\PSoC4/CyLib.c **** CyDelayUs(1u);
444 .loc 1 693 0
445 0038 0120 mov r0, #1
446 003a FFF7FEFF bl CyDelayUs
694:.\Generated_Source\PSoC4/CyLib.c ****
695:.\Generated_Source\PSoC4/CyLib.c **** if(0u != CySysClkEcoReadStatus())
447 .loc 1 695 0
448 003e FFF7FEFF bl CySysClkEcoReadStatus
449 0042 031C mov r3, r0
450 0044 002B cmp r3, #0
451 0046 02D0 beq .L19
696:.\Generated_Source\PSoC4/CyLib.c **** {
697:.\Generated_Source\PSoC4/CyLib.c **** status = CYRET_SUCCESS;
452 .loc 1 697 0
453 0048 0023 mov r3, #0
454 004a FB60 str r3, [r7, #12]
698:.\Generated_Source\PSoC4/CyLib.c **** break;
455 .loc 1 698 0
456 004c 05E0 b .L17
457 .L19:
691:.\Generated_Source\PSoC4/CyLib.c **** for( ; timeoutUs > 0u; timeoutUs--)
458 .loc 1 691 0
459 004e 7B68 ldr r3, [r7, #4]
460 0050 013B sub r3, r3, #1
461 0052 7B60 str r3, [r7, #4]
462 .L18:
691:.\Generated_Source\PSoC4/CyLib.c **** for( ; timeoutUs > 0u; timeoutUs--)
463 .loc 1 691 0 is_stmt 0 discriminator 1
464 0054 7B68 ldr r3, [r7, #4]
465 0056 002B cmp r3, #0
466 0058 EED1 bne .L20
467 .L17:
699:.\Generated_Source\PSoC4/CyLib.c **** }
700:.\Generated_Source\PSoC4/CyLib.c **** }
701:.\Generated_Source\PSoC4/CyLib.c ****
702:.\Generated_Source\PSoC4/CyLib.c **** }
703:.\Generated_Source\PSoC4/CyLib.c ****
704:.\Generated_Source\PSoC4/CyLib.c **** return(status);
468 .loc 1 704 0 is_stmt 1
469 005a FB68 ldr r3, [r7, #12]
705:.\Generated_Source\PSoC4/CyLib.c **** }
470 .loc 1 705 0
471 005c 181C mov r0, r3
472 005e BD46 mov sp, r7
473 0060 04B0 add sp, sp, #16
474 @ sp needed
475 0062 80BD pop {r7, pc}
476 .L23:
477 .align 2
478 .L22:
479 0064 60F02E40 .word 1076818016
480 0068 78002E40 .word 1076756600
481 006c 02200000 .word 8194
482 0070 10002E40 .word 1076756496
483 .cfi_endproc
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 22


484 .LFE7:
485 .size CySysClkEcoStart, .-CySysClkEcoStart
486 .section .text.CySysClkEcoStop,"ax",%progbits
487 .align 2
488 .global CySysClkEcoStop
489 .code 16
490 .thumb_func
491 .type CySysClkEcoStop, %function
492 CySysClkEcoStop:
493 .LFB8:
706:.\Generated_Source\PSoC4/CyLib.c ****
707:.\Generated_Source\PSoC4/CyLib.c ****
708:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
709:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkEcoStop
710:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
711:.\Generated_Source\PSoC4/CyLib.c **** *
712:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
713:.\Generated_Source\PSoC4/CyLib.c **** * Stops the megahertz crystal.
714:.\Generated_Source\PSoC4/CyLib.c **** *
715:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
716:.\Generated_Source\PSoC4/CyLib.c **** * None
717:.\Generated_Source\PSoC4/CyLib.c **** *
718:.\Generated_Source\PSoC4/CyLib.c **** * Return:
719:.\Generated_Source\PSoC4/CyLib.c **** * None
720:.\Generated_Source\PSoC4/CyLib.c **** *
721:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
722:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkEcoStop(void)
723:.\Generated_Source\PSoC4/CyLib.c **** {
494 .loc 1 723 0
495 .cfi_startproc
496 0000 80B5 push {r7, lr}
497 .cfi_def_cfa_offset 8
498 .cfi_offset 7, -8
499 .cfi_offset 14, -4
500 0002 00AF add r7, sp, #0
501 .cfi_def_cfa_register 7
724:.\Generated_Source\PSoC4/CyLib.c **** /* Disable the RF oscillator band gap */
725:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_XTAL_BLESS_RF_CONFIG_REG &= (uint32) ~CY_SYS_XTAL_BLESS_RF_CONFIG_RF_ENABLE;
502 .loc 1 725 0
503 0004 064B ldr r3, .L25
504 0006 064A ldr r2, .L25
505 0008 1268 ldr r2, [r2]
506 000a 0121 mov r1, #1
507 000c 8A43 bic r2, r1
508 000e 1A60 str r2, [r3]
726:.\Generated_Source\PSoC4/CyLib.c ****
727:.\Generated_Source\PSoC4/CyLib.c **** /* Disable the Crystal */
728:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_XTAL_BLERD_DBUS_REG &= (uint32) ~CY_SYS_XTAL_BLERD_DBUS_XTAL_ENABLE;
509 .loc 1 728 0
510 0010 044B ldr r3, .L25+4
511 0012 044A ldr r2, .L25+4
512 0014 1168 ldr r1, [r2]
513 0016 044A ldr r2, .L25+8
514 0018 0A40 and r2, r1
515 001a 1A60 str r2, [r3]
729:.\Generated_Source\PSoC4/CyLib.c **** }
516 .loc 1 729 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 23


517 001c BD46 mov sp, r7
518 @ sp needed
519 001e 80BD pop {r7, pc}
520 .L26:
521 .align 2
522 .L25:
523 0020 60F02E40 .word 1076818016
524 0024 10002E40 .word 1076756496
525 0028 FF7FFFFF .word -32769
526 .cfi_endproc
527 .LFE8:
528 .size CySysClkEcoStop, .-CySysClkEcoStop
529 .section .text.CySysClkEcoReadStatus,"ax",%progbits
530 .align 2
531 .global CySysClkEcoReadStatus
532 .code 16
533 .thumb_func
534 .type CySysClkEcoReadStatus, %function
535 CySysClkEcoReadStatus:
536 .LFB9:
730:.\Generated_Source\PSoC4/CyLib.c ****
731:.\Generated_Source\PSoC4/CyLib.c ****
732:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
733:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkEcoReadStatus
734:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
735:.\Generated_Source\PSoC4/CyLib.c **** *
736:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
737:.\Generated_Source\PSoC4/CyLib.c **** * Read status bit (50 ppm reached) for the megahertz crystal.
738:.\Generated_Source\PSoC4/CyLib.c **** *
739:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
740:.\Generated_Source\PSoC4/CyLib.c **** * None
741:.\Generated_Source\PSoC4/CyLib.c **** *
742:.\Generated_Source\PSoC4/CyLib.c **** * Return:
743:.\Generated_Source\PSoC4/CyLib.c **** * Non-zero indicates that XTAL output reached 50 ppm.
744:.\Generated_Source\PSoC4/CyLib.c **** *
745:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
746:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysClkEcoReadStatus(void)
747:.\Generated_Source\PSoC4/CyLib.c **** {
537 .loc 1 747 0
538 .cfi_startproc
539 0000 80B5 push {r7, lr}
540 .cfi_def_cfa_offset 8
541 .cfi_offset 7, -8
542 .cfi_offset 14, -4
543 0002 00AF add r7, sp, #0
544 .cfi_def_cfa_register 7
748:.\Generated_Source\PSoC4/CyLib.c **** return (CY_SYS_XTAL_BLERD_FSM_REG & CY_SYS_XTAL_BLERD_FSM_XO_AMP_DETECT);
545 .loc 1 748 0
546 0004 034B ldr r3, .L29
547 0006 1A68 ldr r2, [r3]
548 0008 0123 mov r3, #1
549 000a 1340 and r3, r2
749:.\Generated_Source\PSoC4/CyLib.c **** }
550 .loc 1 749 0
551 000c 181C mov r0, r3
552 000e BD46 mov sp, r7
553 @ sp needed
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 24


554 0010 80BD pop {r7, pc}
555 .L30:
556 0012 C046 .align 2
557 .L29:
558 0014 0C002E40 .word 1076756492
559 .cfi_endproc
560 .LFE9:
561 .size CySysClkEcoReadStatus, .-CySysClkEcoReadStatus
562 .section .text.CySysClkWriteEcoDiv,"ax",%progbits
563 .align 2
564 .global CySysClkWriteEcoDiv
565 .code 16
566 .thumb_func
567 .type CySysClkWriteEcoDiv, %function
568 CySysClkWriteEcoDiv:
569 .LFB10:
750:.\Generated_Source\PSoC4/CyLib.c ****
751:.\Generated_Source\PSoC4/CyLib.c ****
752:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
753:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysClkWriteEcoDiv
754:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
755:.\Generated_Source\PSoC4/CyLib.c **** *
756:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
757:.\Generated_Source\PSoC4/CyLib.c **** * Selects value for the ECO divider.
758:.\Generated_Source\PSoC4/CyLib.c **** *
759:.\Generated_Source\PSoC4/CyLib.c **** * The ECO must not be the HFCLK clock source when this function is called.
760:.\Generated_Source\PSoC4/CyLib.c **** * The HFCLK source can be changed to the other clock source by call to the
761:.\Generated_Source\PSoC4/CyLib.c **** * CySysClkWriteHfclkDirect() function. If the ECO sources the HFCLK this
762:.\Generated_Source\PSoC4/CyLib.c **** * function will not have any effect if compiler in release mode, and halt the
763:.\Generated_Source\PSoC4/CyLib.c **** * CPU when compiler in debug mode.
764:.\Generated_Source\PSoC4/CyLib.c **** *
765:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
766:.\Generated_Source\PSoC4/CyLib.c **** * divider: Power of 2 divider selection.
767:.\Generated_Source\PSoC4/CyLib.c **** *
768:.\Generated_Source\PSoC4/CyLib.c **** * Define Description
769:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_ECO_DIV1 HFCLK = ECO / 1
770:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_ECO_DIV2 HFCLK = ECO / 2
771:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_ECO_DIV4 HFCLK = ECO / 4
772:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_CLK_ECO_DIV8 HFCLK = ECO / 8
773:.\Generated_Source\PSoC4/CyLib.c **** *
774:.\Generated_Source\PSoC4/CyLib.c **** * Return:
775:.\Generated_Source\PSoC4/CyLib.c **** * None
776:.\Generated_Source\PSoC4/CyLib.c **** *
777:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
778:.\Generated_Source\PSoC4/CyLib.c **** * If the SYSCLK clock frequency increases during the device operation, call
779:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() with the appropriate parameter to adjust the number
780:.\Generated_Source\PSoC4/CyLib.c **** * of clock cycles the cache will wait before sampling data comes back from
781:.\Generated_Source\PSoC4/CyLib.c **** * Flash. If the SYSCLK clock frequency decreases, you can call
782:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() to improve the CPU performance. See
783:.\Generated_Source\PSoC4/CyLib.c **** * CySysFlashSetWaitCycles() description for more information.
784:.\Generated_Source\PSoC4/CyLib.c **** *
785:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
786:.\Generated_Source\PSoC4/CyLib.c **** void CySysClkWriteEcoDiv(uint32 divider)
787:.\Generated_Source\PSoC4/CyLib.c **** {
570 .loc 1 787 0
571 .cfi_startproc
572 0000 90B5 push {r4, r7, lr}
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 25


573 .cfi_def_cfa_offset 12
574 .cfi_offset 4, -12
575 .cfi_offset 7, -8
576 .cfi_offset 14, -4
577 0002 85B0 sub sp, sp, #20
578 .cfi_def_cfa_offset 32
579 0004 00AF add r7, sp, #0
580 .cfi_def_cfa_register 7
581 0006 7860 str r0, [r7, #4]
788:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
789:.\Generated_Source\PSoC4/CyLib.c ****
790:.\Generated_Source\PSoC4/CyLib.c **** if (CY_SYS_CLK_HFCLK_ECO != (CY_SYS_CLK_SELECT_REG & CY_SYS_CLK_SELECT_DIRECT_SEL_MASK))
582 .loc 1 790 0
583 0008 114B ldr r3, .L34
584 000a 1A68 ldr r2, [r3]
585 000c 0723 mov r3, #7
586 000e 1340 and r3, r2
587 0010 022B cmp r3, #2
588 0012 16D0 beq .L32
791:.\Generated_Source\PSoC4/CyLib.c **** {
792:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
589 .loc 1 792 0
590 0014 3C1C mov r4, r7
591 0016 0F34 add r4, r4, #15
592 0018 FFF7FEFF bl CyEnterCriticalSection
593 001c 031C mov r3, r0
594 001e 2370 strb r3, [r4]
793:.\Generated_Source\PSoC4/CyLib.c ****
794:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_XTAL_CLK_DIV_CONFIG_REG = (divider & CY_SYS_CLK_XTAL_CLK_DIV_MASK) |
595 .loc 1 794 0
596 0020 0C4B ldr r3, .L34+4
597 0022 7968 ldr r1, [r7, #4]
598 0024 0322 mov r2, #3
599 0026 1140 and r1, r2
795:.\Generated_Source\PSoC4/CyLib.c **** (CY_SYS_CLK_XTAL_CLK_DIV_CONFIG_REG & ((uint32) ~
600 .loc 1 795 0
601 0028 0A4A ldr r2, .L34+4
602 002a 1268 ldr r2, [r2]
603 002c 0320 mov r0, #3
604 002e 8243 bic r2, r0
794:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CLK_XTAL_CLK_DIV_CONFIG_REG = (divider & CY_SYS_CLK_XTAL_CLK_DIV_MASK) |
605 .loc 1 794 0
606 0030 0A43 orr r2, r1
607 0032 1A60 str r2, [r3]
796:.\Generated_Source\PSoC4/CyLib.c ****
797:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
608 .loc 1 797 0
609 0034 3B1C mov r3, r7
610 0036 0F33 add r3, r3, #15
611 0038 1B78 ldrb r3, [r3]
612 003a 181C mov r0, r3
613 003c FFF7FEFF bl CyExitCriticalSection
614 0040 02E0 b .L31
615 .L32:
798:.\Generated_Source\PSoC4/CyLib.c **** }
799:.\Generated_Source\PSoC4/CyLib.c **** else
800:.\Generated_Source\PSoC4/CyLib.c **** {
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 26


801:.\Generated_Source\PSoC4/CyLib.c **** /* Halt CPU in debug mode if ECO sources HFCLK */
802:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(0u != 0u);
616 .loc 1 802 0 discriminator 1
617 0042 0020 mov r0, #0
618 0044 FFF7FEFF bl CyHalt
619 .L31:
803:.\Generated_Source\PSoC4/CyLib.c **** }
804:.\Generated_Source\PSoC4/CyLib.c **** }
620 .loc 1 804 0
621 0048 BD46 mov sp, r7
622 004a 05B0 add sp, sp, #20
623 @ sp needed
624 004c 90BD pop {r4, r7, pc}
625 .L35:
626 004e C046 .align 2
627 .L34:
628 0050 00010B40 .word 1074462976
629 0054 64F02E40 .word 1076818020
630 .cfi_endproc
631 .LFE10:
632 .size CySysClkWriteEcoDiv, .-CySysClkWriteEcoDiv
633 .section .text.CySysLvdEnable,"ax",%progbits
634 .align 2
635 .global CySysLvdEnable
636 .code 16
637 .thumb_func
638 .type CySysLvdEnable, %function
639 CySysLvdEnable:
640 .LFB11:
805:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_PSOC4_4100BL || CY_PSOC4_4200BL) */
806:.\Generated_Source\PSoC4/CyLib.c ****
807:.\Generated_Source\PSoC4/CyLib.c ****
808:.\Generated_Source\PSoC4/CyLib.c ****
809:.\Generated_Source\PSoC4/CyLib.c ****
810:.\Generated_Source\PSoC4/CyLib.c ****
811:.\Generated_Source\PSoC4/CyLib.c ****
812:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_IP_SRSSV2)
813:.\Generated_Source\PSoC4/CyLib.c ****
814:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
815:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysLvdEnable
816:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
817:.\Generated_Source\PSoC4/CyLib.c **** *
818:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
819:.\Generated_Source\PSoC4/CyLib.c **** * Enables the output of the low-voltage monitor when Vddd is at or below the
820:.\Generated_Source\PSoC4/CyLib.c **** * trip point, configures the device to generate an interrupt, and sets the
821:.\Generated_Source\PSoC4/CyLib.c **** * voltage trip level.
822:.\Generated_Source\PSoC4/CyLib.c **** *
823:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
824:.\Generated_Source\PSoC4/CyLib.c **** * threshold: Threshold selection for Low Voltage Detect circuit.
825:.\Generated_Source\PSoC4/CyLib.c **** * Threshold variation is +/- 2.5% from these typical voltage choices.
826:.\Generated_Source\PSoC4/CyLib.c **** * Define Voltage threshold
827:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_1_75_V 1.7500 V
828:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_1_80_V 1.8000 V
829:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_1_90_V 1.9000 V
830:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_00_V 2.0000 V
831:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_10_V 2.1000 V
832:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_20_V 2.2000 V
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 27


833:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_30_V 2.3000 V
834:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_40_V 2.4000 V
835:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_50_V 2.5000 V
836:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_60_V 2.6000 V
837:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_70_V 2.7000 V
838:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_80_V 2.8000 V
839:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_2_90_V 2.9000 V
840:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_3_00_V 3.0000 V
841:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_3_20_V 3.2000 V
842:.\Generated_Source\PSoC4/CyLib.c **** * CY_LVD_THRESHOLD_4_50_V 4.5000 V
843:.\Generated_Source\PSoC4/CyLib.c **** *
844:.\Generated_Source\PSoC4/CyLib.c **** * Return:
845:.\Generated_Source\PSoC4/CyLib.c **** * None
846:.\Generated_Source\PSoC4/CyLib.c **** *
847:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
848:.\Generated_Source\PSoC4/CyLib.c **** void CySysLvdEnable(uint32 threshold)
849:.\Generated_Source\PSoC4/CyLib.c **** {
641 .loc 1 849 0
642 .cfi_startproc
643 0000 80B5 push {r7, lr}
644 .cfi_def_cfa_offset 8
645 .cfi_offset 7, -8
646 .cfi_offset 14, -4
647 0002 82B0 sub sp, sp, #8
648 .cfi_def_cfa_offset 16
649 0004 00AF add r7, sp, #0
650 .cfi_def_cfa_register 7
651 0006 7860 str r0, [r7, #4]
850:.\Generated_Source\PSoC4/CyLib.c **** /* Prevent propagating a false interrupt */
851:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_INTR_MASK_REG &= (uint32) ~CY_LVD_PROPAGATE_INT_TO_CPU;
652 .loc 1 851 0
653 0008 144B ldr r3, .L37
654 000a 144A ldr r2, .L37
655 000c 1268 ldr r2, [r2]
656 000e 0221 mov r1, #2
657 0010 8A43 bic r2, r1
658 0012 1A60 str r2, [r3]
852:.\Generated_Source\PSoC4/CyLib.c ****
853:.\Generated_Source\PSoC4/CyLib.c **** /* Set specified threshold */
854:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_VMON_CONFIG_REG = (CY_LVD_PWR_VMON_CONFIG_REG & ~CY_LVD_PWR_VMON_CONFIG_LVD_SEL_
659 .loc 1 854 0
660 0014 124B ldr r3, .L37+4
661 0016 124A ldr r2, .L37+4
662 0018 1268 ldr r2, [r2]
663 001a 1E21 mov r1, #30
664 001c 101C mov r0, r2
665 001e 8843 bic r0, r1
666 0020 011C mov r1, r0
855:.\Generated_Source\PSoC4/CyLib.c **** ((threshold << CY_LVD_PWR_VMON_CONFIG_LVD_SEL_SHIFT) & CY_LVD_PWR_VMON_CONFIG_LVD_S
667 .loc 1 855 0
668 0022 7A68 ldr r2, [r7, #4]
669 0024 5000 lsl r0, r2, #1
670 0026 1E22 mov r2, #30
671 0028 0240 and r2, r0
854:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_VMON_CONFIG_REG = (CY_LVD_PWR_VMON_CONFIG_REG & ~CY_LVD_PWR_VMON_CONFIG_LVD_SEL_
672 .loc 1 854 0
673 002a 0A43 orr r2, r1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 28


674 002c 1A60 str r2, [r3]
856:.\Generated_Source\PSoC4/CyLib.c ****
857:.\Generated_Source\PSoC4/CyLib.c **** /* Enable the LVD. This may cause a false LVD event. */
858:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_VMON_CONFIG_REG |= CY_LVD_PWR_VMON_CONFIG_LVD_EN;
675 .loc 1 858 0
676 002e 0C4B ldr r3, .L37+4
677 0030 0B4A ldr r2, .L37+4
678 0032 1268 ldr r2, [r2]
679 0034 0121 mov r1, #1
680 0036 0A43 orr r2, r1
681 0038 1A60 str r2, [r3]
859:.\Generated_Source\PSoC4/CyLib.c ****
860:.\Generated_Source\PSoC4/CyLib.c **** /* Wait for the circuit to stabilize */
861:.\Generated_Source\PSoC4/CyLib.c **** CyDelayUs(CY_LVD_STABILIZE_TIMEOUT_US);
682 .loc 1 861 0
683 003a FA23 mov r3, #250
684 003c 9B00 lsl r3, r3, #2
685 003e 181C mov r0, r3
686 0040 FFF7FEFF bl CyDelayUs
862:.\Generated_Source\PSoC4/CyLib.c ****
863:.\Generated_Source\PSoC4/CyLib.c **** /* Clear the false event */
864:.\Generated_Source\PSoC4/CyLib.c **** CySysLvdClearInterrupt();
687 .loc 1 864 0
688 0044 FFF7FEFF bl CySysLvdClearInterrupt
865:.\Generated_Source\PSoC4/CyLib.c ****
866:.\Generated_Source\PSoC4/CyLib.c **** /* Unmask the interrupt */
867:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_INTR_MASK_REG |= CY_LVD_PROPAGATE_INT_TO_CPU;
689 .loc 1 867 0
690 0048 044B ldr r3, .L37
691 004a 044A ldr r2, .L37
692 004c 1268 ldr r2, [r2]
693 004e 0221 mov r1, #2
694 0050 0A43 orr r2, r1
695 0052 1A60 str r2, [r3]
868:.\Generated_Source\PSoC4/CyLib.c **** }
696 .loc 1 868 0
697 0054 BD46 mov sp, r7
698 0056 02B0 add sp, sp, #8
699 @ sp needed
700 0058 80BD pop {r7, pc}
701 .L38:
702 005a C046 .align 2
703 .L37:
704 005c 08000B40 .word 1074462728
705 0060 18000B40 .word 1074462744
706 .cfi_endproc
707 .LFE11:
708 .size CySysLvdEnable, .-CySysLvdEnable
709 .section .text.CySysLvdDisable,"ax",%progbits
710 .align 2
711 .global CySysLvdDisable
712 .code 16
713 .thumb_func
714 .type CySysLvdDisable, %function
715 CySysLvdDisable:
716 .LFB12:
869:.\Generated_Source\PSoC4/CyLib.c ****
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 29


870:.\Generated_Source\PSoC4/CyLib.c ****
871:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
872:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysLvdDisable
873:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
874:.\Generated_Source\PSoC4/CyLib.c **** *
875:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
876:.\Generated_Source\PSoC4/CyLib.c **** * Disables the low voltage detection. A low voltage interrupt is disabled.
877:.\Generated_Source\PSoC4/CyLib.c **** *
878:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
879:.\Generated_Source\PSoC4/CyLib.c **** * None
880:.\Generated_Source\PSoC4/CyLib.c **** *
881:.\Generated_Source\PSoC4/CyLib.c **** * Return:
882:.\Generated_Source\PSoC4/CyLib.c **** * None
883:.\Generated_Source\PSoC4/CyLib.c **** *
884:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
885:.\Generated_Source\PSoC4/CyLib.c **** void CySysLvdDisable(void)
886:.\Generated_Source\PSoC4/CyLib.c **** {
717 .loc 1 886 0
718 .cfi_startproc
719 0000 80B5 push {r7, lr}
720 .cfi_def_cfa_offset 8
721 .cfi_offset 7, -8
722 .cfi_offset 14, -4
723 0002 00AF add r7, sp, #0
724 .cfi_def_cfa_register 7
887:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_INTR_MASK_REG &= ~CY_LVD_PROPAGATE_INT_TO_CPU;
725 .loc 1 887 0
726 0004 064B ldr r3, .L40
727 0006 064A ldr r2, .L40
728 0008 1268 ldr r2, [r2]
729 000a 0221 mov r1, #2
730 000c 8A43 bic r2, r1
731 000e 1A60 str r2, [r3]
888:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_VMON_CONFIG_REG &= ~CY_LVD_PWR_VMON_CONFIG_LVD_EN;
732 .loc 1 888 0
733 0010 044B ldr r3, .L40+4
734 0012 044A ldr r2, .L40+4
735 0014 1268 ldr r2, [r2]
736 0016 0121 mov r1, #1
737 0018 8A43 bic r2, r1
738 001a 1A60 str r2, [r3]
889:.\Generated_Source\PSoC4/CyLib.c **** }
739 .loc 1 889 0
740 001c BD46 mov sp, r7
741 @ sp needed
742 001e 80BD pop {r7, pc}
743 .L41:
744 .align 2
745 .L40:
746 0020 08000B40 .word 1074462728
747 0024 18000B40 .word 1074462744
748 .cfi_endproc
749 .LFE12:
750 .size CySysLvdDisable, .-CySysLvdDisable
751 .section .text.CySysLvdGetInterruptSource,"ax",%progbits
752 .align 2
753 .global CySysLvdGetInterruptSource
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 30


754 .code 16
755 .thumb_func
756 .type CySysLvdGetInterruptSource, %function
757 CySysLvdGetInterruptSource:
758 .LFB13:
890:.\Generated_Source\PSoC4/CyLib.c ****
891:.\Generated_Source\PSoC4/CyLib.c ****
892:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
893:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysLvdGetInterruptSource
894:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
895:.\Generated_Source\PSoC4/CyLib.c **** *
896:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
897:.\Generated_Source\PSoC4/CyLib.c **** * Gets the low voltage detection interrupt status (without clearing).
898:.\Generated_Source\PSoC4/CyLib.c **** *
899:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
900:.\Generated_Source\PSoC4/CyLib.c **** * None
901:.\Generated_Source\PSoC4/CyLib.c **** *
902:.\Generated_Source\PSoC4/CyLib.c **** * Return:
903:.\Generated_Source\PSoC4/CyLib.c **** * Interrupt request value:
904:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_LVD_INT - Indicates an Low Voltage Detect interrupt
905:.\Generated_Source\PSoC4/CyLib.c **** *
906:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
907:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysLvdGetInterruptSource(void)
908:.\Generated_Source\PSoC4/CyLib.c **** {
759 .loc 1 908 0
760 .cfi_startproc
761 0000 80B5 push {r7, lr}
762 .cfi_def_cfa_offset 8
763 .cfi_offset 7, -8
764 .cfi_offset 14, -4
765 0002 00AF add r7, sp, #0
766 .cfi_def_cfa_register 7
909:.\Generated_Source\PSoC4/CyLib.c **** return (CY_LVD_PWR_INTR_REG & CY_SYS_LVD_INT);
767 .loc 1 909 0
768 0004 034B ldr r3, .L44
769 0006 1A68 ldr r2, [r3]
770 0008 0223 mov r3, #2
771 000a 1340 and r3, r2
910:.\Generated_Source\PSoC4/CyLib.c **** }
772 .loc 1 910 0
773 000c 181C mov r0, r3
774 000e BD46 mov sp, r7
775 @ sp needed
776 0010 80BD pop {r7, pc}
777 .L45:
778 0012 C046 .align 2
779 .L44:
780 0014 04000B40 .word 1074462724
781 .cfi_endproc
782 .LFE13:
783 .size CySysLvdGetInterruptSource, .-CySysLvdGetInterruptSource
784 .section .text.CySysLvdClearInterrupt,"ax",%progbits
785 .align 2
786 .global CySysLvdClearInterrupt
787 .code 16
788 .thumb_func
789 .type CySysLvdClearInterrupt, %function
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 31


790 CySysLvdClearInterrupt:
791 .LFB14:
911:.\Generated_Source\PSoC4/CyLib.c ****
912:.\Generated_Source\PSoC4/CyLib.c ****
913:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
914:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysLvdClearInterrupt
915:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
916:.\Generated_Source\PSoC4/CyLib.c **** *
917:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
918:.\Generated_Source\PSoC4/CyLib.c **** * Clears the low voltage detection interrupt status.
919:.\Generated_Source\PSoC4/CyLib.c **** *
920:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
921:.\Generated_Source\PSoC4/CyLib.c **** * None
922:.\Generated_Source\PSoC4/CyLib.c **** *
923:.\Generated_Source\PSoC4/CyLib.c **** * Return:
924:.\Generated_Source\PSoC4/CyLib.c **** * None
925:.\Generated_Source\PSoC4/CyLib.c **** *
926:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
927:.\Generated_Source\PSoC4/CyLib.c **** void CySysLvdClearInterrupt(void)
928:.\Generated_Source\PSoC4/CyLib.c **** {
792 .loc 1 928 0
793 .cfi_startproc
794 0000 80B5 push {r7, lr}
795 .cfi_def_cfa_offset 8
796 .cfi_offset 7, -8
797 .cfi_offset 14, -4
798 0002 00AF add r7, sp, #0
799 .cfi_def_cfa_register 7
929:.\Generated_Source\PSoC4/CyLib.c **** CY_LVD_PWR_INTR_REG = CY_SYS_LVD_INT;
800 .loc 1 929 0
801 0004 024B ldr r3, .L47
802 0006 0222 mov r2, #2
803 0008 1A60 str r2, [r3]
930:.\Generated_Source\PSoC4/CyLib.c **** }
804 .loc 1 930 0
805 000a BD46 mov sp, r7
806 @ sp needed
807 000c 80BD pop {r7, pc}
808 .L48:
809 000e C046 .align 2
810 .L47:
811 0010 04000B40 .word 1074462724
812 .cfi_endproc
813 .LFE14:
814 .size CySysLvdClearInterrupt, .-CySysLvdClearInterrupt
815 .section .text.CySysGetResetReason,"ax",%progbits
816 .align 2
817 .global CySysGetResetReason
818 .code 16
819 .thumb_func
820 .type CySysGetResetReason, %function
821 CySysGetResetReason:
822 .LFB15:
931:.\Generated_Source\PSoC4/CyLib.c ****
932:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_IP_SRSSV2) */
933:.\Generated_Source\PSoC4/CyLib.c ****
934:.\Generated_Source\PSoC4/CyLib.c ****
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 32


935:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
936:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysGetResetReason
937:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
938:.\Generated_Source\PSoC4/CyLib.c **** *
939:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
940:.\Generated_Source\PSoC4/CyLib.c **** * Reports the cause for the latest reset(s) that occurred in the system. All
941:.\Generated_Source\PSoC4/CyLib.c **** * the bits in the RES_CAUSE register assert when the corresponding reset cause
942:.\Generated_Source\PSoC4/CyLib.c **** * occurs and must be cleared by the firmware. These bits are cleared by the
943:.\Generated_Source\PSoC4/CyLib.c **** * hardware only during XRES, POR, or a detected brown-out.
944:.\Generated_Source\PSoC4/CyLib.c **** *
945:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
946:.\Generated_Source\PSoC4/CyLib.c **** * reason: bits in the RES_CAUSE register to clear.
947:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_RESET_WDT - WDT caused a reset
948:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_RESET_PROTFAULT - Occured protection violation that requires reset
949:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_RESET_SW - Cortex-M0 requested a system reset.
950:.\Generated_Source\PSoC4/CyLib.c **** *
951:.\Generated_Source\PSoC4/CyLib.c **** * Return:
952:.\Generated_Source\PSoC4/CyLib.c **** * Status. Same enumerated bit values as used for the reason parameter.
953:.\Generated_Source\PSoC4/CyLib.c **** *
954:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
955:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysGetResetReason(uint32 reason)
956:.\Generated_Source\PSoC4/CyLib.c **** {
823 .loc 1 956 0
824 .cfi_startproc
825 0000 80B5 push {r7, lr}
826 .cfi_def_cfa_offset 8
827 .cfi_offset 7, -8
828 .cfi_offset 14, -4
829 0002 84B0 sub sp, sp, #16
830 .cfi_def_cfa_offset 24
831 0004 00AF add r7, sp, #0
832 .cfi_def_cfa_register 7
833 0006 7860 str r0, [r7, #4]
957:.\Generated_Source\PSoC4/CyLib.c **** uint32 status;
958:.\Generated_Source\PSoC4/CyLib.c ****
959:.\Generated_Source\PSoC4/CyLib.c **** reason &= (CY_SYS_RESET_WDT | CY_SYS_RESET_PROTFAULT | CY_SYS_RESET_SW);
834 .loc 1 959 0
835 0008 7A68 ldr r2, [r7, #4]
836 000a 1923 mov r3, #25
837 000c 1340 and r3, r2
838 000e 7B60 str r3, [r7, #4]
960:.\Generated_Source\PSoC4/CyLib.c **** status = CY_SYS_RES_CAUSE_REG &
839 .loc 1 960 0
840 0010 064B ldr r3, .L51
841 0012 1A68 ldr r2, [r3]
842 0014 1923 mov r3, #25
843 0016 1340 and r3, r2
844 0018 FB60 str r3, [r7, #12]
961:.\Generated_Source\PSoC4/CyLib.c **** (CY_SYS_RESET_WDT | CY_SYS_RESET_PROTFAULT | CY_SYS_RESET_SW);
962:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_RES_CAUSE_REG = reason;
845 .loc 1 962 0
846 001a 044B ldr r3, .L51
847 001c 7A68 ldr r2, [r7, #4]
848 001e 1A60 str r2, [r3]
963:.\Generated_Source\PSoC4/CyLib.c ****
964:.\Generated_Source\PSoC4/CyLib.c **** return (status);
849 .loc 1 964 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 33


850 0020 FB68 ldr r3, [r7, #12]
965:.\Generated_Source\PSoC4/CyLib.c **** }
851 .loc 1 965 0
852 0022 181C mov r0, r3
853 0024 BD46 mov sp, r7
854 0026 04B0 add sp, sp, #16
855 @ sp needed
856 0028 80BD pop {r7, pc}
857 .L52:
858 002a C046 .align 2
859 .L51:
860 002c 00030B40 .word 1074463488
861 .cfi_endproc
862 .LFE15:
863 .size CySysGetResetReason, .-CySysGetResetReason
864 .section .text.CyDisableInts,"ax",%progbits
865 .align 2
866 .global CyDisableInts
867 .code 16
868 .thumb_func
869 .type CyDisableInts, %function
870 CyDisableInts:
871 .LFB16:
966:.\Generated_Source\PSoC4/CyLib.c ****
967:.\Generated_Source\PSoC4/CyLib.c ****
968:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
969:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyDisableInts
970:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
971:.\Generated_Source\PSoC4/CyLib.c **** *
972:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
973:.\Generated_Source\PSoC4/CyLib.c **** * Disables all interrupts.
974:.\Generated_Source\PSoC4/CyLib.c **** *
975:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
976:.\Generated_Source\PSoC4/CyLib.c **** * None
977:.\Generated_Source\PSoC4/CyLib.c **** *
978:.\Generated_Source\PSoC4/CyLib.c **** * Return:
979:.\Generated_Source\PSoC4/CyLib.c **** * 32 bit mask of previously enabled interrupts.
980:.\Generated_Source\PSoC4/CyLib.c **** *
981:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
982:.\Generated_Source\PSoC4/CyLib.c **** uint32 CyDisableInts(void)
983:.\Generated_Source\PSoC4/CyLib.c **** {
872 .loc 1 983 0
873 .cfi_startproc
874 0000 80B5 push {r7, lr}
875 .cfi_def_cfa_offset 8
876 .cfi_offset 7, -8
877 .cfi_offset 14, -4
878 0002 82B0 sub sp, sp, #8
879 .cfi_def_cfa_offset 16
880 0004 00AF add r7, sp, #0
881 .cfi_def_cfa_register 7
984:.\Generated_Source\PSoC4/CyLib.c **** uint32 intState;
985:.\Generated_Source\PSoC4/CyLib.c ****
986:.\Generated_Source\PSoC4/CyLib.c **** /* Get current interrupt state. */
987:.\Generated_Source\PSoC4/CyLib.c **** intState = CY_INT_CLEAR_REG;
882 .loc 1 987 0
883 0006 064B ldr r3, .L55
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 34


884 0008 1B68 ldr r3, [r3]
885 000a 7B60 str r3, [r7, #4]
988:.\Generated_Source\PSoC4/CyLib.c ****
989:.\Generated_Source\PSoC4/CyLib.c **** /* Disable all interrupts. */
990:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_CLEAR_REG = CY_INT_CLEAR_DISABLE_ALL;
886 .loc 1 990 0
887 000c 044B ldr r3, .L55
888 000e 0122 mov r2, #1
889 0010 5242 neg r2, r2
890 0012 1A60 str r2, [r3]
991:.\Generated_Source\PSoC4/CyLib.c ****
992:.\Generated_Source\PSoC4/CyLib.c **** return (intState);
891 .loc 1 992 0
892 0014 7B68 ldr r3, [r7, #4]
993:.\Generated_Source\PSoC4/CyLib.c **** }
893 .loc 1 993 0
894 0016 181C mov r0, r3
895 0018 BD46 mov sp, r7
896 001a 02B0 add sp, sp, #8
897 @ sp needed
898 001c 80BD pop {r7, pc}
899 .L56:
900 001e C046 .align 2
901 .L55:
902 0020 80E100E0 .word -536813184
903 .cfi_endproc
904 .LFE16:
905 .size CyDisableInts, .-CyDisableInts
906 .section .text.CyEnableInts,"ax",%progbits
907 .align 2
908 .global CyEnableInts
909 .code 16
910 .thumb_func
911 .type CyEnableInts, %function
912 CyEnableInts:
913 .LFB17:
994:.\Generated_Source\PSoC4/CyLib.c ****
995:.\Generated_Source\PSoC4/CyLib.c ****
996:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
997:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyEnableInts
998:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
999:.\Generated_Source\PSoC4/CyLib.c **** *
1000:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1001:.\Generated_Source\PSoC4/CyLib.c **** * Enables interrupts to a given state.
1002:.\Generated_Source\PSoC4/CyLib.c **** *
1003:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1004:.\Generated_Source\PSoC4/CyLib.c **** * mask, 32 bit mask of interrupts to enable.
1005:.\Generated_Source\PSoC4/CyLib.c **** *
1006:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1007:.\Generated_Source\PSoC4/CyLib.c **** * None
1008:.\Generated_Source\PSoC4/CyLib.c **** *
1009:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1010:.\Generated_Source\PSoC4/CyLib.c **** void CyEnableInts(uint32 mask)
1011:.\Generated_Source\PSoC4/CyLib.c **** {
914 .loc 1 1011 0
915 .cfi_startproc
916 0000 80B5 push {r7, lr}
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 35


917 .cfi_def_cfa_offset 8
918 .cfi_offset 7, -8
919 .cfi_offset 14, -4
920 0002 82B0 sub sp, sp, #8
921 .cfi_def_cfa_offset 16
922 0004 00AF add r7, sp, #0
923 .cfi_def_cfa_register 7
924 0006 7860 str r0, [r7, #4]
1012:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_ENABLE_REG = mask;
925 .loc 1 1012 0
926 0008 024B ldr r3, .L58
927 000a 7A68 ldr r2, [r7, #4]
928 000c 1A60 str r2, [r3]
1013:.\Generated_Source\PSoC4/CyLib.c **** }
929 .loc 1 1013 0
930 000e BD46 mov sp, r7
931 0010 02B0 add sp, sp, #8
932 @ sp needed
933 0012 80BD pop {r7, pc}
934 .L59:
935 .align 2
936 .L58:
937 0014 00E100E0 .word -536813312
938 .cfi_endproc
939 .LFE17:
940 .size CyEnableInts, .-CyEnableInts
941 .section .text.CyIntSetSysVector,"ax",%progbits
942 .align 2
943 .global CyIntSetSysVector
944 .code 16
945 .thumb_func
946 .type CyIntSetSysVector, %function
947 CyIntSetSysVector:
948 .LFB18:
1014:.\Generated_Source\PSoC4/CyLib.c ****
1015:.\Generated_Source\PSoC4/CyLib.c ****
1016:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1017:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntSetSysVector
1018:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1019:.\Generated_Source\PSoC4/CyLib.c **** *
1020:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1021:.\Generated_Source\PSoC4/CyLib.c **** * Sets the interrupt vector of the specified system interrupt number. These
1022:.\Generated_Source\PSoC4/CyLib.c **** * interrupts are for SysTick, PendSV and others.
1023:.\Generated_Source\PSoC4/CyLib.c **** *
1024:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1025:.\Generated_Source\PSoC4/CyLib.c **** * number: System interrupt number:
1026:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_NMI_IRQN - Non Maskable Interrupt
1027:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_HARD_FAULT_IRQN - Hard Fault Interrupt
1028:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_SVCALL_IRQN - SV Call Interrupt
1029:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_PEND_SV_IRQN - Pend SV Interrupt
1030:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_SYSTICK_IRQN - System Tick Interrupt
1031:.\Generated_Source\PSoC4/CyLib.c **** *
1032:.\Generated_Source\PSoC4/CyLib.c **** * address: Pointer to an interrupt service routine.
1033:.\Generated_Source\PSoC4/CyLib.c **** *
1034:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1035:.\Generated_Source\PSoC4/CyLib.c **** * The old ISR vector at this location.
1036:.\Generated_Source\PSoC4/CyLib.c **** *
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 36


1037:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1038:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress CyIntSetSysVector(uint8 number, cyisraddress address)
1039:.\Generated_Source\PSoC4/CyLib.c **** {
949 .loc 1 1039 0
950 .cfi_startproc
951 0000 80B5 push {r7, lr}
952 .cfi_def_cfa_offset 8
953 .cfi_offset 7, -8
954 .cfi_offset 14, -4
955 0002 84B0 sub sp, sp, #16
956 .cfi_def_cfa_offset 24
957 0004 00AF add r7, sp, #0
958 .cfi_def_cfa_register 7
959 0006 021C mov r2, r0
960 0008 3960 str r1, [r7]
961 000a FB1D add r3, r7, #7
962 000c 1A70 strb r2, [r3]
1040:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress oldIsr;
1041:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress *ramVectorTable = (cyisraddress *) CY_INT_VECT_TABLE;
963 .loc 1 1041 0
964 000e 8023 mov r3, #128
965 0010 9B05 lsl r3, r3, #22
966 0012 FB60 str r3, [r7, #12]
1042:.\Generated_Source\PSoC4/CyLib.c ****
1043:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_INT_IRQ_BASE);
967 .loc 1 1043 0
968 0014 FB1D add r3, r7, #7
969 0016 1B78 ldrb r3, [r3]
970 0018 0F2B cmp r3, #15
971 001a 02D9 bls .L61
972 .loc 1 1043 0 is_stmt 0 discriminator 1
973 001c 0020 mov r0, #0
974 001e FFF7FEFF bl CyHalt
975 .L61:
1044:.\Generated_Source\PSoC4/CyLib.c ****
1045:.\Generated_Source\PSoC4/CyLib.c **** /* Save old Interrupt service routine. */
1046:.\Generated_Source\PSoC4/CyLib.c **** oldIsr = ramVectorTable[number];
976 .loc 1 1046 0 is_stmt 1
977 0022 FB1D add r3, r7, #7
978 0024 1B78 ldrb r3, [r3]
979 0026 9B00 lsl r3, r3, #2
980 0028 FA68 ldr r2, [r7, #12]
981 002a D318 add r3, r2, r3
982 002c 1B68 ldr r3, [r3]
983 002e BB60 str r3, [r7, #8]
1047:.\Generated_Source\PSoC4/CyLib.c ****
1048:.\Generated_Source\PSoC4/CyLib.c **** /* Set new Interrupt service routine. */
1049:.\Generated_Source\PSoC4/CyLib.c **** ramVectorTable[number] = address;
984 .loc 1 1049 0
985 0030 FB1D add r3, r7, #7
986 0032 1B78 ldrb r3, [r3]
987 0034 9B00 lsl r3, r3, #2
988 0036 FA68 ldr r2, [r7, #12]
989 0038 D318 add r3, r2, r3
990 003a 3A68 ldr r2, [r7]
991 003c 1A60 str r2, [r3]
1050:.\Generated_Source\PSoC4/CyLib.c ****
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 37


1051:.\Generated_Source\PSoC4/CyLib.c **** return(oldIsr);
992 .loc 1 1051 0
993 003e BB68 ldr r3, [r7, #8]
1052:.\Generated_Source\PSoC4/CyLib.c **** }
994 .loc 1 1052 0
995 0040 181C mov r0, r3
996 0042 BD46 mov sp, r7
997 0044 04B0 add sp, sp, #16
998 @ sp needed
999 0046 80BD pop {r7, pc}
1000 .cfi_endproc
1001 .LFE18:
1002 .size CyIntSetSysVector, .-CyIntSetSysVector
1003 .section .text.CyIntGetSysVector,"ax",%progbits
1004 .align 2
1005 .global CyIntGetSysVector
1006 .code 16
1007 .thumb_func
1008 .type CyIntGetSysVector, %function
1009 CyIntGetSysVector:
1010 .LFB19:
1053:.\Generated_Source\PSoC4/CyLib.c ****
1054:.\Generated_Source\PSoC4/CyLib.c ****
1055:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1056:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntGetSysVector
1057:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1058:.\Generated_Source\PSoC4/CyLib.c **** *
1059:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1060:.\Generated_Source\PSoC4/CyLib.c **** * Gets the interrupt vector of the specified system interrupt number. These
1061:.\Generated_Source\PSoC4/CyLib.c **** * interrupts are for SysTick, PendSV and others.
1062:.\Generated_Source\PSoC4/CyLib.c **** *
1063:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1064:.\Generated_Source\PSoC4/CyLib.c **** * number: System interrupt number:
1065:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_NMI_IRQN - Non Maskable Interrupt
1066:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_HARD_FAULT_IRQN - Hard Fault Interrupt
1067:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_SVCALL_IRQN - SV Call Interrupt
1068:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_PEND_SV_IRQN - Pend SV Interrupt
1069:.\Generated_Source\PSoC4/CyLib.c **** * CY_INT_SYSTICK_IRQN - System Tick Interrupt
1070:.\Generated_Source\PSoC4/CyLib.c **** *
1071:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1072:.\Generated_Source\PSoC4/CyLib.c **** * Address of the ISR in the interrupt vector table.
1073:.\Generated_Source\PSoC4/CyLib.c **** *
1074:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1075:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress CyIntGetSysVector(uint8 number)
1076:.\Generated_Source\PSoC4/CyLib.c **** {
1011 .loc 1 1076 0
1012 .cfi_startproc
1013 0000 80B5 push {r7, lr}
1014 .cfi_def_cfa_offset 8
1015 .cfi_offset 7, -8
1016 .cfi_offset 14, -4
1017 0002 84B0 sub sp, sp, #16
1018 .cfi_def_cfa_offset 24
1019 0004 00AF add r7, sp, #0
1020 .cfi_def_cfa_register 7
1021 0006 021C mov r2, r0
1022 0008 FB1D add r3, r7, #7
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 38


1023 000a 1A70 strb r2, [r3]
1077:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress *ramVectorTable = (cyisraddress *) CY_INT_VECT_TABLE;
1024 .loc 1 1077 0
1025 000c 8023 mov r3, #128
1026 000e 9B05 lsl r3, r3, #22
1027 0010 FB60 str r3, [r7, #12]
1078:.\Generated_Source\PSoC4/CyLib.c ****
1079:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_INT_IRQ_BASE);
1028 .loc 1 1079 0
1029 0012 FB1D add r3, r7, #7
1030 0014 1B78 ldrb r3, [r3]
1031 0016 0F2B cmp r3, #15
1032 0018 02D9 bls .L64
1033 .loc 1 1079 0 is_stmt 0 discriminator 1
1034 001a 0020 mov r0, #0
1035 001c FFF7FEFF bl CyHalt
1036 .L64:
1080:.\Generated_Source\PSoC4/CyLib.c ****
1081:.\Generated_Source\PSoC4/CyLib.c **** return(ramVectorTable[number]);
1037 .loc 1 1081 0 is_stmt 1
1038 0020 FB1D add r3, r7, #7
1039 0022 1B78 ldrb r3, [r3]
1040 0024 9B00 lsl r3, r3, #2
1041 0026 FA68 ldr r2, [r7, #12]
1042 0028 D318 add r3, r2, r3
1043 002a 1B68 ldr r3, [r3]
1082:.\Generated_Source\PSoC4/CyLib.c **** }
1044 .loc 1 1082 0
1045 002c 181C mov r0, r3
1046 002e BD46 mov sp, r7
1047 0030 04B0 add sp, sp, #16
1048 @ sp needed
1049 0032 80BD pop {r7, pc}
1050 .cfi_endproc
1051 .LFE19:
1052 .size CyIntGetSysVector, .-CyIntGetSysVector
1053 .section .text.CyIntSetVector,"ax",%progbits
1054 .align 2
1055 .global CyIntSetVector
1056 .code 16
1057 .thumb_func
1058 .type CyIntSetVector, %function
1059 CyIntSetVector:
1060 .LFB20:
1083:.\Generated_Source\PSoC4/CyLib.c ****
1084:.\Generated_Source\PSoC4/CyLib.c ****
1085:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1086:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntSetVector
1087:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1088:.\Generated_Source\PSoC4/CyLib.c **** *
1089:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1090:.\Generated_Source\PSoC4/CyLib.c **** * Sets the interrupt vector of the specified interrupt number.
1091:.\Generated_Source\PSoC4/CyLib.c **** *
1092:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1093:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number
1094:.\Generated_Source\PSoC4/CyLib.c **** * address: Pointer to an interrupt service routine
1095:.\Generated_Source\PSoC4/CyLib.c **** *
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 39


1096:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1097:.\Generated_Source\PSoC4/CyLib.c **** * Previous interrupt vector value.
1098:.\Generated_Source\PSoC4/CyLib.c **** *
1099:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1100:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress CyIntSetVector(uint8 number, cyisraddress address)
1101:.\Generated_Source\PSoC4/CyLib.c **** {
1061 .loc 1 1101 0
1062 .cfi_startproc
1063 0000 80B5 push {r7, lr}
1064 .cfi_def_cfa_offset 8
1065 .cfi_offset 7, -8
1066 .cfi_offset 14, -4
1067 0002 84B0 sub sp, sp, #16
1068 .cfi_def_cfa_offset 24
1069 0004 00AF add r7, sp, #0
1070 .cfi_def_cfa_register 7
1071 0006 021C mov r2, r0
1072 0008 3960 str r1, [r7]
1073 000a FB1D add r3, r7, #7
1074 000c 1A70 strb r2, [r3]
1102:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress oldIsr;
1103:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress *ramVectorTable = (cyisraddress *) CY_INT_VECT_TABLE;
1075 .loc 1 1103 0
1076 000e 8023 mov r3, #128
1077 0010 9B05 lsl r3, r3, #22
1078 0012 FB60 str r3, [r7, #12]
1104:.\Generated_Source\PSoC4/CyLib.c ****
1105:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_NUM_INTERRUPTS);
1079 .loc 1 1105 0
1080 0014 FB1D add r3, r7, #7
1081 0016 1B78 ldrb r3, [r3]
1082 0018 1F2B cmp r3, #31
1083 001a 02D9 bls .L67
1084 .loc 1 1105 0 is_stmt 0 discriminator 1
1085 001c 0020 mov r0, #0
1086 001e FFF7FEFF bl CyHalt
1087 .L67:
1106:.\Generated_Source\PSoC4/CyLib.c ****
1107:.\Generated_Source\PSoC4/CyLib.c **** /* Save old Interrupt service routine. */
1108:.\Generated_Source\PSoC4/CyLib.c **** oldIsr = ramVectorTable[CY_INT_IRQ_BASE + number];
1088 .loc 1 1108 0 is_stmt 1
1089 0022 FB1D add r3, r7, #7
1090 0024 1B78 ldrb r3, [r3]
1091 0026 1033 add r3, r3, #16
1092 0028 9B00 lsl r3, r3, #2
1093 002a FA68 ldr r2, [r7, #12]
1094 002c D318 add r3, r2, r3
1095 002e 1B68 ldr r3, [r3]
1096 0030 BB60 str r3, [r7, #8]
1109:.\Generated_Source\PSoC4/CyLib.c ****
1110:.\Generated_Source\PSoC4/CyLib.c **** /* Set new Interrupt service routine. */
1111:.\Generated_Source\PSoC4/CyLib.c **** ramVectorTable[CY_INT_IRQ_BASE + number] = address;
1097 .loc 1 1111 0
1098 0032 FB1D add r3, r7, #7
1099 0034 1B78 ldrb r3, [r3]
1100 0036 1033 add r3, r3, #16
1101 0038 9B00 lsl r3, r3, #2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 40


1102 003a FA68 ldr r2, [r7, #12]
1103 003c D318 add r3, r2, r3
1104 003e 3A68 ldr r2, [r7]
1105 0040 1A60 str r2, [r3]
1112:.\Generated_Source\PSoC4/CyLib.c ****
1113:.\Generated_Source\PSoC4/CyLib.c **** return(oldIsr);
1106 .loc 1 1113 0
1107 0042 BB68 ldr r3, [r7, #8]
1114:.\Generated_Source\PSoC4/CyLib.c **** }
1108 .loc 1 1114 0
1109 0044 181C mov r0, r3
1110 0046 BD46 mov sp, r7
1111 0048 04B0 add sp, sp, #16
1112 @ sp needed
1113 004a 80BD pop {r7, pc}
1114 .cfi_endproc
1115 .LFE20:
1116 .size CyIntSetVector, .-CyIntSetVector
1117 .section .text.CyIntGetVector,"ax",%progbits
1118 .align 2
1119 .global CyIntGetVector
1120 .code 16
1121 .thumb_func
1122 .type CyIntGetVector, %function
1123 CyIntGetVector:
1124 .LFB21:
1115:.\Generated_Source\PSoC4/CyLib.c ****
1116:.\Generated_Source\PSoC4/CyLib.c ****
1117:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1118:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntGetVector
1119:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1120:.\Generated_Source\PSoC4/CyLib.c **** *
1121:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1122:.\Generated_Source\PSoC4/CyLib.c **** * Gets the interrupt vector of the specified interrupt number.
1123:.\Generated_Source\PSoC4/CyLib.c **** *
1124:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1125:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number
1126:.\Generated_Source\PSoC4/CyLib.c **** *
1127:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1128:.\Generated_Source\PSoC4/CyLib.c **** * Address of the ISR in the interrupt vector table.
1129:.\Generated_Source\PSoC4/CyLib.c **** *
1130:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1131:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress CyIntGetVector(uint8 number)
1132:.\Generated_Source\PSoC4/CyLib.c **** {
1125 .loc 1 1132 0
1126 .cfi_startproc
1127 0000 80B5 push {r7, lr}
1128 .cfi_def_cfa_offset 8
1129 .cfi_offset 7, -8
1130 .cfi_offset 14, -4
1131 0002 84B0 sub sp, sp, #16
1132 .cfi_def_cfa_offset 24
1133 0004 00AF add r7, sp, #0
1134 .cfi_def_cfa_register 7
1135 0006 021C mov r2, r0
1136 0008 FB1D add r3, r7, #7
1137 000a 1A70 strb r2, [r3]
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 41


1133:.\Generated_Source\PSoC4/CyLib.c **** cyisraddress *ramVectorTable = (cyisraddress *) CY_INT_VECT_TABLE;
1138 .loc 1 1133 0
1139 000c 8023 mov r3, #128
1140 000e 9B05 lsl r3, r3, #22
1141 0010 FB60 str r3, [r7, #12]
1134:.\Generated_Source\PSoC4/CyLib.c ****
1135:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_NUM_INTERRUPTS);
1142 .loc 1 1135 0
1143 0012 FB1D add r3, r7, #7
1144 0014 1B78 ldrb r3, [r3]
1145 0016 1F2B cmp r3, #31
1146 0018 02D9 bls .L70
1147 .loc 1 1135 0 is_stmt 0 discriminator 1
1148 001a 0020 mov r0, #0
1149 001c FFF7FEFF bl CyHalt
1150 .L70:
1136:.\Generated_Source\PSoC4/CyLib.c ****
1137:.\Generated_Source\PSoC4/CyLib.c **** return (ramVectorTable[CY_INT_IRQ_BASE + number]);
1151 .loc 1 1137 0 is_stmt 1
1152 0020 FB1D add r3, r7, #7
1153 0022 1B78 ldrb r3, [r3]
1154 0024 1033 add r3, r3, #16
1155 0026 9B00 lsl r3, r3, #2
1156 0028 FA68 ldr r2, [r7, #12]
1157 002a D318 add r3, r2, r3
1158 002c 1B68 ldr r3, [r3]
1138:.\Generated_Source\PSoC4/CyLib.c **** }
1159 .loc 1 1138 0
1160 002e 181C mov r0, r3
1161 0030 BD46 mov sp, r7
1162 0032 04B0 add sp, sp, #16
1163 @ sp needed
1164 0034 80BD pop {r7, pc}
1165 .cfi_endproc
1166 .LFE21:
1167 .size CyIntGetVector, .-CyIntGetVector
1168 .section .text.CyIntSetPriority,"ax",%progbits
1169 .align 2
1170 .global CyIntSetPriority
1171 .code 16
1172 .thumb_func
1173 .type CyIntSetPriority, %function
1174 CyIntSetPriority:
1175 .LFB22:
1139:.\Generated_Source\PSoC4/CyLib.c ****
1140:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1141:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntSetPriority
1142:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1143:.\Generated_Source\PSoC4/CyLib.c **** *
1144:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1145:.\Generated_Source\PSoC4/CyLib.c **** * Sets the priority of the interrupt.
1146:.\Generated_Source\PSoC4/CyLib.c **** *
1147:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1148:.\Generated_Source\PSoC4/CyLib.c **** * priority: Priority of the interrupt. 0 - 3, 0 being the highest.
1149:.\Generated_Source\PSoC4/CyLib.c **** * number: The number of the interrupt, 0 - 31.
1150:.\Generated_Source\PSoC4/CyLib.c **** *
1151:.\Generated_Source\PSoC4/CyLib.c **** * Return:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 42


1152:.\Generated_Source\PSoC4/CyLib.c **** * None
1153:.\Generated_Source\PSoC4/CyLib.c **** *
1154:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1155:.\Generated_Source\PSoC4/CyLib.c **** void CyIntSetPriority(uint8 number, uint8 priority)
1156:.\Generated_Source\PSoC4/CyLib.c **** {
1176 .loc 1 1156 0
1177 .cfi_startproc
1178 0000 90B5 push {r4, r7, lr}
1179 .cfi_def_cfa_offset 12
1180 .cfi_offset 4, -12
1181 .cfi_offset 7, -8
1182 .cfi_offset 14, -4
1183 0002 87B0 sub sp, sp, #28
1184 .cfi_def_cfa_offset 40
1185 0004 00AF add r7, sp, #0
1186 .cfi_def_cfa_register 7
1187 0006 0A1C mov r2, r1
1188 0008 FB1D add r3, r7, #7
1189 000a 011C add r1, r0, #0
1190 000c 1970 strb r1, [r3]
1191 000e BB1D add r3, r7, #6
1192 0010 1A70 strb r2, [r3]
1157:.\Generated_Source\PSoC4/CyLib.c **** uint8 interruptState;
1158:.\Generated_Source\PSoC4/CyLib.c **** uint32 shift;
1159:.\Generated_Source\PSoC4/CyLib.c **** uint32 value;
1160:.\Generated_Source\PSoC4/CyLib.c ****
1161:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(priority <= CY_MIN_PRIORITY);
1193 .loc 1 1161 0
1194 0012 BB1D add r3, r7, #6
1195 0014 1B78 ldrb r3, [r3]
1196 0016 032B cmp r3, #3
1197 0018 02D9 bls .L73
1198 .loc 1 1161 0 is_stmt 0 discriminator 1
1199 001a 0020 mov r0, #0
1200 001c FFF7FEFF bl CyHalt
1201 .L73:
1162:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_NUM_INTERRUPTS);
1202 .loc 1 1162 0 is_stmt 1
1203 0020 FB1D add r3, r7, #7
1204 0022 1B78 ldrb r3, [r3]
1205 0024 1F2B cmp r3, #31
1206 0026 02D9 bls .L74
1207 .loc 1 1162 0 is_stmt 0 discriminator 1
1208 0028 0020 mov r0, #0
1209 002a FFF7FEFF bl CyHalt
1210 .L74:
1163:.\Generated_Source\PSoC4/CyLib.c ****
1164:.\Generated_Source\PSoC4/CyLib.c **** shift = CY_INT_PRIORITY_SHIFT(number);
1211 .loc 1 1164 0 is_stmt 1
1212 002e FB1D add r3, r7, #7
1213 0030 1A78 ldrb r2, [r3]
1214 0032 0323 mov r3, #3
1215 0034 1340 and r3, r2
1216 0036 DB00 lsl r3, r3, #3
1217 0038 0633 add r3, r3, #6
1218 003a 7B61 str r3, [r7, #20]
1165:.\Generated_Source\PSoC4/CyLib.c ****
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 43


1166:.\Generated_Source\PSoC4/CyLib.c **** interruptState = CyEnterCriticalSection();
1219 .loc 1 1166 0
1220 003c 3C1C mov r4, r7
1221 003e 1334 add r4, r4, #19
1222 0040 FFF7FEFF bl CyEnterCriticalSection
1223 0044 031C mov r3, r0
1224 0046 2370 strb r3, [r4]
1167:.\Generated_Source\PSoC4/CyLib.c ****
1168:.\Generated_Source\PSoC4/CyLib.c **** value = CY_INT_PRIORITY_REG(number);
1225 .loc 1 1168 0
1226 0048 FB1D add r3, r7, #7
1227 004a 1B78 ldrb r3, [r3]
1228 004c 9B08 lsr r3, r3, #2
1229 004e DBB2 uxtb r3, r3
1230 0050 9B00 lsl r3, r3, #2
1231 0052 1449 ldr r1, .L75
1232 0054 5B18 add r3, r3, r1
1233 0056 1B68 ldr r3, [r3]
1234 0058 FB60 str r3, [r7, #12]
1169:.\Generated_Source\PSoC4/CyLib.c **** value &= (uint32)(~((uint32)(CY_INT_PRIORITY_MASK << shift)));
1235 .loc 1 1169 0
1236 005a 7B69 ldr r3, [r7, #20]
1237 005c 0322 mov r2, #3
1238 005e 111C mov r1, r2
1239 0060 9940 lsl r1, r1, r3
1240 0062 0B1C mov r3, r1
1241 0064 DA43 mvn r2, r3
1242 0066 FB68 ldr r3, [r7, #12]
1243 0068 1340 and r3, r2
1244 006a FB60 str r3, [r7, #12]
1170:.\Generated_Source\PSoC4/CyLib.c **** value |= ((uint32)priority << shift);
1245 .loc 1 1170 0
1246 006c BB1D add r3, r7, #6
1247 006e 1A78 ldrb r2, [r3]
1248 0070 7B69 ldr r3, [r7, #20]
1249 0072 111C mov r1, r2
1250 0074 9940 lsl r1, r1, r3
1251 0076 0B1C mov r3, r1
1252 0078 FA68 ldr r2, [r7, #12]
1253 007a 1343 orr r3, r2
1254 007c FB60 str r3, [r7, #12]
1171:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_PRIORITY_REG(number) = value;
1255 .loc 1 1171 0
1256 007e FB1D add r3, r7, #7
1257 0080 1B78 ldrb r3, [r3]
1258 0082 9B08 lsr r3, r3, #2
1259 0084 DBB2 uxtb r3, r3
1260 0086 9B00 lsl r3, r3, #2
1261 0088 064A ldr r2, .L75
1262 008a 9B18 add r3, r3, r2
1263 008c FA68 ldr r2, [r7, #12]
1264 008e 1A60 str r2, [r3]
1172:.\Generated_Source\PSoC4/CyLib.c ****
1173:.\Generated_Source\PSoC4/CyLib.c **** CyExitCriticalSection(interruptState);
1265 .loc 1 1173 0
1266 0090 3B1C mov r3, r7
1267 0092 1333 add r3, r3, #19
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 44


1268 0094 1B78 ldrb r3, [r3]
1269 0096 181C mov r0, r3
1270 0098 FFF7FEFF bl CyExitCriticalSection
1174:.\Generated_Source\PSoC4/CyLib.c **** }
1271 .loc 1 1174 0
1272 009c BD46 mov sp, r7
1273 009e 07B0 add sp, sp, #28
1274 @ sp needed
1275 00a0 90BD pop {r4, r7, pc}
1276 .L76:
1277 00a2 C046 .align 2
1278 .L75:
1279 00a4 00E400E0 .word -536812544
1280 .cfi_endproc
1281 .LFE22:
1282 .size CyIntSetPriority, .-CyIntSetPriority
1283 .section .text.CyIntGetPriority,"ax",%progbits
1284 .align 2
1285 .global CyIntGetPriority
1286 .code 16
1287 .thumb_func
1288 .type CyIntGetPriority, %function
1289 CyIntGetPriority:
1290 .LFB23:
1175:.\Generated_Source\PSoC4/CyLib.c ****
1176:.\Generated_Source\PSoC4/CyLib.c ****
1177:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1178:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntGetPriority
1179:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1180:.\Generated_Source\PSoC4/CyLib.c **** *
1181:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1182:.\Generated_Source\PSoC4/CyLib.c **** * Gets the priority of the interrupt.
1183:.\Generated_Source\PSoC4/CyLib.c **** *
1184:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1185:.\Generated_Source\PSoC4/CyLib.c **** * number: The number of the interrupt, 0 - 31.
1186:.\Generated_Source\PSoC4/CyLib.c **** *
1187:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1188:.\Generated_Source\PSoC4/CyLib.c **** * Priority of the interrupt. 0 - 3, 0 being the highest.
1189:.\Generated_Source\PSoC4/CyLib.c **** *
1190:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1191:.\Generated_Source\PSoC4/CyLib.c **** uint8 CyIntGetPriority(uint8 number)
1192:.\Generated_Source\PSoC4/CyLib.c **** {
1291 .loc 1 1192 0
1292 .cfi_startproc
1293 0000 80B5 push {r7, lr}
1294 .cfi_def_cfa_offset 8
1295 .cfi_offset 7, -8
1296 .cfi_offset 14, -4
1297 0002 84B0 sub sp, sp, #16
1298 .cfi_def_cfa_offset 24
1299 0004 00AF add r7, sp, #0
1300 .cfi_def_cfa_register 7
1301 0006 021C mov r2, r0
1302 0008 FB1D add r3, r7, #7
1303 000a 1A70 strb r2, [r3]
1193:.\Generated_Source\PSoC4/CyLib.c **** uint8 priority;
1194:.\Generated_Source\PSoC4/CyLib.c ****
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 45


1195:.\Generated_Source\PSoC4/CyLib.c **** CYASSERT(number < CY_NUM_INTERRUPTS);
1304 .loc 1 1195 0
1305 000c FB1D add r3, r7, #7
1306 000e 1B78 ldrb r3, [r3]
1307 0010 1F2B cmp r3, #31
1308 0012 02D9 bls .L78
1309 .loc 1 1195 0 is_stmt 0 discriminator 1
1310 0014 0020 mov r0, #0
1311 0016 FFF7FEFF bl CyHalt
1312 .L78:
1196:.\Generated_Source\PSoC4/CyLib.c ****
1197:.\Generated_Source\PSoC4/CyLib.c **** priority = (uint8) (CY_INT_PRIORITY_REG(number) >> CY_INT_PRIORITY_SHIFT(number));
1313 .loc 1 1197 0 is_stmt 1
1314 001a FB1D add r3, r7, #7
1315 001c 1B78 ldrb r3, [r3]
1316 001e 9B08 lsr r3, r3, #2
1317 0020 DBB2 uxtb r3, r3
1318 0022 9B00 lsl r3, r3, #2
1319 0024 0B4A ldr r2, .L80
1320 0026 9B18 add r3, r3, r2
1321 0028 1A68 ldr r2, [r3]
1322 002a FB1D add r3, r7, #7
1323 002c 1978 ldrb r1, [r3]
1324 002e 0323 mov r3, #3
1325 0030 0B40 and r3, r1
1326 0032 DB00 lsl r3, r3, #3
1327 0034 0633 add r3, r3, #6
1328 0036 DA40 lsr r2, r2, r3
1329 0038 3B1C mov r3, r7
1330 003a 0F33 add r3, r3, #15
1331 003c 1A70 strb r2, [r3]
1198:.\Generated_Source\PSoC4/CyLib.c ****
1199:.\Generated_Source\PSoC4/CyLib.c **** return (priority & (uint8) CY_INT_PRIORITY_MASK);
1332 .loc 1 1199 0
1333 003e 3B1C mov r3, r7
1334 0040 0F33 add r3, r3, #15
1335 0042 1A78 ldrb r2, [r3]
1336 0044 0323 mov r3, #3
1337 0046 1340 and r3, r2
1338 0048 DBB2 uxtb r3, r3
1200:.\Generated_Source\PSoC4/CyLib.c **** }
1339 .loc 1 1200 0
1340 004a 181C mov r0, r3
1341 004c BD46 mov sp, r7
1342 004e 04B0 add sp, sp, #16
1343 @ sp needed
1344 0050 80BD pop {r7, pc}
1345 .L81:
1346 0052 C046 .align 2
1347 .L80:
1348 0054 00E400E0 .word -536812544
1349 .cfi_endproc
1350 .LFE23:
1351 .size CyIntGetPriority, .-CyIntGetPriority
1352 .section .text.CyIntEnable,"ax",%progbits
1353 .align 2
1354 .global CyIntEnable
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 46


1355 .code 16
1356 .thumb_func
1357 .type CyIntEnable, %function
1358 CyIntEnable:
1359 .LFB24:
1201:.\Generated_Source\PSoC4/CyLib.c ****
1202:.\Generated_Source\PSoC4/CyLib.c ****
1203:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1204:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntEnable
1205:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1206:.\Generated_Source\PSoC4/CyLib.c **** *
1207:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1208:.\Generated_Source\PSoC4/CyLib.c **** * Enables the specified interrupt number.
1209:.\Generated_Source\PSoC4/CyLib.c **** *
1210:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1211:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number
1212:.\Generated_Source\PSoC4/CyLib.c **** *
1213:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1214:.\Generated_Source\PSoC4/CyLib.c **** * None
1215:.\Generated_Source\PSoC4/CyLib.c **** *
1216:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1217:.\Generated_Source\PSoC4/CyLib.c **** void CyIntEnable(uint8 number)
1218:.\Generated_Source\PSoC4/CyLib.c **** {
1360 .loc 1 1218 0
1361 .cfi_startproc
1362 0000 80B5 push {r7, lr}
1363 .cfi_def_cfa_offset 8
1364 .cfi_offset 7, -8
1365 .cfi_offset 14, -4
1366 0002 82B0 sub sp, sp, #8
1367 .cfi_def_cfa_offset 16
1368 0004 00AF add r7, sp, #0
1369 .cfi_def_cfa_register 7
1370 0006 021C mov r2, r0
1371 0008 FB1D add r3, r7, #7
1372 000a 1A70 strb r2, [r3]
1219:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_ENABLE_REG = ((uint32) 0x01u << (CY_INT_ENABLE_RANGE_MASK & number));
1373 .loc 1 1219 0
1374 000c 064B ldr r3, .L83
1375 000e FA1D add r2, r7, #7
1376 0010 1178 ldrb r1, [r2]
1377 0012 1F22 mov r2, #31
1378 0014 0A40 and r2, r1
1379 0016 0121 mov r1, #1
1380 0018 081C mov r0, r1
1381 001a 9040 lsl r0, r0, r2
1382 001c 021C mov r2, r0
1383 001e 1A60 str r2, [r3]
1220:.\Generated_Source\PSoC4/CyLib.c **** }
1384 .loc 1 1220 0
1385 0020 BD46 mov sp, r7
1386 0022 02B0 add sp, sp, #8
1387 @ sp needed
1388 0024 80BD pop {r7, pc}
1389 .L84:
1390 0026 C046 .align 2
1391 .L83:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 47


1392 0028 00E100E0 .word -536813312
1393 .cfi_endproc
1394 .LFE24:
1395 .size CyIntEnable, .-CyIntEnable
1396 .section .text.CyIntGetState,"ax",%progbits
1397 .align 2
1398 .global CyIntGetState
1399 .code 16
1400 .thumb_func
1401 .type CyIntGetState, %function
1402 CyIntGetState:
1403 .LFB25:
1221:.\Generated_Source\PSoC4/CyLib.c ****
1222:.\Generated_Source\PSoC4/CyLib.c ****
1223:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1224:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntGetState
1225:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1226:.\Generated_Source\PSoC4/CyLib.c **** *
1227:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1228:.\Generated_Source\PSoC4/CyLib.c **** * Gets the enable state of the specified interrupt number.
1229:.\Generated_Source\PSoC4/CyLib.c **** *
1230:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1231:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number.
1232:.\Generated_Source\PSoC4/CyLib.c **** *
1233:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1234:.\Generated_Source\PSoC4/CyLib.c **** * Enable status: 1 if enabled, 0 if disabled
1235:.\Generated_Source\PSoC4/CyLib.c **** *
1236:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1237:.\Generated_Source\PSoC4/CyLib.c **** uint8 CyIntGetState(uint8 number)
1238:.\Generated_Source\PSoC4/CyLib.c **** {
1404 .loc 1 1238 0
1405 .cfi_startproc
1406 0000 80B5 push {r7, lr}
1407 .cfi_def_cfa_offset 8
1408 .cfi_offset 7, -8
1409 .cfi_offset 14, -4
1410 0002 82B0 sub sp, sp, #8
1411 .cfi_def_cfa_offset 16
1412 0004 00AF add r7, sp, #0
1413 .cfi_def_cfa_register 7
1414 0006 021C mov r2, r0
1415 0008 FB1D add r3, r7, #7
1416 000a 1A70 strb r2, [r3]
1239:.\Generated_Source\PSoC4/CyLib.c **** /* Get state of interrupt. */
1240:.\Generated_Source\PSoC4/CyLib.c **** return ((0u != (CY_INT_ENABLE_REG & ((uint32) 0x01u << (CY_INT_ENABLE_RANGE_MASK & number)))) ?
1417 .loc 1 1240 0
1418 000c 084B ldr r3, .L87
1419 000e 1A68 ldr r2, [r3]
1420 0010 FB1D add r3, r7, #7
1421 0012 1978 ldrb r1, [r3]
1422 0014 1F23 mov r3, #31
1423 0016 0B40 and r3, r1
1424 0018 111C mov r1, r2
1425 001a D940 lsr r1, r1, r3
1426 001c 0B1C mov r3, r1
1427 001e DAB2 uxtb r2, r3
1428 0020 0123 mov r3, #1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 48


1429 0022 1340 and r3, r2
1430 0024 DBB2 uxtb r3, r3
1241:.\Generated_Source\PSoC4/CyLib.c **** }
1431 .loc 1 1241 0
1432 0026 181C mov r0, r3
1433 0028 BD46 mov sp, r7
1434 002a 02B0 add sp, sp, #8
1435 @ sp needed
1436 002c 80BD pop {r7, pc}
1437 .L88:
1438 002e C046 .align 2
1439 .L87:
1440 0030 00E100E0 .word -536813312
1441 .cfi_endproc
1442 .LFE25:
1443 .size CyIntGetState, .-CyIntGetState
1444 .section .text.CyIntDisable,"ax",%progbits
1445 .align 2
1446 .global CyIntDisable
1447 .code 16
1448 .thumb_func
1449 .type CyIntDisable, %function
1450 CyIntDisable:
1451 .LFB26:
1242:.\Generated_Source\PSoC4/CyLib.c ****
1243:.\Generated_Source\PSoC4/CyLib.c ****
1244:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1245:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntDisable
1246:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1247:.\Generated_Source\PSoC4/CyLib.c **** *
1248:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1249:.\Generated_Source\PSoC4/CyLib.c **** * Disables the specified interrupt number.
1250:.\Generated_Source\PSoC4/CyLib.c **** *
1251:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1252:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number.
1253:.\Generated_Source\PSoC4/CyLib.c **** *
1254:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1255:.\Generated_Source\PSoC4/CyLib.c **** * None
1256:.\Generated_Source\PSoC4/CyLib.c **** *
1257:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1258:.\Generated_Source\PSoC4/CyLib.c **** void CyIntDisable(uint8 number)
1259:.\Generated_Source\PSoC4/CyLib.c **** {
1452 .loc 1 1259 0
1453 .cfi_startproc
1454 0000 80B5 push {r7, lr}
1455 .cfi_def_cfa_offset 8
1456 .cfi_offset 7, -8
1457 .cfi_offset 14, -4
1458 0002 82B0 sub sp, sp, #8
1459 .cfi_def_cfa_offset 16
1460 0004 00AF add r7, sp, #0
1461 .cfi_def_cfa_register 7
1462 0006 021C mov r2, r0
1463 0008 FB1D add r3, r7, #7
1464 000a 1A70 strb r2, [r3]
1260:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_CLEAR_REG = ((uint32) 0x01u << (CY_INT_ENABLE_RANGE_MASK & number));
1465 .loc 1 1260 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 49


1466 000c 064B ldr r3, .L90
1467 000e FA1D add r2, r7, #7
1468 0010 1178 ldrb r1, [r2]
1469 0012 1F22 mov r2, #31
1470 0014 0A40 and r2, r1
1471 0016 0121 mov r1, #1
1472 0018 081C mov r0, r1
1473 001a 9040 lsl r0, r0, r2
1474 001c 021C mov r2, r0
1475 001e 1A60 str r2, [r3]
1261:.\Generated_Source\PSoC4/CyLib.c **** }
1476 .loc 1 1261 0
1477 0020 BD46 mov sp, r7
1478 0022 02B0 add sp, sp, #8
1479 @ sp needed
1480 0024 80BD pop {r7, pc}
1481 .L91:
1482 0026 C046 .align 2
1483 .L90:
1484 0028 80E100E0 .word -536813184
1485 .cfi_endproc
1486 .LFE26:
1487 .size CyIntDisable, .-CyIntDisable
1488 .section .text.CyIntSetPending,"ax",%progbits
1489 .align 2
1490 .global CyIntSetPending
1491 .code 16
1492 .thumb_func
1493 .type CyIntSetPending, %function
1494 CyIntSetPending:
1495 .LFB27:
1262:.\Generated_Source\PSoC4/CyLib.c ****
1263:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1264:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntSetPending
1265:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1266:.\Generated_Source\PSoC4/CyLib.c **** *
1267:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1268:.\Generated_Source\PSoC4/CyLib.c **** * Forces the specified interrupt number to be pending.
1269:.\Generated_Source\PSoC4/CyLib.c **** *
1270:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1271:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number.
1272:.\Generated_Source\PSoC4/CyLib.c **** *
1273:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1274:.\Generated_Source\PSoC4/CyLib.c **** * None
1275:.\Generated_Source\PSoC4/CyLib.c **** *
1276:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1277:.\Generated_Source\PSoC4/CyLib.c **** void CyIntSetPending(uint8 number)
1278:.\Generated_Source\PSoC4/CyLib.c **** {
1496 .loc 1 1278 0
1497 .cfi_startproc
1498 0000 80B5 push {r7, lr}
1499 .cfi_def_cfa_offset 8
1500 .cfi_offset 7, -8
1501 .cfi_offset 14, -4
1502 0002 82B0 sub sp, sp, #8
1503 .cfi_def_cfa_offset 16
1504 0004 00AF add r7, sp, #0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 50


1505 .cfi_def_cfa_register 7
1506 0006 021C mov r2, r0
1507 0008 FB1D add r3, r7, #7
1508 000a 1A70 strb r2, [r3]
1279:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_SET_PEND_REG = ((uint32) 0x01u << (CY_INT_ENABLE_RANGE_MASK & number));
1509 .loc 1 1279 0
1510 000c 064B ldr r3, .L93
1511 000e FA1D add r2, r7, #7
1512 0010 1178 ldrb r1, [r2]
1513 0012 1F22 mov r2, #31
1514 0014 0A40 and r2, r1
1515 0016 0121 mov r1, #1
1516 0018 081C mov r0, r1
1517 001a 9040 lsl r0, r0, r2
1518 001c 021C mov r2, r0
1519 001e 1A60 str r2, [r3]
1280:.\Generated_Source\PSoC4/CyLib.c **** }
1520 .loc 1 1280 0
1521 0020 BD46 mov sp, r7
1522 0022 02B0 add sp, sp, #8
1523 @ sp needed
1524 0024 80BD pop {r7, pc}
1525 .L94:
1526 0026 C046 .align 2
1527 .L93:
1528 0028 00E200E0 .word -536813056
1529 .cfi_endproc
1530 .LFE27:
1531 .size CyIntSetPending, .-CyIntSetPending
1532 .section .text.CyIntClearPending,"ax",%progbits
1533 .align 2
1534 .global CyIntClearPending
1535 .code 16
1536 .thumb_func
1537 .type CyIntClearPending, %function
1538 CyIntClearPending:
1539 .LFB28:
1281:.\Generated_Source\PSoC4/CyLib.c ****
1282:.\Generated_Source\PSoC4/CyLib.c ****
1283:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1284:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyIntClearPending
1285:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1286:.\Generated_Source\PSoC4/CyLib.c **** *
1287:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1288:.\Generated_Source\PSoC4/CyLib.c **** * Clears any pending interrupt for the specified interrupt number.
1289:.\Generated_Source\PSoC4/CyLib.c **** *
1290:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1291:.\Generated_Source\PSoC4/CyLib.c **** * number: Valid range [0-31]. Interrupt number.
1292:.\Generated_Source\PSoC4/CyLib.c **** *
1293:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1294:.\Generated_Source\PSoC4/CyLib.c **** * None
1295:.\Generated_Source\PSoC4/CyLib.c **** *
1296:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1297:.\Generated_Source\PSoC4/CyLib.c **** void CyIntClearPending(uint8 number)
1298:.\Generated_Source\PSoC4/CyLib.c **** {
1540 .loc 1 1298 0
1541 .cfi_startproc
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 51


1542 0000 80B5 push {r7, lr}
1543 .cfi_def_cfa_offset 8
1544 .cfi_offset 7, -8
1545 .cfi_offset 14, -4
1546 0002 82B0 sub sp, sp, #8
1547 .cfi_def_cfa_offset 16
1548 0004 00AF add r7, sp, #0
1549 .cfi_def_cfa_register 7
1550 0006 021C mov r2, r0
1551 0008 FB1D add r3, r7, #7
1552 000a 1A70 strb r2, [r3]
1299:.\Generated_Source\PSoC4/CyLib.c **** CY_INT_CLR_PEND_REG = ((uint32) 0x01u << (CY_INT_ENABLE_RANGE_MASK & number));
1553 .loc 1 1299 0
1554 000c 064B ldr r3, .L96
1555 000e FA1D add r2, r7, #7
1556 0010 1178 ldrb r1, [r2]
1557 0012 1F22 mov r2, #31
1558 0014 0A40 and r2, r1
1559 0016 0121 mov r1, #1
1560 0018 081C mov r0, r1
1561 001a 9040 lsl r0, r0, r2
1562 001c 021C mov r2, r0
1563 001e 1A60 str r2, [r3]
1300:.\Generated_Source\PSoC4/CyLib.c **** }
1564 .loc 1 1300 0
1565 0020 BD46 mov sp, r7
1566 0022 02B0 add sp, sp, #8
1567 @ sp needed
1568 0024 80BD pop {r7, pc}
1569 .L97:
1570 0026 C046 .align 2
1571 .L96:
1572 0028 80E200E0 .word -536812928
1573 .cfi_endproc
1574 .LFE28:
1575 .size CyIntClearPending, .-CyIntClearPending
1576 .section .text.CyHalt,"ax",%progbits
1577 .align 2
1578 .global CyHalt
1579 .code 16
1580 .thumb_func
1581 .type CyHalt, %function
1582 CyHalt:
1583 .LFB29:
1301:.\Generated_Source\PSoC4/CyLib.c ****
1302:.\Generated_Source\PSoC4/CyLib.c ****
1303:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1304:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyHalt
1305:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1306:.\Generated_Source\PSoC4/CyLib.c **** *
1307:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1308:.\Generated_Source\PSoC4/CyLib.c **** * Halts the CPU.
1309:.\Generated_Source\PSoC4/CyLib.c **** *
1310:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1311:.\Generated_Source\PSoC4/CyLib.c **** * reason: Value to be used during debugging.
1312:.\Generated_Source\PSoC4/CyLib.c **** *
1313:.\Generated_Source\PSoC4/CyLib.c **** * Return:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 52


1314:.\Generated_Source\PSoC4/CyLib.c **** * None
1315:.\Generated_Source\PSoC4/CyLib.c **** *
1316:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1317:.\Generated_Source\PSoC4/CyLib.c **** void CyHalt(uint8 reason)
1318:.\Generated_Source\PSoC4/CyLib.c **** {
1584 .loc 1 1318 0
1585 .cfi_startproc
1586 0000 80B5 push {r7, lr}
1587 .cfi_def_cfa_offset 8
1588 .cfi_offset 7, -8
1589 .cfi_offset 14, -4
1590 0002 82B0 sub sp, sp, #8
1591 .cfi_def_cfa_offset 16
1592 0004 00AF add r7, sp, #0
1593 .cfi_def_cfa_register 7
1594 0006 021C mov r2, r0
1595 0008 FB1D add r3, r7, #7
1596 000a 1A70 strb r2, [r3]
1319:.\Generated_Source\PSoC4/CyLib.c **** if(0u != reason)
1320:.\Generated_Source\PSoC4/CyLib.c **** {
1321:.\Generated_Source\PSoC4/CyLib.c **** /* To remove unreferenced local variable warning */
1322:.\Generated_Source\PSoC4/CyLib.c **** }
1323:.\Generated_Source\PSoC4/CyLib.c ****
1324:.\Generated_Source\PSoC4/CyLib.c **** #if defined (__ARMCC_VERSION)
1325:.\Generated_Source\PSoC4/CyLib.c **** __breakpoint(0x0);
1326:.\Generated_Source\PSoC4/CyLib.c **** #elif defined(__GNUC__) || defined (__ICCARM__)
1327:.\Generated_Source\PSoC4/CyLib.c **** __asm(" bkpt 1");
1597 .loc 1 1327 0
1598 @ 1327 ".\Generated_Source\PSoC4\CyLib.c" 1
1599 000c 01BE bkpt 1
1600 @ 0 "" 2
1328:.\Generated_Source\PSoC4/CyLib.c **** #elif defined(__C51__)
1329:.\Generated_Source\PSoC4/CyLib.c **** CYDEV_HALT_CPU;
1330:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (__ARMCC_VERSION) */
1331:.\Generated_Source\PSoC4/CyLib.c **** }
1601 .loc 1 1331 0
1602 .code 16
1603 000e BD46 mov sp, r7
1604 0010 02B0 add sp, sp, #8
1605 @ sp needed
1606 0012 80BD pop {r7, pc}
1607 .cfi_endproc
1608 .LFE29:
1609 .size CyHalt, .-CyHalt
1610 .section .text.CySoftwareReset,"ax",%progbits
1611 .align 2
1612 .global CySoftwareReset
1613 .code 16
1614 .thumb_func
1615 .type CySoftwareReset, %function
1616 CySoftwareReset:
1617 .LFB30:
1332:.\Generated_Source\PSoC4/CyLib.c ****
1333:.\Generated_Source\PSoC4/CyLib.c ****
1334:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1335:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySoftwareReset
1336:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 53


1337:.\Generated_Source\PSoC4/CyLib.c **** *
1338:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1339:.\Generated_Source\PSoC4/CyLib.c **** * Forces a software reset of the device.
1340:.\Generated_Source\PSoC4/CyLib.c **** *
1341:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1342:.\Generated_Source\PSoC4/CyLib.c **** * None
1343:.\Generated_Source\PSoC4/CyLib.c **** *
1344:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1345:.\Generated_Source\PSoC4/CyLib.c **** * None
1346:.\Generated_Source\PSoC4/CyLib.c **** *
1347:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1348:.\Generated_Source\PSoC4/CyLib.c **** void CySoftwareReset(void)
1349:.\Generated_Source\PSoC4/CyLib.c **** {
1618 .loc 1 1349 0
1619 .cfi_startproc
1620 0000 80B5 push {r7, lr}
1621 .cfi_def_cfa_offset 8
1622 .cfi_offset 7, -8
1623 .cfi_offset 14, -4
1624 0002 00AF add r7, sp, #0
1625 .cfi_def_cfa_register 7
1350:.\Generated_Source\PSoC4/CyLib.c **** /***************************************************************************
1351:.\Generated_Source\PSoC4/CyLib.c **** * Setting the system reset request bit. The vector key value must be written
1352:.\Generated_Source\PSoC4/CyLib.c **** * to the register, otherwise the register write is unpredictable.
1353:.\Generated_Source\PSoC4/CyLib.c **** ***************************************************************************/
1354:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CM0_AIRCR_REG = (CY_SYS_CM0_AIRCR_REG & (uint32)(~CY_SYS_CM0_AIRCR_VECTKEY_MASK)) |
1626 .loc 1 1354 0
1627 0004 044B ldr r3, .L100
1628 0006 044A ldr r2, .L100
1629 0008 1268 ldr r2, [r2]
1630 000a 1204 lsl r2, r2, #16
1631 000c 120C lsr r2, r2, #16
1355:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CM0_AIRCR_VECTKEY | CY_SYS_CM0_AIRCR_SYSRESETREQ;
1632 .loc 1 1355 0
1633 000e 0349 ldr r1, .L100+4
1634 0010 0A43 orr r2, r1
1354:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_CM0_AIRCR_REG = (CY_SYS_CM0_AIRCR_REG & (uint32)(~CY_SYS_CM0_AIRCR_VECTKEY_MASK)) |
1635 .loc 1 1354 0
1636 0012 1A60 str r2, [r3]
1356:.\Generated_Source\PSoC4/CyLib.c **** }
1637 .loc 1 1356 0
1638 0014 BD46 mov sp, r7
1639 @ sp needed
1640 0016 80BD pop {r7, pc}
1641 .L101:
1642 .align 2
1643 .L100:
1644 0018 0CED00E0 .word -536810228
1645 001c 0400FA05 .word 100270084
1646 .cfi_endproc
1647 .LFE30:
1648 .size CySoftwareReset, .-CySoftwareReset
1649 .section .text.CyDelay,"ax",%progbits
1650 .align 2
1651 .global CyDelay
1652 .code 16
1653 .thumb_func
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 54


1654 .type CyDelay, %function
1655 CyDelay:
1656 .LFB31:
1357:.\Generated_Source\PSoC4/CyLib.c ****
1358:.\Generated_Source\PSoC4/CyLib.c ****
1359:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1360:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyDelay
1361:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1362:.\Generated_Source\PSoC4/CyLib.c **** *
1363:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1364:.\Generated_Source\PSoC4/CyLib.c **** * Blocks for milliseconds.
1365:.\Generated_Source\PSoC4/CyLib.c **** *
1366:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1367:.\Generated_Source\PSoC4/CyLib.c **** * milliseconds: number of milliseconds to delay.
1368:.\Generated_Source\PSoC4/CyLib.c **** *
1369:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1370:.\Generated_Source\PSoC4/CyLib.c **** * None
1371:.\Generated_Source\PSoC4/CyLib.c **** *
1372:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1373:.\Generated_Source\PSoC4/CyLib.c **** void CyDelay(uint32 milliseconds)
1374:.\Generated_Source\PSoC4/CyLib.c **** {
1657 .loc 1 1374 0
1658 .cfi_startproc
1659 0000 80B5 push {r7, lr}
1660 .cfi_def_cfa_offset 8
1661 .cfi_offset 7, -8
1662 .cfi_offset 14, -4
1663 0002 82B0 sub sp, sp, #8
1664 .cfi_def_cfa_offset 16
1665 0004 00AF add r7, sp, #0
1666 .cfi_def_cfa_register 7
1667 0006 7860 str r0, [r7, #4]
1375:.\Generated_Source\PSoC4/CyLib.c **** while (milliseconds > CY_DELAY_MS_OVERFLOW)
1668 .loc 1 1375 0
1669 0008 08E0 b .L103
1670 .L104:
1376:.\Generated_Source\PSoC4/CyLib.c **** {
1377:.\Generated_Source\PSoC4/CyLib.c **** /* This loop prevents overflow.
1378:.\Generated_Source\PSoC4/CyLib.c **** * At 100MHz, milliseconds * cydelayFreqKhz overflows at about 42 seconds
1379:.\Generated_Source\PSoC4/CyLib.c **** */
1380:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(cydelay32kMs);
1671 .loc 1 1380 0
1672 000a 0C4B ldr r3, .L105
1673 000c 1B68 ldr r3, [r3]
1674 000e 181C mov r0, r3
1675 0010 FFF7FEFF bl CyDelayCycles
1381:.\Generated_Source\PSoC4/CyLib.c **** milliseconds -= CY_DELAY_MS_OVERFLOW;
1676 .loc 1 1381 0
1677 0014 7B68 ldr r3, [r7, #4]
1678 0016 0A4A ldr r2, .L105+4
1679 0018 9B18 add r3, r3, r2
1680 001a 7B60 str r3, [r7, #4]
1681 .L103:
1375:.\Generated_Source\PSoC4/CyLib.c **** while (milliseconds > CY_DELAY_MS_OVERFLOW)
1682 .loc 1 1375 0 discriminator 1
1683 001c 7A68 ldr r2, [r7, #4]
1684 001e 8023 mov r3, #128
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 55


1685 0020 1B02 lsl r3, r3, #8
1686 0022 9A42 cmp r2, r3
1687 0024 F1D8 bhi .L104
1382:.\Generated_Source\PSoC4/CyLib.c **** }
1383:.\Generated_Source\PSoC4/CyLib.c ****
1384:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles(milliseconds * cydelayFreqKhz);
1688 .loc 1 1384 0
1689 0026 074B ldr r3, .L105+8
1690 0028 1B68 ldr r3, [r3]
1691 002a 7A68 ldr r2, [r7, #4]
1692 002c 5343 mul r3, r2
1693 002e 181C mov r0, r3
1694 0030 FFF7FEFF bl CyDelayCycles
1385:.\Generated_Source\PSoC4/CyLib.c **** }
1695 .loc 1 1385 0
1696 0034 BD46 mov sp, r7
1697 0036 02B0 add sp, sp, #8
1698 @ sp needed
1699 0038 80BD pop {r7, pc}
1700 .L106:
1701 003a C046 .align 2
1702 .L105:
1703 003c 00000000 .word cydelay32kMs
1704 0040 0080FFFF .word -32768
1705 0044 00000000 .word cydelayFreqKhz
1706 .cfi_endproc
1707 .LFE31:
1708 .size CyDelay, .-CyDelay
1709 .section .text.CyDelayUs,"ax",%progbits
1710 .align 2
1711 .global CyDelayUs
1712 .code 16
1713 .thumb_func
1714 .type CyDelayUs, %function
1715 CyDelayUs:
1716 .LFB32:
1386:.\Generated_Source\PSoC4/CyLib.c ****
1387:.\Generated_Source\PSoC4/CyLib.c ****
1388:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1389:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyDelayUs
1390:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1391:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1392:.\Generated_Source\PSoC4/CyLib.c **** * Blocks for microseconds.
1393:.\Generated_Source\PSoC4/CyLib.c **** *
1394:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1395:.\Generated_Source\PSoC4/CyLib.c **** * microseconds: number of microseconds to delay.
1396:.\Generated_Source\PSoC4/CyLib.c **** *
1397:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1398:.\Generated_Source\PSoC4/CyLib.c **** * None
1399:.\Generated_Source\PSoC4/CyLib.c **** *
1400:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1401:.\Generated_Source\PSoC4/CyLib.c **** void CyDelayUs(uint16 microseconds)
1402:.\Generated_Source\PSoC4/CyLib.c **** {
1717 .loc 1 1402 0
1718 .cfi_startproc
1719 0000 80B5 push {r7, lr}
1720 .cfi_def_cfa_offset 8
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 56


1721 .cfi_offset 7, -8
1722 .cfi_offset 14, -4
1723 0002 82B0 sub sp, sp, #8
1724 .cfi_def_cfa_offset 16
1725 0004 00AF add r7, sp, #0
1726 .cfi_def_cfa_register 7
1727 0006 021C mov r2, r0
1728 0008 BB1D add r3, r7, #6
1729 000a 1A80 strh r2, [r3]
1403:.\Generated_Source\PSoC4/CyLib.c **** CyDelayCycles((uint32)microseconds * cydelayFreqMhz);
1730 .loc 1 1403 0
1731 000c BB1D add r3, r7, #6
1732 000e 1B88 ldrh r3, [r3]
1733 0010 044A ldr r2, .L108
1734 0012 1278 ldrb r2, [r2]
1735 0014 5343 mul r3, r2
1736 0016 181C mov r0, r3
1737 0018 FFF7FEFF bl CyDelayCycles
1404:.\Generated_Source\PSoC4/CyLib.c **** }
1738 .loc 1 1404 0
1739 001c BD46 mov sp, r7
1740 001e 02B0 add sp, sp, #8
1741 @ sp needed
1742 0020 80BD pop {r7, pc}
1743 .L109:
1744 0022 C046 .align 2
1745 .L108:
1746 0024 00000000 .word cydelayFreqMhz
1747 .cfi_endproc
1748 .LFE32:
1749 .size CyDelayUs, .-CyDelayUs
1750 .global __aeabi_uidiv
1751 .section .text.CyDelayFreq,"ax",%progbits
1752 .align 2
1753 .global CyDelayFreq
1754 .code 16
1755 .thumb_func
1756 .type CyDelayFreq, %function
1757 CyDelayFreq:
1758 .LFB33:
1405:.\Generated_Source\PSoC4/CyLib.c ****
1406:.\Generated_Source\PSoC4/CyLib.c ****
1407:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1408:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyDelayFreq
1409:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1410:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1411:.\Generated_Source\PSoC4/CyLib.c **** * Sets clock frequency for CyDelay.
1412:.\Generated_Source\PSoC4/CyLib.c **** *
1413:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1414:.\Generated_Source\PSoC4/CyLib.c **** * freq: Frequency of bus clock in Hertz.
1415:.\Generated_Source\PSoC4/CyLib.c **** *
1416:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1417:.\Generated_Source\PSoC4/CyLib.c **** * None
1418:.\Generated_Source\PSoC4/CyLib.c **** *
1419:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1420:.\Generated_Source\PSoC4/CyLib.c **** void CyDelayFreq(uint32 freq)
1421:.\Generated_Source\PSoC4/CyLib.c **** {
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 57


1759 .loc 1 1421 0
1760 .cfi_startproc
1761 0000 80B5 push {r7, lr}
1762 .cfi_def_cfa_offset 8
1763 .cfi_offset 7, -8
1764 .cfi_offset 14, -4
1765 0002 82B0 sub sp, sp, #8
1766 .cfi_def_cfa_offset 16
1767 0004 00AF add r7, sp, #0
1768 .cfi_def_cfa_register 7
1769 0006 7860 str r0, [r7, #4]
1422:.\Generated_Source\PSoC4/CyLib.c **** if (freq != 0u)
1770 .loc 1 1422 0
1771 0008 7B68 ldr r3, [r7, #4]
1772 000a 002B cmp r3, #0
1773 000c 03D0 beq .L111
1423:.\Generated_Source\PSoC4/CyLib.c **** {
1424:.\Generated_Source\PSoC4/CyLib.c **** cydelayFreqHz = freq;
1774 .loc 1 1424 0
1775 000e 144B ldr r3, .L113
1776 0010 7A68 ldr r2, [r7, #4]
1777 0012 1A60 str r2, [r3]
1778 0014 02E0 b .L112
1779 .L111:
1425:.\Generated_Source\PSoC4/CyLib.c **** }
1426:.\Generated_Source\PSoC4/CyLib.c **** else
1427:.\Generated_Source\PSoC4/CyLib.c **** {
1428:.\Generated_Source\PSoC4/CyLib.c **** cydelayFreqHz = CYDEV_BCLK__SYSCLK__HZ;
1780 .loc 1 1428 0
1781 0016 124B ldr r3, .L113
1782 0018 124A ldr r2, .L113+4
1783 001a 1A60 str r2, [r3]
1784 .L112:
1429:.\Generated_Source\PSoC4/CyLib.c **** }
1430:.\Generated_Source\PSoC4/CyLib.c ****
1431:.\Generated_Source\PSoC4/CyLib.c **** cydelayFreqMhz = (uint8)((cydelayFreqHz + CY_DELAY_1M_MINUS_1_THRESHOLD) / CY_DELAY_1M_THRESHOL
1785 .loc 1 1431 0
1786 001c 104B ldr r3, .L113
1787 001e 1B68 ldr r3, [r3]
1788 0020 114A ldr r2, .L113+8
1789 0022 9B18 add r3, r3, r2
1790 0024 181C mov r0, r3
1791 0026 1149 ldr r1, .L113+12
1792 0028 FFF7FEFF bl __aeabi_uidiv
1793 002c 031C mov r3, r0
1794 002e DAB2 uxtb r2, r3
1795 0030 0F4B ldr r3, .L113+16
1796 0032 1A70 strb r2, [r3]
1432:.\Generated_Source\PSoC4/CyLib.c **** cydelayFreqKhz = (cydelayFreqHz + CY_DELAY_1K_MINUS_1_THRESHOLD) / CY_DELAY_1K_THRESHOLD;
1797 .loc 1 1432 0
1798 0034 0A4B ldr r3, .L113
1799 0036 1B68 ldr r3, [r3]
1800 0038 0E4A ldr r2, .L113+20
1801 003a 9B18 add r3, r3, r2
1802 003c 181C mov r0, r3
1803 003e FA23 mov r3, #250
1804 0040 9900 lsl r1, r3, #2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 58


1805 0042 FFF7FEFF bl __aeabi_uidiv
1806 0046 031C mov r3, r0
1807 0048 1A1C mov r2, r3
1808 004a 0B4B ldr r3, .L113+24
1809 004c 1A60 str r2, [r3]
1433:.\Generated_Source\PSoC4/CyLib.c **** cydelay32kMs = CY_DELAY_MS_OVERFLOW * cydelayFreqKhz;
1810 .loc 1 1433 0
1811 004e 0A4B ldr r3, .L113+24
1812 0050 1B68 ldr r3, [r3]
1813 0052 DA03 lsl r2, r3, #15
1814 0054 094B ldr r3, .L113+28
1815 0056 1A60 str r2, [r3]
1434:.\Generated_Source\PSoC4/CyLib.c **** }
1816 .loc 1 1434 0
1817 0058 BD46 mov sp, r7
1818 005a 02B0 add sp, sp, #8
1819 @ sp needed
1820 005c 80BD pop {r7, pc}
1821 .L114:
1822 005e C046 .align 2
1823 .L113:
1824 0060 00000000 .word cydelayFreqHz
1825 0064 006CDC02 .word 48000000
1826 0068 3F420F00 .word 999999
1827 006c 40420F00 .word 1000000
1828 0070 00000000 .word cydelayFreqMhz
1829 0074 E7030000 .word 999
1830 0078 00000000 .word cydelayFreqKhz
1831 007c 00000000 .word cydelay32kMs
1832 .cfi_endproc
1833 .LFE33:
1834 .size CyDelayFreq, .-CyDelayFreq
1835 .section .text.CySysTickStart,"ax",%progbits
1836 .align 2
1837 .global CySysTickStart
1838 .code 16
1839 .thumb_func
1840 .type CySysTickStart, %function
1841 CySysTickStart:
1842 .LFB34:
1435:.\Generated_Source\PSoC4/CyLib.c ****
1436:.\Generated_Source\PSoC4/CyLib.c ****
1437:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1438:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTick_Start
1439:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1440:.\Generated_Source\PSoC4/CyLib.c **** *
1441:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1442:.\Generated_Source\PSoC4/CyLib.c **** * Starts the system timer (SysTick): configures SysTick to generate interrupt
1443:.\Generated_Source\PSoC4/CyLib.c **** * every 1 ms and enables the interrupt.
1444:.\Generated_Source\PSoC4/CyLib.c **** *
1445:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1446:.\Generated_Source\PSoC4/CyLib.c **** * None
1447:.\Generated_Source\PSoC4/CyLib.c **** *
1448:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1449:.\Generated_Source\PSoC4/CyLib.c **** * None
1450:.\Generated_Source\PSoC4/CyLib.c **** *
1451:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 59


1452:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set.
1453:.\Generated_Source\PSoC4/CyLib.c **** *
1454:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1455:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickStart(void)
1456:.\Generated_Source\PSoC4/CyLib.c **** {
1843 .loc 1 1456 0
1844 .cfi_startproc
1845 0000 80B5 push {r7, lr}
1846 .cfi_def_cfa_offset 8
1847 .cfi_offset 7, -8
1848 .cfi_offset 14, -4
1849 0002 00AF add r7, sp, #0
1850 .cfi_def_cfa_register 7
1457:.\Generated_Source\PSoC4/CyLib.c **** if (0u == CySysTickInitVar)
1851 .loc 1 1457 0
1852 0004 064B ldr r3, .L117
1853 0006 1B68 ldr r3, [r3]
1854 0008 002B cmp r3, #0
1855 000a 04D1 bne .L116
1458:.\Generated_Source\PSoC4/CyLib.c **** {
1459:.\Generated_Source\PSoC4/CyLib.c **** CySysTickInit();
1856 .loc 1 1459 0
1857 000c FFF7FEFF bl CySysTickInit
1460:.\Generated_Source\PSoC4/CyLib.c **** CySysTickInitVar = 1u;
1858 .loc 1 1460 0
1859 0010 034B ldr r3, .L117
1860 0012 0122 mov r2, #1
1861 0014 1A60 str r2, [r3]
1862 .L116:
1461:.\Generated_Source\PSoC4/CyLib.c **** }
1462:.\Generated_Source\PSoC4/CyLib.c ****
1463:.\Generated_Source\PSoC4/CyLib.c **** CySysTickEnable();
1863 .loc 1 1463 0
1864 0016 FFF7FEFF bl CySysTickEnable
1464:.\Generated_Source\PSoC4/CyLib.c **** }
1865 .loc 1 1464 0
1866 001a BD46 mov sp, r7
1867 @ sp needed
1868 001c 80BD pop {r7, pc}
1869 .L118:
1870 001e C046 .align 2
1871 .L117:
1872 0020 00000000 .word CySysTickInitVar
1873 .cfi_endproc
1874 .LFE34:
1875 .size CySysTickStart, .-CySysTickStart
1876 .section .text.CySysTickInit,"ax",%progbits
1877 .align 2
1878 .global CySysTickInit
1879 .code 16
1880 .thumb_func
1881 .type CySysTickInit, %function
1882 CySysTickInit:
1883 .LFB35:
1465:.\Generated_Source\PSoC4/CyLib.c ****
1466:.\Generated_Source\PSoC4/CyLib.c ****
1467:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 60


1468:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickInit
1469:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1470:.\Generated_Source\PSoC4/CyLib.c **** *
1471:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1472:.\Generated_Source\PSoC4/CyLib.c **** * Sets CySysTickServiceCallbacks() as an ISR for the SysTick exception.
1473:.\Generated_Source\PSoC4/CyLib.c **** * The clock source for the SysTick counter is set to the System Clock.
1474:.\Generated_Source\PSoC4/CyLib.c **** * The SysTick reload value is configured for the timer to generate interrupt
1475:.\Generated_Source\PSoC4/CyLib.c **** * every 1 ms. The System clock value is on the global variables cydelayFreqHz.
1476:.\Generated_Source\PSoC4/CyLib.c **** * User is responsible for calling CyDelayFreq() function.
1477:.\Generated_Source\PSoC4/CyLib.c **** * Initializes CySysTickCallbacks array.
1478:.\Generated_Source\PSoC4/CyLib.c **** *
1479:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1480:.\Generated_Source\PSoC4/CyLib.c **** * None
1481:.\Generated_Source\PSoC4/CyLib.c **** *
1482:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1483:.\Generated_Source\PSoC4/CyLib.c **** * None
1484:.\Generated_Source\PSoC4/CyLib.c **** *
1485:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1486:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set
1487:.\Generated_Source\PSoC4/CyLib.c **** *
1488:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1489:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickInit(void)
1490:.\Generated_Source\PSoC4/CyLib.c **** {
1884 .loc 1 1490 0
1885 .cfi_startproc
1886 0000 80B5 push {r7, lr}
1887 .cfi_def_cfa_offset 8
1888 .cfi_offset 7, -8
1889 .cfi_offset 14, -4
1890 0002 82B0 sub sp, sp, #8
1891 .cfi_def_cfa_offset 16
1892 0004 00AF add r7, sp, #0
1893 .cfi_def_cfa_register 7
1491:.\Generated_Source\PSoC4/CyLib.c **** uint32 i;
1492:.\Generated_Source\PSoC4/CyLib.c ****
1493:.\Generated_Source\PSoC4/CyLib.c **** for (i = 0u; i<CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
1894 .loc 1 1493 0
1895 0006 0023 mov r3, #0
1896 0008 7B60 str r3, [r7, #4]
1897 000a 07E0 b .L120
1898 .L121:
1494:.\Generated_Source\PSoC4/CyLib.c **** {
1495:.\Generated_Source\PSoC4/CyLib.c **** CySysTickCallbacks[i] = (void *) 0;
1899 .loc 1 1495 0 discriminator 2
1900 000c 124B ldr r3, .L122
1901 000e 7A68 ldr r2, [r7, #4]
1902 0010 9200 lsl r2, r2, #2
1903 0012 0021 mov r1, #0
1904 0014 D150 str r1, [r2, r3]
1493:.\Generated_Source\PSoC4/CyLib.c **** for (i = 0u; i<CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
1905 .loc 1 1493 0 discriminator 2
1906 0016 7B68 ldr r3, [r7, #4]
1907 0018 0133 add r3, r3, #1
1908 001a 7B60 str r3, [r7, #4]
1909 .L120:
1493:.\Generated_Source\PSoC4/CyLib.c **** for (i = 0u; i<CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
1910 .loc 1 1493 0 is_stmt 0 discriminator 1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 61


1911 001c 7B68 ldr r3, [r7, #4]
1912 001e 042B cmp r3, #4
1913 0020 F4D9 bls .L121
1496:.\Generated_Source\PSoC4/CyLib.c **** }
1497:.\Generated_Source\PSoC4/CyLib.c ****
1498:.\Generated_Source\PSoC4/CyLib.c **** (void) CyIntSetSysVector(CY_INT_SYSTICK_IRQN, &CySysTickServiceCallbacks);
1914 .loc 1 1498 0 is_stmt 1
1915 0022 0E4B ldr r3, .L122+4
1916 0024 0F20 mov r0, #15
1917 0026 191C mov r1, r3
1918 0028 FFF7FEFF bl CyIntSetSysVector
1499:.\Generated_Source\PSoC4/CyLib.c ****
1500:.\Generated_Source\PSoC4/CyLib.c **** #if(!CY_PSOC3 && !CY_PSOC4_4000 && !CY_PSOC4_4100 && !CY_PSOC4_4200)
1501:.\Generated_Source\PSoC4/CyLib.c **** CySysTickSetClockSource(CY_SYS_SYST_CSR_CLK_SRC_SYSCLK);
1919 .loc 1 1501 0
1920 002c 0120 mov r0, #1
1921 002e FFF7FEFF bl CySysTickSetClockSource
1502:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (!CY_PSOC3 && !CY_PSOC4_4000 && !CY_PSOC4_4100 && !CY_PSOC4_4200) */
1503:.\Generated_Source\PSoC4/CyLib.c ****
1504:.\Generated_Source\PSoC4/CyLib.c **** CySysTickSetReload(cydelayFreqHz/1000u);
1922 .loc 1 1504 0
1923 0032 0B4B ldr r3, .L122+8
1924 0034 1B68 ldr r3, [r3]
1925 0036 181C mov r0, r3
1926 0038 FA23 mov r3, #250
1927 003a 9900 lsl r1, r3, #2
1928 003c FFF7FEFF bl __aeabi_uidiv
1929 0040 031C mov r3, r0
1930 0042 181C mov r0, r3
1931 0044 FFF7FEFF bl CySysTickSetReload
1505:.\Generated_Source\PSoC4/CyLib.c **** CySysTickClear();
1932 .loc 1 1505 0
1933 0048 FFF7FEFF bl CySysTickClear
1506:.\Generated_Source\PSoC4/CyLib.c **** CyIntEnable(CY_INT_SYSTICK_IRQN);
1934 .loc 1 1506 0
1935 004c 0F20 mov r0, #15
1936 004e FFF7FEFF bl CyIntEnable
1507:.\Generated_Source\PSoC4/CyLib.c **** }
1937 .loc 1 1507 0
1938 0052 BD46 mov sp, r7
1939 0054 02B0 add sp, sp, #8
1940 @ sp needed
1941 0056 80BD pop {r7, pc}
1942 .L123:
1943 .align 2
1944 .L122:
1945 0058 00000000 .word CySysTickCallbacks
1946 005c 00000000 .word CySysTickServiceCallbacks
1947 0060 00000000 .word cydelayFreqHz
1948 .cfi_endproc
1949 .LFE35:
1950 .size CySysTickInit, .-CySysTickInit
1951 .section .text.CySysTickEnable,"ax",%progbits
1952 .align 2
1953 .global CySysTickEnable
1954 .code 16
1955 .thumb_func
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 62


1956 .type CySysTickEnable, %function
1957 CySysTickEnable:
1958 .LFB36:
1508:.\Generated_Source\PSoC4/CyLib.c ****
1509:.\Generated_Source\PSoC4/CyLib.c ****
1510:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1511:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickEnable
1512:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1513:.\Generated_Source\PSoC4/CyLib.c **** *
1514:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1515:.\Generated_Source\PSoC4/CyLib.c **** * Enables the SysTick timer and its interrupt.
1516:.\Generated_Source\PSoC4/CyLib.c **** *
1517:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1518:.\Generated_Source\PSoC4/CyLib.c **** * None
1519:.\Generated_Source\PSoC4/CyLib.c **** *
1520:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1521:.\Generated_Source\PSoC4/CyLib.c **** * None
1522:.\Generated_Source\PSoC4/CyLib.c **** *
1523:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1524:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set
1525:.\Generated_Source\PSoC4/CyLib.c **** *
1526:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1527:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickEnable(void)
1528:.\Generated_Source\PSoC4/CyLib.c **** {
1959 .loc 1 1528 0
1960 .cfi_startproc
1961 0000 80B5 push {r7, lr}
1962 .cfi_def_cfa_offset 8
1963 .cfi_offset 7, -8
1964 .cfi_offset 14, -4
1965 0002 00AF add r7, sp, #0
1966 .cfi_def_cfa_register 7
1529:.\Generated_Source\PSoC4/CyLib.c **** CySysTickEnableInterrupt();
1967 .loc 1 1529 0
1968 0004 FFF7FEFF bl CySysTickEnableInterrupt
1530:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG |= CY_SYS_SYST_CSR_ENABLE;
1969 .loc 1 1530 0
1970 0008 034B ldr r3, .L125
1971 000a 034A ldr r2, .L125
1972 000c 1268 ldr r2, [r2]
1973 000e 0121 mov r1, #1
1974 0010 0A43 orr r2, r1
1975 0012 1A60 str r2, [r3]
1531:.\Generated_Source\PSoC4/CyLib.c **** }
1976 .loc 1 1531 0
1977 0014 BD46 mov sp, r7
1978 @ sp needed
1979 0016 80BD pop {r7, pc}
1980 .L126:
1981 .align 2
1982 .L125:
1983 0018 10E000E0 .word -536813552
1984 .cfi_endproc
1985 .LFE36:
1986 .size CySysTickEnable, .-CySysTickEnable
1987 .section .text.CySysTickStop,"ax",%progbits
1988 .align 2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 63


1989 .global CySysTickStop
1990 .code 16
1991 .thumb_func
1992 .type CySysTickStop, %function
1993 CySysTickStop:
1994 .LFB37:
1532:.\Generated_Source\PSoC4/CyLib.c ****
1533:.\Generated_Source\PSoC4/CyLib.c ****
1534:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1535:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickStop
1536:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1537:.\Generated_Source\PSoC4/CyLib.c **** *
1538:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1539:.\Generated_Source\PSoC4/CyLib.c **** * Stops the system timer (SysTick).
1540:.\Generated_Source\PSoC4/CyLib.c **** *
1541:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1542:.\Generated_Source\PSoC4/CyLib.c **** * None
1543:.\Generated_Source\PSoC4/CyLib.c **** *
1544:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1545:.\Generated_Source\PSoC4/CyLib.c **** * None
1546:.\Generated_Source\PSoC4/CyLib.c **** *
1547:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1548:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set
1549:.\Generated_Source\PSoC4/CyLib.c **** *
1550:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1551:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickStop(void)
1552:.\Generated_Source\PSoC4/CyLib.c **** {
1995 .loc 1 1552 0
1996 .cfi_startproc
1997 0000 80B5 push {r7, lr}
1998 .cfi_def_cfa_offset 8
1999 .cfi_offset 7, -8
2000 .cfi_offset 14, -4
2001 0002 00AF add r7, sp, #0
2002 .cfi_def_cfa_register 7
1553:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG &= ((uint32) ~(CY_SYS_SYST_CSR_ENABLE));
2003 .loc 1 1553 0
2004 0004 034B ldr r3, .L128
2005 0006 034A ldr r2, .L128
2006 0008 1268 ldr r2, [r2]
2007 000a 0121 mov r1, #1
2008 000c 8A43 bic r2, r1
2009 000e 1A60 str r2, [r3]
1554:.\Generated_Source\PSoC4/CyLib.c **** }
2010 .loc 1 1554 0
2011 0010 BD46 mov sp, r7
2012 @ sp needed
2013 0012 80BD pop {r7, pc}
2014 .L129:
2015 .align 2
2016 .L128:
2017 0014 10E000E0 .word -536813552
2018 .cfi_endproc
2019 .LFE37:
2020 .size CySysTickStop, .-CySysTickStop
2021 .section .text.CySysTickEnableInterrupt,"ax",%progbits
2022 .align 2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 64


2023 .global CySysTickEnableInterrupt
2024 .code 16
2025 .thumb_func
2026 .type CySysTickEnableInterrupt, %function
2027 CySysTickEnableInterrupt:
2028 .LFB38:
1555:.\Generated_Source\PSoC4/CyLib.c ****
1556:.\Generated_Source\PSoC4/CyLib.c ****
1557:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1558:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickEnableInterrupt
1559:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1560:.\Generated_Source\PSoC4/CyLib.c **** *
1561:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1562:.\Generated_Source\PSoC4/CyLib.c **** * Enables the SysTick interrupt.
1563:.\Generated_Source\PSoC4/CyLib.c **** *
1564:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1565:.\Generated_Source\PSoC4/CyLib.c **** * None
1566:.\Generated_Source\PSoC4/CyLib.c **** *
1567:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1568:.\Generated_Source\PSoC4/CyLib.c **** * None
1569:.\Generated_Source\PSoC4/CyLib.c **** *
1570:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1571:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set
1572:.\Generated_Source\PSoC4/CyLib.c **** *
1573:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1574:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickEnableInterrupt(void)
1575:.\Generated_Source\PSoC4/CyLib.c **** {
2029 .loc 1 1575 0
2030 .cfi_startproc
2031 0000 80B5 push {r7, lr}
2032 .cfi_def_cfa_offset 8
2033 .cfi_offset 7, -8
2034 .cfi_offset 14, -4
2035 0002 00AF add r7, sp, #0
2036 .cfi_def_cfa_register 7
1576:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG |= CY_SYS_SYST_CSR_ENABLE_INT;
2037 .loc 1 1576 0
2038 0004 034B ldr r3, .L131
2039 0006 034A ldr r2, .L131
2040 0008 1268 ldr r2, [r2]
2041 000a 0221 mov r1, #2
2042 000c 0A43 orr r2, r1
2043 000e 1A60 str r2, [r3]
1577:.\Generated_Source\PSoC4/CyLib.c **** }
2044 .loc 1 1577 0
2045 0010 BD46 mov sp, r7
2046 @ sp needed
2047 0012 80BD pop {r7, pc}
2048 .L132:
2049 .align 2
2050 .L131:
2051 0014 10E000E0 .word -536813552
2052 .cfi_endproc
2053 .LFE38:
2054 .size CySysTickEnableInterrupt, .-CySysTickEnableInterrupt
2055 .section .text.CySysTickDisableInterrupt,"ax",%progbits
2056 .align 2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 65


2057 .global CySysTickDisableInterrupt
2058 .code 16
2059 .thumb_func
2060 .type CySysTickDisableInterrupt, %function
2061 CySysTickDisableInterrupt:
2062 .LFB39:
1578:.\Generated_Source\PSoC4/CyLib.c ****
1579:.\Generated_Source\PSoC4/CyLib.c ****
1580:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1581:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickDisableInterrupt
1582:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1583:.\Generated_Source\PSoC4/CyLib.c **** *
1584:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1585:.\Generated_Source\PSoC4/CyLib.c **** * Disables the SysTick interrupt.
1586:.\Generated_Source\PSoC4/CyLib.c **** *
1587:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1588:.\Generated_Source\PSoC4/CyLib.c **** * None
1589:.\Generated_Source\PSoC4/CyLib.c **** *
1590:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1591:.\Generated_Source\PSoC4/CyLib.c **** * None
1592:.\Generated_Source\PSoC4/CyLib.c **** *
1593:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1594:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set
1595:.\Generated_Source\PSoC4/CyLib.c **** *
1596:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1597:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickDisableInterrupt(void)
1598:.\Generated_Source\PSoC4/CyLib.c **** {
2063 .loc 1 1598 0
2064 .cfi_startproc
2065 0000 80B5 push {r7, lr}
2066 .cfi_def_cfa_offset 8
2067 .cfi_offset 7, -8
2068 .cfi_offset 14, -4
2069 0002 00AF add r7, sp, #0
2070 .cfi_def_cfa_register 7
1599:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG &= ((uint32) ~(CY_SYS_SYST_CSR_ENABLE_INT));
2071 .loc 1 1599 0
2072 0004 034B ldr r3, .L134
2073 0006 034A ldr r2, .L134
2074 0008 1268 ldr r2, [r2]
2075 000a 0221 mov r1, #2
2076 000c 8A43 bic r2, r1
2077 000e 1A60 str r2, [r3]
1600:.\Generated_Source\PSoC4/CyLib.c **** }
2078 .loc 1 1600 0
2079 0010 BD46 mov sp, r7
2080 @ sp needed
2081 0012 80BD pop {r7, pc}
2082 .L135:
2083 .align 2
2084 .L134:
2085 0014 10E000E0 .word -536813552
2086 .cfi_endproc
2087 .LFE39:
2088 .size CySysTickDisableInterrupt, .-CySysTickDisableInterrupt
2089 .section .text.CySysTickSetReload,"ax",%progbits
2090 .align 2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 66


2091 .global CySysTickSetReload
2092 .code 16
2093 .thumb_func
2094 .type CySysTickSetReload, %function
2095 CySysTickSetReload:
2096 .LFB40:
1601:.\Generated_Source\PSoC4/CyLib.c ****
1602:.\Generated_Source\PSoC4/CyLib.c ****
1603:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1604:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickSetReload
1605:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1606:.\Generated_Source\PSoC4/CyLib.c **** *
1607:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1608:.\Generated_Source\PSoC4/CyLib.c **** * Sets value the counter is set to on startup and after it reaches zero. This
1609:.\Generated_Source\PSoC4/CyLib.c **** * function do not change or reset current sysTick counter value, so it should
1610:.\Generated_Source\PSoC4/CyLib.c **** * be cleared using CySysTickClear() API.
1611:.\Generated_Source\PSoC4/CyLib.c **** *
1612:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1613:.\Generated_Source\PSoC4/CyLib.c **** * value: Valid range [0x0-0x00FFFFFF]. Counter reset value
1614:.\Generated_Source\PSoC4/CyLib.c **** *
1615:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1616:.\Generated_Source\PSoC4/CyLib.c **** * None
1617:.\Generated_Source\PSoC4/CyLib.c **** *
1618:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1619:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickSetReload(uint32 value)
1620:.\Generated_Source\PSoC4/CyLib.c **** {
2097 .loc 1 1620 0
2098 .cfi_startproc
2099 0000 80B5 push {r7, lr}
2100 .cfi_def_cfa_offset 8
2101 .cfi_offset 7, -8
2102 .cfi_offset 14, -4
2103 0002 82B0 sub sp, sp, #8
2104 .cfi_def_cfa_offset 16
2105 0004 00AF add r7, sp, #0
2106 .cfi_def_cfa_register 7
2107 0006 7860 str r0, [r7, #4]
1621:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_RVR_REG = (value & CY_SYS_SYST_RVR_CNT_MASK);
2108 .loc 1 1621 0
2109 0008 034B ldr r3, .L137
2110 000a 7A68 ldr r2, [r7, #4]
2111 000c 1202 lsl r2, r2, #8
2112 000e 120A lsr r2, r2, #8
2113 0010 1A60 str r2, [r3]
1622:.\Generated_Source\PSoC4/CyLib.c **** }
2114 .loc 1 1622 0
2115 0012 BD46 mov sp, r7
2116 0014 02B0 add sp, sp, #8
2117 @ sp needed
2118 0016 80BD pop {r7, pc}
2119 .L138:
2120 .align 2
2121 .L137:
2122 0018 14E000E0 .word -536813548
2123 .cfi_endproc
2124 .LFE40:
2125 .size CySysTickSetReload, .-CySysTickSetReload
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 67


2126 .section .text.CySysTickGetReload,"ax",%progbits
2127 .align 2
2128 .global CySysTickGetReload
2129 .code 16
2130 .thumb_func
2131 .type CySysTickGetReload, %function
2132 CySysTickGetReload:
2133 .LFB41:
1623:.\Generated_Source\PSoC4/CyLib.c ****
1624:.\Generated_Source\PSoC4/CyLib.c ****
1625:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1626:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickGetReload
1627:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1628:.\Generated_Source\PSoC4/CyLib.c **** *
1629:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1630:.\Generated_Source\PSoC4/CyLib.c **** * Sets value the counter is set to on startup and after it reaches zero.
1631:.\Generated_Source\PSoC4/CyLib.c **** *
1632:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1633:.\Generated_Source\PSoC4/CyLib.c **** * None
1634:.\Generated_Source\PSoC4/CyLib.c **** *
1635:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1636:.\Generated_Source\PSoC4/CyLib.c **** * Counter reset value.
1637:.\Generated_Source\PSoC4/CyLib.c **** *
1638:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1639:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysTickGetReload(void)
1640:.\Generated_Source\PSoC4/CyLib.c **** {
2134 .loc 1 1640 0
2135 .cfi_startproc
2136 0000 80B5 push {r7, lr}
2137 .cfi_def_cfa_offset 8
2138 .cfi_offset 7, -8
2139 .cfi_offset 14, -4
2140 0002 00AF add r7, sp, #0
2141 .cfi_def_cfa_register 7
1641:.\Generated_Source\PSoC4/CyLib.c **** return(CY_SYS_SYST_RVR_REG & CY_SYS_SYST_RVR_CNT_MASK);
2142 .loc 1 1641 0
2143 0004 034B ldr r3, .L141
2144 0006 1B68 ldr r3, [r3]
2145 0008 1B02 lsl r3, r3, #8
2146 000a 1B0A lsr r3, r3, #8
1642:.\Generated_Source\PSoC4/CyLib.c **** }
2147 .loc 1 1642 0
2148 000c 181C mov r0, r3
2149 000e BD46 mov sp, r7
2150 @ sp needed
2151 0010 80BD pop {r7, pc}
2152 .L142:
2153 0012 C046 .align 2
2154 .L141:
2155 0014 14E000E0 .word -536813548
2156 .cfi_endproc
2157 .LFE41:
2158 .size CySysTickGetReload, .-CySysTickGetReload
2159 .section .text.CySysTickGetValue,"ax",%progbits
2160 .align 2
2161 .global CySysTickGetValue
2162 .code 16
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 68


2163 .thumb_func
2164 .type CySysTickGetValue, %function
2165 CySysTickGetValue:
2166 .LFB42:
1643:.\Generated_Source\PSoC4/CyLib.c ****
1644:.\Generated_Source\PSoC4/CyLib.c ****
1645:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1646:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickGetValue
1647:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1648:.\Generated_Source\PSoC4/CyLib.c **** *
1649:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1650:.\Generated_Source\PSoC4/CyLib.c **** * Gets current SysTick counter value.
1651:.\Generated_Source\PSoC4/CyLib.c **** *
1652:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1653:.\Generated_Source\PSoC4/CyLib.c **** * None
1654:.\Generated_Source\PSoC4/CyLib.c **** *
1655:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1656:.\Generated_Source\PSoC4/CyLib.c **** * Current SysTick counter value
1657:.\Generated_Source\PSoC4/CyLib.c **** *
1658:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1659:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysTickGetValue(void)
1660:.\Generated_Source\PSoC4/CyLib.c **** {
2167 .loc 1 1660 0
2168 .cfi_startproc
2169 0000 80B5 push {r7, lr}
2170 .cfi_def_cfa_offset 8
2171 .cfi_offset 7, -8
2172 .cfi_offset 14, -4
2173 0002 00AF add r7, sp, #0
2174 .cfi_def_cfa_register 7
1661:.\Generated_Source\PSoC4/CyLib.c **** return(CY_SYS_SYST_CVR_REG & CY_SYS_SYST_CVR_CNT_MASK);
2175 .loc 1 1661 0
2176 0004 034B ldr r3, .L145
2177 0006 1B68 ldr r3, [r3]
2178 0008 1B02 lsl r3, r3, #8
2179 000a 1B0A lsr r3, r3, #8
1662:.\Generated_Source\PSoC4/CyLib.c **** }
2180 .loc 1 1662 0
2181 000c 181C mov r0, r3
2182 000e BD46 mov sp, r7
2183 @ sp needed
2184 0010 80BD pop {r7, pc}
2185 .L146:
2186 0012 C046 .align 2
2187 .L145:
2188 0014 18E000E0 .word -536813544
2189 .cfi_endproc
2190 .LFE42:
2191 .size CySysTickGetValue, .-CySysTickGetValue
2192 .section .text.CySysTickSetClockSource,"ax",%progbits
2193 .align 2
2194 .global CySysTickSetClockSource
2195 .code 16
2196 .thumb_func
2197 .type CySysTickSetClockSource, %function
2198 CySysTickSetClockSource:
2199 .LFB43:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 69


1663:.\Generated_Source\PSoC4/CyLib.c ****
1664:.\Generated_Source\PSoC4/CyLib.c ****
1665:.\Generated_Source\PSoC4/CyLib.c **** #if(!CY_PSOC3 && !CY_PSOC4_4000 && !CY_PSOC4_4100 && !CY_PSOC4_4200)
1666:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1667:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickSetClockSource
1668:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1669:.\Generated_Source\PSoC4/CyLib.c **** *
1670:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1671:.\Generated_Source\PSoC4/CyLib.c **** * Sets the clock source for the SysTick counter.
1672:.\Generated_Source\PSoC4/CyLib.c **** *
1673:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1674:.\Generated_Source\PSoC4/CyLib.c **** * clockSource: Clock source for SysTick counter
1675:.\Generated_Source\PSoC4/CyLib.c **** * Define Clock Source
1676:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_SYST_CSR_CLK_SRC_SYSCLK SysTick is clocked by CPU clock.
1677:.\Generated_Source\PSoC4/CyLib.c **** * CY_SYS_SYST_CSR_CLK_SRC_LFCLK SysTick is clocked by the low frequency
1678:.\Generated_Source\PSoC4/CyLib.c **** * clock. (ILO 100 KHz for PSoC 5LP, and
1679:.\Generated_Source\PSoC4/CyLib.c **** * LFCLK for PSoC 4).
1680:.\Generated_Source\PSoC4/CyLib.c **** *
1681:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1682:.\Generated_Source\PSoC4/CyLib.c **** * None
1683:.\Generated_Source\PSoC4/CyLib.c **** *
1684:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1685:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set. If clock source is not ready this
1686:.\Generated_Source\PSoC4/CyLib.c **** * function call will have no effect. After changing clock source to the low
1687:.\Generated_Source\PSoC4/CyLib.c **** * frequency clock the counter and reload register values will remain unchanged
1688:.\Generated_Source\PSoC4/CyLib.c **** * so time to the interrupt will be significantly bigger and vice versa.
1689:.\Generated_Source\PSoC4/CyLib.c **** *
1690:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1691:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickSetClockSource(uint32 clockSource)
1692:.\Generated_Source\PSoC4/CyLib.c **** {
2200 .loc 1 1692 0
2201 .cfi_startproc
2202 0000 80B5 push {r7, lr}
2203 .cfi_def_cfa_offset 8
2204 .cfi_offset 7, -8
2205 .cfi_offset 14, -4
2206 0002 82B0 sub sp, sp, #8
2207 .cfi_def_cfa_offset 16
2208 0004 00AF add r7, sp, #0
2209 .cfi_def_cfa_register 7
2210 0006 7860 str r0, [r7, #4]
1693:.\Generated_Source\PSoC4/CyLib.c **** if (clockSource == CY_SYS_SYST_CSR_CLK_SRC_SYSCLK)
2211 .loc 1 1693 0
2212 0008 7B68 ldr r3, [r7, #4]
2213 000a 012B cmp r3, #1
2214 000c 06D1 bne .L148
1694:.\Generated_Source\PSoC4/CyLib.c **** {
1695:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG |= (uint32)(CY_SYS_SYST_CSR_CLK_SRC_SYSCLK << CY_SYS_SYST_CSR_CLK_S
2215 .loc 1 1695 0
2216 000e 084B ldr r3, .L150
2217 0010 074A ldr r2, .L150
2218 0012 1268 ldr r2, [r2]
2219 0014 0421 mov r1, #4
2220 0016 0A43 orr r2, r1
2221 0018 1A60 str r2, [r3]
2222 001a 05E0 b .L147
2223 .L148:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 70


1696:.\Generated_Source\PSoC4/CyLib.c **** }
1697:.\Generated_Source\PSoC4/CyLib.c **** else
1698:.\Generated_Source\PSoC4/CyLib.c **** {
1699:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CSR_REG &= ((uint32) ~((uint32)(CY_SYS_SYST_CSR_CLK_SRC_SYSCLK << CY_SYS_SY
2224 .loc 1 1699 0
2225 001c 044B ldr r3, .L150
2226 001e 044A ldr r2, .L150
2227 0020 1268 ldr r2, [r2]
2228 0022 0421 mov r1, #4
2229 0024 8A43 bic r2, r1
2230 0026 1A60 str r2, [r3]
2231 .L147:
1700:.\Generated_Source\PSoC4/CyLib.c **** }
1701:.\Generated_Source\PSoC4/CyLib.c **** }
2232 .loc 1 1701 0
2233 0028 BD46 mov sp, r7
2234 002a 02B0 add sp, sp, #8
2235 @ sp needed
2236 002c 80BD pop {r7, pc}
2237 .L151:
2238 002e C046 .align 2
2239 .L150:
2240 0030 10E000E0 .word -536813552
2241 .cfi_endproc
2242 .LFE43:
2243 .size CySysTickSetClockSource, .-CySysTickSetClockSource
2244 .section .text.CySysTickGetCountFlag,"ax",%progbits
2245 .align 2
2246 .global CySysTickGetCountFlag
2247 .code 16
2248 .thumb_func
2249 .type CySysTickGetCountFlag, %function
2250 CySysTickGetCountFlag:
2251 .LFB44:
1702:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (!CY_PSOC3 && !CY_PSOC4_4000 && !CY_PSOC4_4100 && !CY_PSOC4_4200) */
1703:.\Generated_Source\PSoC4/CyLib.c ****
1704:.\Generated_Source\PSoC4/CyLib.c ****
1705:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1706:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickGetCountFlag
1707:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1708:.\Generated_Source\PSoC4/CyLib.c **** *
1709:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1710:.\Generated_Source\PSoC4/CyLib.c **** * The count flag is set once SysTick counter reaches zero.
1711:.\Generated_Source\PSoC4/CyLib.c **** * The flag cleared on read.
1712:.\Generated_Source\PSoC4/CyLib.c **** *
1713:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1714:.\Generated_Source\PSoC4/CyLib.c **** * None
1715:.\Generated_Source\PSoC4/CyLib.c **** *
1716:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1717:.\Generated_Source\PSoC4/CyLib.c **** * Returns non-zero value if flag is set, otherwise zero is returned.
1718:.\Generated_Source\PSoC4/CyLib.c **** *
1719:.\Generated_Source\PSoC4/CyLib.c **** *
1720:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1721:.\Generated_Source\PSoC4/CyLib.c **** * Clears SysTick count flag if it was set.
1722:.\Generated_Source\PSoC4/CyLib.c **** *
1723:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1724:.\Generated_Source\PSoC4/CyLib.c **** uint32 CySysTickGetCountFlag(void)
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 71


1725:.\Generated_Source\PSoC4/CyLib.c **** {
2252 .loc 1 1725 0
2253 .cfi_startproc
2254 0000 80B5 push {r7, lr}
2255 .cfi_def_cfa_offset 8
2256 .cfi_offset 7, -8
2257 .cfi_offset 14, -4
2258 0002 00AF add r7, sp, #0
2259 .cfi_def_cfa_register 7
1726:.\Generated_Source\PSoC4/CyLib.c **** return ((CY_SYS_SYST_CSR_REG>>CY_SYS_SYST_CSR_COUNTFLAG_SHIFT) & 0x01u);
2260 .loc 1 1726 0
2261 0004 034B ldr r3, .L154
2262 0006 1B68 ldr r3, [r3]
2263 0008 1A0C lsr r2, r3, #16
2264 000a 0123 mov r3, #1
2265 000c 1340 and r3, r2
1727:.\Generated_Source\PSoC4/CyLib.c **** }
2266 .loc 1 1727 0
2267 000e 181C mov r0, r3
2268 0010 BD46 mov sp, r7
2269 @ sp needed
2270 0012 80BD pop {r7, pc}
2271 .L155:
2272 .align 2
2273 .L154:
2274 0014 10E000E0 .word -536813552
2275 .cfi_endproc
2276 .LFE44:
2277 .size CySysTickGetCountFlag, .-CySysTickGetCountFlag
2278 .section .text.CySysTickClear,"ax",%progbits
2279 .align 2
2280 .global CySysTickClear
2281 .code 16
2282 .thumb_func
2283 .type CySysTickClear, %function
2284 CySysTickClear:
2285 .LFB45:
1728:.\Generated_Source\PSoC4/CyLib.c ****
1729:.\Generated_Source\PSoC4/CyLib.c ****
1730:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1731:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickClear
1732:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1733:.\Generated_Source\PSoC4/CyLib.c **** *
1734:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1735:.\Generated_Source\PSoC4/CyLib.c **** * Clears the SysTick counter for well-defined startup.
1736:.\Generated_Source\PSoC4/CyLib.c **** *
1737:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1738:.\Generated_Source\PSoC4/CyLib.c **** * None
1739:.\Generated_Source\PSoC4/CyLib.c **** *
1740:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1741:.\Generated_Source\PSoC4/CyLib.c **** * None
1742:.\Generated_Source\PSoC4/CyLib.c **** *
1743:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1744:.\Generated_Source\PSoC4/CyLib.c **** void CySysTickClear(void)
1745:.\Generated_Source\PSoC4/CyLib.c **** {
2286 .loc 1 1745 0
2287 .cfi_startproc
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 72


2288 0000 80B5 push {r7, lr}
2289 .cfi_def_cfa_offset 8
2290 .cfi_offset 7, -8
2291 .cfi_offset 14, -4
2292 0002 00AF add r7, sp, #0
2293 .cfi_def_cfa_register 7
1746:.\Generated_Source\PSoC4/CyLib.c **** CY_SYS_SYST_CVR_REG = 0u;
2294 .loc 1 1746 0
2295 0004 024B ldr r3, .L157
2296 0006 0022 mov r2, #0
2297 0008 1A60 str r2, [r3]
1747:.\Generated_Source\PSoC4/CyLib.c **** }
2298 .loc 1 1747 0
2299 000a BD46 mov sp, r7
2300 @ sp needed
2301 000c 80BD pop {r7, pc}
2302 .L158:
2303 000e C046 .align 2
2304 .L157:
2305 0010 18E000E0 .word -536813544
2306 .cfi_endproc
2307 .LFE45:
2308 .size CySysTickClear, .-CySysTickClear
2309 .section .text.CySysTickSetCallback,"ax",%progbits
2310 .align 2
2311 .global CySysTickSetCallback
2312 .code 16
2313 .thumb_func
2314 .type CySysTickSetCallback, %function
2315 CySysTickSetCallback:
2316 .LFB46:
1748:.\Generated_Source\PSoC4/CyLib.c ****
1749:.\Generated_Source\PSoC4/CyLib.c ****
1750:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1751:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickSetCallback
1752:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1753:.\Generated_Source\PSoC4/CyLib.c **** *
1754:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1755:.\Generated_Source\PSoC4/CyLib.c **** * This function allows up to five user-defined interrupt service routine
1756:.\Generated_Source\PSoC4/CyLib.c **** * functions to be associated with the SysTick interrupt. These are specified
1757:.\Generated_Source\PSoC4/CyLib.c **** * through the use of pointers to the function.
1758:.\Generated_Source\PSoC4/CyLib.c **** *
1759:.\Generated_Source\PSoC4/CyLib.c **** * To set a custom callback function without the overhead of the system provided
1760:.\Generated_Source\PSoC4/CyLib.c **** * one, use CyIntSetSysVector(CY_INT_SYSTICK_IRQN, cyisraddress <address>),
1761:.\Generated_Source\PSoC4/CyLib.c **** * where <address> is address of the custom defined interrupt service routine.
1762:.\Generated_Source\PSoC4/CyLib.c **** * Note: a custom callback function overrides the system defined callback
1763:.\Generated_Source\PSoC4/CyLib.c **** * functions.
1764:.\Generated_Source\PSoC4/CyLib.c **** *
1765:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1766:.\Generated_Source\PSoC4/CyLib.c **** * number: The number of the callback function addresses to be set. The valid
1767:.\Generated_Source\PSoC4/CyLib.c **** * range is from 0 to 4.
1768:.\Generated_Source\PSoC4/CyLib.c **** *
1769:.\Generated_Source\PSoC4/CyLib.c **** * void(*CallbackFunction(void): A pointer to the function that will be
1770:.\Generated_Source\PSoC4/CyLib.c **** * associated with the SysTick ISR for the
1771:.\Generated_Source\PSoC4/CyLib.c **** * specified number.
1772:.\Generated_Source\PSoC4/CyLib.c **** *
1773:.\Generated_Source\PSoC4/CyLib.c **** * Return:
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 73


1774:.\Generated_Source\PSoC4/CyLib.c **** * Returns the address of the previous callback function.
1775:.\Generated_Source\PSoC4/CyLib.c **** * The NULL is returned if the specified address in not set.
1776:.\Generated_Source\PSoC4/CyLib.c **** *
1777:.\Generated_Source\PSoC4/CyLib.c **** * Side Effects:
1778:.\Generated_Source\PSoC4/CyLib.c **** * The registered callback functions will be executed in the interrupt.
1779:.\Generated_Source\PSoC4/CyLib.c **** *
1780:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1781:.\Generated_Source\PSoC4/CyLib.c **** cySysTickCallback CySysTickSetCallback(uint32 number, cySysTickCallback function)
1782:.\Generated_Source\PSoC4/CyLib.c **** {
2317 .loc 1 1782 0
2318 .cfi_startproc
2319 0000 80B5 push {r7, lr}
2320 .cfi_def_cfa_offset 8
2321 .cfi_offset 7, -8
2322 .cfi_offset 14, -4
2323 0002 84B0 sub sp, sp, #16
2324 .cfi_def_cfa_offset 24
2325 0004 00AF add r7, sp, #0
2326 .cfi_def_cfa_register 7
2327 0006 7860 str r0, [r7, #4]
2328 0008 3960 str r1, [r7]
1783:.\Generated_Source\PSoC4/CyLib.c **** cySysTickCallback retVal;
1784:.\Generated_Source\PSoC4/CyLib.c ****
1785:.\Generated_Source\PSoC4/CyLib.c **** retVal = CySysTickCallbacks[number];
2329 .loc 1 1785 0
2330 000a 074B ldr r3, .L161
2331 000c 7A68 ldr r2, [r7, #4]
2332 000e 9200 lsl r2, r2, #2
2333 0010 D358 ldr r3, [r2, r3]
2334 0012 FB60 str r3, [r7, #12]
1786:.\Generated_Source\PSoC4/CyLib.c **** CySysTickCallbacks[number] = function;
2335 .loc 1 1786 0
2336 0014 044B ldr r3, .L161
2337 0016 7A68 ldr r2, [r7, #4]
2338 0018 9200 lsl r2, r2, #2
2339 001a 3968 ldr r1, [r7]
2340 001c D150 str r1, [r2, r3]
1787:.\Generated_Source\PSoC4/CyLib.c **** return (retVal);
2341 .loc 1 1787 0
2342 001e FB68 ldr r3, [r7, #12]
1788:.\Generated_Source\PSoC4/CyLib.c **** }
2343 .loc 1 1788 0
2344 0020 181C mov r0, r3
2345 0022 BD46 mov sp, r7
2346 0024 04B0 add sp, sp, #16
2347 @ sp needed
2348 0026 80BD pop {r7, pc}
2349 .L162:
2350 .align 2
2351 .L161:
2352 0028 00000000 .word CySysTickCallbacks
2353 .cfi_endproc
2354 .LFE46:
2355 .size CySysTickSetCallback, .-CySysTickSetCallback
2356 .section .text.CySysTickGetCallback,"ax",%progbits
2357 .align 2
2358 .global CySysTickGetCallback
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 74


2359 .code 16
2360 .thumb_func
2361 .type CySysTickGetCallback, %function
2362 CySysTickGetCallback:
2363 .LFB47:
1789:.\Generated_Source\PSoC4/CyLib.c ****
1790:.\Generated_Source\PSoC4/CyLib.c ****
1791:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1792:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickGetCallback
1793:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1794:.\Generated_Source\PSoC4/CyLib.c **** *
1795:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1796:.\Generated_Source\PSoC4/CyLib.c **** * The function get the specified callback pointer.
1797:.\Generated_Source\PSoC4/CyLib.c **** *
1798:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1799:.\Generated_Source\PSoC4/CyLib.c **** * number: The number of callback function address to get. The valid
1800:.\Generated_Source\PSoC4/CyLib.c **** * range is from 0 to 4.
1801:.\Generated_Source\PSoC4/CyLib.c **** *
1802:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1803:.\Generated_Source\PSoC4/CyLib.c **** * Returns the address of the specified callback function.
1804:.\Generated_Source\PSoC4/CyLib.c **** * The NULL is returned if the specified address in not initialized.
1805:.\Generated_Source\PSoC4/CyLib.c **** *
1806:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1807:.\Generated_Source\PSoC4/CyLib.c **** cySysTickCallback CySysTickGetCallback(uint32 number)
1808:.\Generated_Source\PSoC4/CyLib.c **** {
2364 .loc 1 1808 0
2365 .cfi_startproc
2366 0000 80B5 push {r7, lr}
2367 .cfi_def_cfa_offset 8
2368 .cfi_offset 7, -8
2369 .cfi_offset 14, -4
2370 0002 82B0 sub sp, sp, #8
2371 .cfi_def_cfa_offset 16
2372 0004 00AF add r7, sp, #0
2373 .cfi_def_cfa_register 7
2374 0006 7860 str r0, [r7, #4]
1809:.\Generated_Source\PSoC4/CyLib.c **** return ((cySysTickCallback) CySysTickCallbacks[number]);
2375 .loc 1 1809 0
2376 0008 034B ldr r3, .L165
2377 000a 7A68 ldr r2, [r7, #4]
2378 000c 9200 lsl r2, r2, #2
2379 000e D358 ldr r3, [r2, r3]
1810:.\Generated_Source\PSoC4/CyLib.c **** }
2380 .loc 1 1810 0
2381 0010 181C mov r0, r3
2382 0012 BD46 mov sp, r7
2383 0014 02B0 add sp, sp, #8
2384 @ sp needed
2385 0016 80BD pop {r7, pc}
2386 .L166:
2387 .align 2
2388 .L165:
2389 0018 00000000 .word CySysTickCallbacks
2390 .cfi_endproc
2391 .LFE47:
2392 .size CySysTickGetCallback, .-CySysTickGetCallback
2393 .section .text.CySysTickServiceCallbacks,"ax",%progbits
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 75


2394 .align 2
2395 .code 16
2396 .thumb_func
2397 .type CySysTickServiceCallbacks, %function
2398 CySysTickServiceCallbacks:
2399 .LFB48:
1811:.\Generated_Source\PSoC4/CyLib.c ****
1812:.\Generated_Source\PSoC4/CyLib.c ****
1813:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1814:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CySysTickServiceCallbacks
1815:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1816:.\Generated_Source\PSoC4/CyLib.c **** *
1817:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1818:.\Generated_Source\PSoC4/CyLib.c **** * System Tick timer interrupt routine
1819:.\Generated_Source\PSoC4/CyLib.c **** *
1820:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1821:.\Generated_Source\PSoC4/CyLib.c **** * None
1822:.\Generated_Source\PSoC4/CyLib.c **** *
1823:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1824:.\Generated_Source\PSoC4/CyLib.c **** * None
1825:.\Generated_Source\PSoC4/CyLib.c **** *
1826:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1827:.\Generated_Source\PSoC4/CyLib.c **** static void CySysTickServiceCallbacks(void)
1828:.\Generated_Source\PSoC4/CyLib.c **** {
2400 .loc 1 1828 0
2401 .cfi_startproc
2402 0000 80B5 push {r7, lr}
2403 .cfi_def_cfa_offset 8
2404 .cfi_offset 7, -8
2405 .cfi_offset 14, -4
2406 0002 82B0 sub sp, sp, #8
2407 .cfi_def_cfa_offset 16
2408 0004 00AF add r7, sp, #0
2409 .cfi_def_cfa_register 7
1829:.\Generated_Source\PSoC4/CyLib.c **** uint32 i;
1830:.\Generated_Source\PSoC4/CyLib.c ****
1831:.\Generated_Source\PSoC4/CyLib.c **** /* Verify that tick timer flag was set */
1832:.\Generated_Source\PSoC4/CyLib.c **** if (1u == CySysTickGetCountFlag())
2410 .loc 1 1832 0
2411 0006 FFF7FEFF bl CySysTickGetCountFlag
2412 000a 031C mov r3, r0
2413 000c 012B cmp r3, #1
2414 000e 13D1 bne .L167
1833:.\Generated_Source\PSoC4/CyLib.c **** {
1834:.\Generated_Source\PSoC4/CyLib.c **** for (i=0u; i < CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
2415 .loc 1 1834 0
2416 0010 0023 mov r3, #0
2417 0012 7B60 str r3, [r7, #4]
2418 0014 0DE0 b .L169
2419 .L171:
1835:.\Generated_Source\PSoC4/CyLib.c **** {
1836:.\Generated_Source\PSoC4/CyLib.c **** if (CySysTickCallbacks[i] != (void *) 0)
2420 .loc 1 1836 0
2421 0016 0A4B ldr r3, .L172
2422 0018 7A68 ldr r2, [r7, #4]
2423 001a 9200 lsl r2, r2, #2
2424 001c D358 ldr r3, [r2, r3]
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 76


2425 001e 002B cmp r3, #0
2426 0020 04D0 beq .L170
1837:.\Generated_Source\PSoC4/CyLib.c **** {
1838:.\Generated_Source\PSoC4/CyLib.c **** (void)(CySysTickCallbacks[i])();
2427 .loc 1 1838 0
2428 0022 074B ldr r3, .L172
2429 0024 7A68 ldr r2, [r7, #4]
2430 0026 9200 lsl r2, r2, #2
2431 0028 D358 ldr r3, [r2, r3]
2432 002a 9847 blx r3
2433 .L170:
1834:.\Generated_Source\PSoC4/CyLib.c **** for (i=0u; i < CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
2434 .loc 1 1834 0
2435 002c 7B68 ldr r3, [r7, #4]
2436 002e 0133 add r3, r3, #1
2437 0030 7B60 str r3, [r7, #4]
2438 .L169:
1834:.\Generated_Source\PSoC4/CyLib.c **** for (i=0u; i < CY_SYS_SYST_NUM_OF_CALLBACKS; i++)
2439 .loc 1 1834 0 is_stmt 0 discriminator 1
2440 0032 7B68 ldr r3, [r7, #4]
2441 0034 042B cmp r3, #4
2442 0036 EED9 bls .L171
2443 .L167:
1839:.\Generated_Source\PSoC4/CyLib.c **** }
1840:.\Generated_Source\PSoC4/CyLib.c **** }
1841:.\Generated_Source\PSoC4/CyLib.c **** }
1842:.\Generated_Source\PSoC4/CyLib.c **** }
2444 .loc 1 1842 0 is_stmt 1
2445 0038 BD46 mov sp, r7
2446 003a 02B0 add sp, sp, #8
2447 @ sp needed
2448 003c 80BD pop {r7, pc}
2449 .L173:
2450 003e C046 .align 2
2451 .L172:
2452 0040 00000000 .word CySysTickCallbacks
2453 .cfi_endproc
2454 .LFE48:
2455 .size CySysTickServiceCallbacks, .-CySysTickServiceCallbacks
2456 .section .text.CyGetUniqueId,"ax",%progbits
2457 .align 2
2458 .global CyGetUniqueId
2459 .code 16
2460 .thumb_func
2461 .type CyGetUniqueId, %function
2462 CyGetUniqueId:
2463 .LFB49:
1843:.\Generated_Source\PSoC4/CyLib.c ****
1844:.\Generated_Source\PSoC4/CyLib.c ****
1845:.\Generated_Source\PSoC4/CyLib.c **** /*******************************************************************************
1846:.\Generated_Source\PSoC4/CyLib.c **** * Function Name: CyGetUniqueId
1847:.\Generated_Source\PSoC4/CyLib.c **** ********************************************************************************
1848:.\Generated_Source\PSoC4/CyLib.c **** *
1849:.\Generated_Source\PSoC4/CyLib.c **** * Summary:
1850:.\Generated_Source\PSoC4/CyLib.c **** * Returns the 64-bit unique ID of the device. The uniqueness of the number is
1851:.\Generated_Source\PSoC4/CyLib.c **** * guaranteed for 10 years due to the die lot number having a cycle life of 10
1852:.\Generated_Source\PSoC4/CyLib.c **** * years and even after 10 years, the probability of getting two identical
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 77


1853:.\Generated_Source\PSoC4/CyLib.c **** * numbers is very small.
1854:.\Generated_Source\PSoC4/CyLib.c **** *
1855:.\Generated_Source\PSoC4/CyLib.c **** * Parameters:
1856:.\Generated_Source\PSoC4/CyLib.c **** * uniqueId: The pointer to a two element 32-bit unsigned integer array. Returns
1857:.\Generated_Source\PSoC4/CyLib.c **** * the 64-bit unique ID of the device by loading them into the integer array
1858:.\Generated_Source\PSoC4/CyLib.c **** * pointed to by uniqueId.
1859:.\Generated_Source\PSoC4/CyLib.c **** *
1860:.\Generated_Source\PSoC4/CyLib.c **** * Return:
1861:.\Generated_Source\PSoC4/CyLib.c **** * None
1862:.\Generated_Source\PSoC4/CyLib.c **** *
1863:.\Generated_Source\PSoC4/CyLib.c **** *******************************************************************************/
1864:.\Generated_Source\PSoC4/CyLib.c **** void CyGetUniqueId(uint32* uniqueId)
1865:.\Generated_Source\PSoC4/CyLib.c **** {
2464 .loc 1 1865 0
2465 .cfi_startproc
2466 0000 80B5 push {r7, lr}
2467 .cfi_def_cfa_offset 8
2468 .cfi_offset 7, -8
2469 .cfi_offset 14, -4
2470 0002 82B0 sub sp, sp, #8
2471 .cfi_def_cfa_offset 16
2472 0004 00AF add r7, sp, #0
2473 .cfi_def_cfa_register 7
2474 0006 7860 str r0, [r7, #4]
1866:.\Generated_Source\PSoC4/CyLib.c **** #if(CY_PSOC4)
1867:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] = (uint32)(* (reg8 *) CYREG_SFLASH_DIE_LOT0 );
2475 .loc 1 1867 0
2476 0008 254B ldr r3, .L175
2477 000a 1B78 ldrb r3, [r3]
2478 000c DBB2 uxtb r3, r3
2479 000e 1A1C mov r2, r3
2480 0010 7B68 ldr r3, [r7, #4]
2481 0012 1A60 str r2, [r3]
1868:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_LOT1 ) << 8u);
2482 .loc 1 1868 0
2483 0014 7B68 ldr r3, [r7, #4]
2484 0016 1A68 ldr r2, [r3]
2485 0018 224B ldr r3, .L175+4
2486 001a 1B78 ldrb r3, [r3]
2487 001c DBB2 uxtb r3, r3
2488 001e 1B02 lsl r3, r3, #8
2489 0020 1A43 orr r2, r3
2490 0022 7B68 ldr r3, [r7, #4]
2491 0024 1A60 str r2, [r3]
1869:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_LOT2 ) << 16u);
2492 .loc 1 1869 0
2493 0026 7B68 ldr r3, [r7, #4]
2494 0028 1A68 ldr r2, [r3]
2495 002a 1F4B ldr r3, .L175+8
2496 002c 1B78 ldrb r3, [r3]
2497 002e DBB2 uxtb r3, r3
2498 0030 1B04 lsl r3, r3, #16
2499 0032 1A43 orr r2, r3
2500 0034 7B68 ldr r3, [r7, #4]
2501 0036 1A60 str r2, [r3]
1870:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_WAFER ) << 24u);
2502 .loc 1 1870 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 78


2503 0038 7B68 ldr r3, [r7, #4]
2504 003a 1A68 ldr r2, [r3]
2505 003c 1B4B ldr r3, .L175+12
2506 003e 1B78 ldrb r3, [r3]
2507 0040 DBB2 uxtb r3, r3
2508 0042 1B06 lsl r3, r3, #24
2509 0044 1A43 orr r2, r3
2510 0046 7B68 ldr r3, [r7, #4]
2511 0048 1A60 str r2, [r3]
1871:.\Generated_Source\PSoC4/CyLib.c ****
1872:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] = (uint32)(* (reg8 *) CYREG_SFLASH_DIE_X );
2512 .loc 1 1872 0
2513 004a 7B68 ldr r3, [r7, #4]
2514 004c 0433 add r3, r3, #4
2515 004e 184A ldr r2, .L175+16
2516 0050 1278 ldrb r2, [r2]
2517 0052 D2B2 uxtb r2, r2
2518 0054 1A60 str r2, [r3]
1873:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_Y ) << 8u);
2519 .loc 1 1873 0
2520 0056 7B68 ldr r3, [r7, #4]
2521 0058 0433 add r3, r3, #4
2522 005a 7A68 ldr r2, [r7, #4]
2523 005c 0432 add r2, r2, #4
2524 005e 1168 ldr r1, [r2]
2525 0060 144A ldr r2, .L175+20
2526 0062 1278 ldrb r2, [r2]
2527 0064 D2B2 uxtb r2, r2
2528 0066 1202 lsl r2, r2, #8
2529 0068 0A43 orr r2, r1
2530 006a 1A60 str r2, [r3]
1874:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_SORT ) << 16u);
2531 .loc 1 1874 0
2532 006c 7B68 ldr r3, [r7, #4]
2533 006e 0433 add r3, r3, #4
2534 0070 7A68 ldr r2, [r7, #4]
2535 0072 0432 add r2, r2, #4
2536 0074 1168 ldr r1, [r2]
2537 0076 104A ldr r2, .L175+24
2538 0078 1278 ldrb r2, [r2]
2539 007a D2B2 uxtb r2, r2
2540 007c 1204 lsl r2, r2, #16
2541 007e 0A43 orr r2, r1
2542 0080 1A60 str r2, [r3]
1875:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32)(* (reg8 *) CYREG_SFLASH_DIE_MINOR ) << 24u);
2543 .loc 1 1875 0
2544 0082 7B68 ldr r3, [r7, #4]
2545 0084 0433 add r3, r3, #4
2546 0086 7A68 ldr r2, [r7, #4]
2547 0088 0432 add r2, r2, #4
2548 008a 1168 ldr r1, [r2]
2549 008c 0B4A ldr r2, .L175+28
2550 008e 1278 ldrb r2, [r2]
2551 0090 D2B2 uxtb r2, r2
2552 0092 1206 lsl r2, r2, #24
2553 0094 0A43 orr r2, r1
2554 0096 1A60 str r2, [r3]
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 79


1876:.\Generated_Source\PSoC4/CyLib.c **** #else
1877:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] = (uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_LOT_LSB )
1878:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_LOT_MSB )
1879:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_MLOGIC_REV_ID )
1880:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[0u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_WAFER_NUM )
1881:.\Generated_Source\PSoC4/CyLib.c ****
1882:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] = (uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_X_LOC )
1883:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_Y_LOC )
1884:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_WRK_WK )
1885:.\Generated_Source\PSoC4/CyLib.c **** uniqueId[1u] |= ((uint32) CY_GET_XTND_REG8((void CYFAR *) (CYREG_FLSHID_CUST_TABLES_FAB_YR )
1886:.\Generated_Source\PSoC4/CyLib.c **** #endif /* (CY_PSOC4) */
1887:.\Generated_Source\PSoC4/CyLib.c **** }
2555 .loc 1 1887 0
2556 0098 BD46 mov sp, r7
2557 009a 02B0 add sp, sp, #8
2558 @ sp needed
2559 009c 80BD pop {r7, pc}
2560 .L176:
2561 009e C046 .align 2
2562 .L175:
2563 00a0 78F1FF0F .word 268431736
2564 00a4 79F1FF0F .word 268431737
2565 00a8 7AF1FF0F .word 268431738
2566 00ac 7BF1FF0F .word 268431739
2567 00b0 7CF1FF0F .word 268431740
2568 00b4 7DF1FF0F .word 268431741
2569 00b8 7EF1FF0F .word 268431742
2570 00bc 7FF1FF0F .word 268431743
2571 .cfi_endproc
2572 .LFE49:
2573 .size CyGetUniqueId, .-CyGetUniqueId
2574 .text
2575 .Letext0:
2576 .file 2 ".\\Generated_Source\\PSoC4\\cytypes.h"
2577 .file 3 ".\\Generated_Source\\PSoC4\\CyLib.h"
2578 .section .debug_info,"",%progbits
2579 .Ldebug_info0:
2580 0000 22090000 .4byte 0x922
2581 0004 0400 .2byte 0x4
2582 0006 00000000 .4byte .Ldebug_abbrev0
2583 000a 04 .byte 0x4
2584 000b 01 .uleb128 0x1
2585 000c 10040000 .4byte .LASF100
2586 0010 01 .byte 0x1
2587 0011 1E030000 .4byte .LASF101
2588 0015 46010000 .4byte .LASF102
2589 0019 00000000 .4byte .Ldebug_ranges0+0
2590 001d 00000000 .4byte 0
2591 0021 00000000 .4byte .Ldebug_line0
2592 0025 02 .uleb128 0x2
2593 0026 01 .byte 0x1
2594 0027 06 .byte 0x6
2595 0028 C1000000 .4byte .LASF0
2596 002c 02 .uleb128 0x2
2597 002d 01 .byte 0x1
2598 002e 08 .byte 0x8
2599 002f D0040000 .4byte .LASF1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 80


2600 0033 02 .uleb128 0x2
2601 0034 02 .byte 0x2
2602 0035 05 .byte 0x5
2603 0036 DE040000 .4byte .LASF2
2604 003a 02 .uleb128 0x2
2605 003b 02 .byte 0x2
2606 003c 07 .byte 0x7
2607 003d E4020000 .4byte .LASF3
2608 0041 02 .uleb128 0x2
2609 0042 04 .byte 0x4
2610 0043 05 .byte 0x5
2611 0044 00010000 .4byte .LASF4
2612 0048 02 .uleb128 0x2
2613 0049 04 .byte 0x4
2614 004a 07 .byte 0x7
2615 004b 6E020000 .4byte .LASF5
2616 004f 02 .uleb128 0x2
2617 0050 08 .byte 0x8
2618 0051 05 .byte 0x5
2619 0052 B3000000 .4byte .LASF6
2620 0056 02 .uleb128 0x2
2621 0057 08 .byte 0x8
2622 0058 07 .byte 0x7
2623 0059 4D000000 .4byte .LASF7
2624 005d 03 .uleb128 0x3
2625 005e 04 .byte 0x4
2626 005f 05 .byte 0x5
2627 0060 696E7400 .ascii "int\000"
2628 0064 02 .uleb128 0x2
2629 0065 04 .byte 0x4
2630 0066 07 .byte 0x7
2631 0067 52020000 .4byte .LASF8
2632 006b 04 .uleb128 0x4
2633 006c 20010000 .4byte .LASF9
2634 0070 02 .byte 0x2
2635 0071 B3 .byte 0xb3
2636 0072 2C000000 .4byte 0x2c
2637 0076 04 .uleb128 0x4
2638 0077 0F000000 .4byte .LASF10
2639 007b 02 .byte 0x2
2640 007c B4 .byte 0xb4
2641 007d 3A000000 .4byte 0x3a
2642 0081 04 .uleb128 0x4
2643 0082 B8010000 .4byte .LASF11
2644 0086 02 .byte 0x2
2645 0087 B5 .byte 0xb5
2646 0088 48000000 .4byte 0x48
2647 008c 02 .uleb128 0x2
2648 008d 04 .byte 0x4
2649 008e 04 .byte 0x4
2650 008f 0A040000 .4byte .LASF12
2651 0093 02 .uleb128 0x2
2652 0094 08 .byte 0x8
2653 0095 04 .byte 0x4
2654 0096 3F010000 .4byte .LASF13
2655 009a 02 .uleb128 0x2
2656 009b 01 .byte 0x1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 81


2657 009c 08 .byte 0x8
2658 009d 28050000 .4byte .LASF14
2659 00a1 05 .uleb128 0x5
2660 00a2 09060000 .4byte .LASF15
2661 00a6 02 .byte 0x2
2662 00a7 5501 .2byte 0x155
2663 00a9 48000000 .4byte 0x48
2664 00ad 05 .uleb128 0x5
2665 00ae BA040000 .4byte .LASF16
2666 00b2 02 .byte 0x2
2667 00b3 5D01 .2byte 0x15d
2668 00b5 B9000000 .4byte 0xb9
2669 00b9 06 .uleb128 0x6
2670 00ba 6B000000 .4byte 0x6b
2671 00be 05 .uleb128 0x5
2672 00bf 6F030000 .4byte .LASF17
2673 00c3 02 .byte 0x2
2674 00c4 5F01 .2byte 0x15f
2675 00c6 CA000000 .4byte 0xca
2676 00ca 06 .uleb128 0x6
2677 00cb 81000000 .4byte 0x81
2678 00cf 05 .uleb128 0x5
2679 00d0 2D050000 .4byte .LASF18
2680 00d4 02 .byte 0x2
2681 00d5 6F01 .2byte 0x16f
2682 00d7 DB000000 .4byte 0xdb
2683 00db 07 .uleb128 0x7
2684 00dc 04 .byte 0x4
2685 00dd E1000000 .4byte 0xe1
2686 00e1 08 .uleb128 0x8
2687 00e2 02 .uleb128 0x2
2688 00e3 04 .byte 0x4
2689 00e4 07 .byte 0x7
2690 00e5 84030000 .4byte .LASF19
2691 00e9 04 .uleb128 0x4
2692 00ea 8C040000 .4byte .LASF20
2693 00ee 03 .byte 0x3
2694 00ef 67 .byte 0x67
2695 00f0 DB000000 .4byte 0xdb
2696 00f4 09 .uleb128 0x9
2697 00f5 81000000 .4byte 0x81
2698 00f9 04010000 .4byte 0x104
2699 00fd 0A .uleb128 0xa
2700 00fe E2000000 .4byte 0xe2
2701 0102 03 .byte 0x3
2702 0103 00 .byte 0
2703 0104 0B .uleb128 0xb
2704 0105 27060000 .4byte .LASF21
2705 0109 01 .byte 0x1
2706 010a 5A .byte 0x5a
2707 010b 00000000 .4byte .LFB2
2708 010f 1C000000 .4byte .LFE2-.LFB2
2709 0113 01 .uleb128 0x1
2710 0114 9C .byte 0x9c
2711 0115 0B .uleb128 0xb
2712 0116 9B020000 .4byte .LASF22
2713 011a 01 .byte 0x1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 82


2714 011b 78 .byte 0x78
2715 011c 00000000 .4byte .LFB3
2716 0120 18000000 .4byte .LFE3-.LFB3
2717 0124 01 .uleb128 0x1
2718 0125 9C .byte 0x9c
2719 0126 0C .uleb128 0xc
2720 0127 1F000000 .4byte .LASF23
2721 012b 01 .byte 0x1
2722 012c 1901 .2byte 0x119
2723 012e 00000000 .4byte .LFB4
2724 0132 44000000 .4byte .LFE4-.LFB4
2725 0136 01 .uleb128 0x1
2726 0137 9C .byte 0x9c
2727 0138 5B010000 .4byte 0x15b
2728 013c 0D .uleb128 0xd
2729 013d 06050000 .4byte .LASF25
2730 0141 01 .byte 0x1
2731 0142 1901 .2byte 0x119
2732 0144 81000000 .4byte 0x81
2733 0148 02 .uleb128 0x2
2734 0149 91 .byte 0x91
2735 014a 64 .sleb128 -28
2736 014b 0E .uleb128 0xe
2737 014c DE000000 .4byte .LASF27
2738 0150 01 .byte 0x1
2739 0151 1B01 .2byte 0x11b
2740 0153 6B000000 .4byte 0x6b
2741 0157 02 .uleb128 0x2
2742 0158 91 .byte 0x91
2743 0159 6F .sleb128 -17
2744 015a 00 .byte 0
2745 015b 0C .uleb128 0xc
2746 015c 4A050000 .4byte .LASF24
2747 0160 01 .byte 0x1
2748 0161 4A01 .2byte 0x14a
2749 0163 00000000 .4byte .LFB5
2750 0167 44000000 .4byte .LFE5-.LFB5
2751 016b 01 .uleb128 0x1
2752 016c 9C .byte 0x9c
2753 016d 90010000 .4byte 0x190
2754 0171 0D .uleb128 0xd
2755 0172 ED050000 .4byte .LASF26
2756 0176 01 .byte 0x1
2757 0177 4A01 .2byte 0x14a
2758 0179 81000000 .4byte 0x81
2759 017d 02 .uleb128 0x2
2760 017e 91 .byte 0x91
2761 017f 64 .sleb128 -28
2762 0180 0E .uleb128 0xe
2763 0181 DE000000 .4byte .LASF27
2764 0185 01 .byte 0x1
2765 0186 4C01 .2byte 0x14c
2766 0188 6B000000 .4byte 0x6b
2767 018c 02 .uleb128 0x2
2768 018d 91 .byte 0x91
2769 018e 6F .sleb128 -17
2770 018f 00 .byte 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 83


2771 0190 0C .uleb128 0xc
2772 0191 48030000 .4byte .LASF28
2773 0195 01 .byte 0x1
2774 0196 8601 .2byte 0x186
2775 0198 00000000 .4byte .LFB6
2776 019c 98000000 .4byte .LFE6-.LFB6
2777 01a0 01 .uleb128 0x1
2778 01a1 9C .byte 0x9c
2779 01a2 E3010000 .4byte 0x1e3
2780 01a6 0D .uleb128 0xd
2781 01a7 CD000000 .4byte .LASF29
2782 01ab 01 .byte 0x1
2783 01ac 8601 .2byte 0x186
2784 01ae 81000000 .4byte 0x81
2785 01b2 02 .uleb128 0x2
2786 01b3 91 .byte 0x91
2787 01b4 4C .sleb128 -52
2788 01b5 0E .uleb128 0xe
2789 01b6 64000000 .4byte .LASF30
2790 01ba 01 .byte 0x1
2791 01bb 8901 .2byte 0x189
2792 01bd F3010000 .4byte 0x1f3
2793 01c1 02 .uleb128 0x2
2794 01c2 91 .byte 0x91
2795 01c3 64 .sleb128 -28
2796 01c4 0E .uleb128 0xe
2797 01c5 16010000 .4byte .LASF31
2798 01c9 01 .byte 0x1
2799 01ca 8A01 .2byte 0x18a
2800 01cc F8010000 .4byte 0x1f8
2801 01d0 02 .uleb128 0x2
2802 01d1 91 .byte 0x91
2803 01d2 54 .sleb128 -44
2804 01d3 0E .uleb128 0xe
2805 01d4 DE000000 .4byte .LASF27
2806 01d8 01 .byte 0x1
2807 01d9 9601 .2byte 0x196
2808 01db 6B000000 .4byte 0x6b
2809 01df 02 .uleb128 0x2
2810 01e0 91 .byte 0x91
2811 01e1 6F .sleb128 -17
2812 01e2 00 .byte 0
2813 01e3 09 .uleb128 0x9
2814 01e4 81000000 .4byte 0x81
2815 01e8 F3010000 .4byte 0x1f3
2816 01ec 0A .uleb128 0xa
2817 01ed E2000000 .4byte 0xe2
2818 01f1 01 .byte 0x1
2819 01f2 00 .byte 0
2820 01f3 06 .uleb128 0x6
2821 01f4 E3010000 .4byte 0x1e3
2822 01f8 06 .uleb128 0x6
2823 01f9 F4000000 .4byte 0xf4
2824 01fd 0F .uleb128 0xf
2825 01fe 10050000 .4byte .LASF42
2826 0202 01 .byte 0x1
2827 0203 A202 .2byte 0x2a2
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 84


2828 0205 A1000000 .4byte 0xa1
2829 0209 00000000 .4byte .LFB7
2830 020d 74000000 .4byte .LFE7-.LFB7
2831 0211 01 .uleb128 0x1
2832 0212 9C .byte 0x9c
2833 0213 36020000 .4byte 0x236
2834 0217 0D .uleb128 0xd
2835 0218 E3050000 .4byte .LASF32
2836 021c 01 .byte 0x1
2837 021d A202 .2byte 0x2a2
2838 021f 81000000 .4byte 0x81
2839 0223 02 .uleb128 0x2
2840 0224 91 .byte 0x91
2841 0225 6C .sleb128 -20
2842 0226 0E .uleb128 0xe
2843 0227 CE050000 .4byte .LASF33
2844 022b 01 .byte 0x1
2845 022c A402 .2byte 0x2a4
2846 022e A1000000 .4byte 0xa1
2847 0232 02 .uleb128 0x2
2848 0233 91 .byte 0x91
2849 0234 74 .sleb128 -12
2850 0235 00 .byte 0
2851 0236 10 .uleb128 0x10
2852 0237 61050000 .4byte .LASF34
2853 023b 01 .byte 0x1
2854 023c D202 .2byte 0x2d2
2855 023e 00000000 .4byte .LFB8
2856 0242 2C000000 .4byte .LFE8-.LFB8
2857 0246 01 .uleb128 0x1
2858 0247 9C .byte 0x9c
2859 0248 11 .uleb128 0x11
2860 0249 BF010000 .4byte .LASF39
2861 024d 01 .byte 0x1
2862 024e EA02 .2byte 0x2ea
2863 0250 81000000 .4byte 0x81
2864 0254 00000000 .4byte .LFB9
2865 0258 18000000 .4byte .LFE9-.LFB9
2866 025c 01 .uleb128 0x1
2867 025d 9C .byte 0x9c
2868 025e 0C .uleb128 0xc
2869 025f F5050000 .4byte .LASF35
2870 0263 01 .byte 0x1
2871 0264 1203 .2byte 0x312
2872 0266 00000000 .4byte .LFB10
2873 026a 58000000 .4byte .LFE10-.LFB10
2874 026e 01 .uleb128 0x1
2875 026f 9C .byte 0x9c
2876 0270 93020000 .4byte 0x293
2877 0274 0D .uleb128 0xd
2878 0275 ED050000 .4byte .LASF26
2879 0279 01 .byte 0x1
2880 027a 1203 .2byte 0x312
2881 027c 81000000 .4byte 0x81
2882 0280 02 .uleb128 0x2
2883 0281 91 .byte 0x91
2884 0282 64 .sleb128 -28
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 85


2885 0283 0E .uleb128 0xe
2886 0284 DE000000 .4byte .LASF27
2887 0288 01 .byte 0x1
2888 0289 1403 .2byte 0x314
2889 028b 6B000000 .4byte 0x6b
2890 028f 02 .uleb128 0x2
2891 0290 91 .byte 0x91
2892 0291 6F .sleb128 -17
2893 0292 00 .byte 0
2894 0293 0C .uleb128 0xc
2895 0294 E1010000 .4byte .LASF36
2896 0298 01 .byte 0x1
2897 0299 5003 .2byte 0x350
2898 029b 00000000 .4byte .LFB11
2899 029f 64000000 .4byte .LFE11-.LFB11
2900 02a3 01 .uleb128 0x1
2901 02a4 9C .byte 0x9c
2902 02a5 B9020000 .4byte 0x2b9
2903 02a9 0D .uleb128 0xd
2904 02aa BF040000 .4byte .LASF37
2905 02ae 01 .byte 0x1
2906 02af 5003 .2byte 0x350
2907 02b1 81000000 .4byte 0x81
2908 02b5 02 .uleb128 0x2
2909 02b6 91 .byte 0x91
2910 02b7 74 .sleb128 -12
2911 02b8 00 .byte 0
2912 02b9 10 .uleb128 0x10
2913 02ba AF050000 .4byte .LASF38
2914 02be 01 .byte 0x1
2915 02bf 7503 .2byte 0x375
2916 02c1 00000000 .4byte .LFB12
2917 02c5 28000000 .4byte .LFE12-.LFB12
2918 02c9 01 .uleb128 0x1
2919 02ca 9C .byte 0x9c
2920 02cb 11 .uleb128 0x11
2921 02cc 80020000 .4byte .LASF40
2922 02d0 01 .byte 0x1
2923 02d1 8B03 .2byte 0x38b
2924 02d3 81000000 .4byte 0x81
2925 02d7 00000000 .4byte .LFB13
2926 02db 18000000 .4byte .LFE13-.LFB13
2927 02df 01 .uleb128 0x1
2928 02e0 9C .byte 0x9c
2929 02e1 10 .uleb128 0x10
2930 02e2 A1010000 .4byte .LASF41
2931 02e6 01 .byte 0x1
2932 02e7 9F03 .2byte 0x39f
2933 02e9 00000000 .4byte .LFB14
2934 02ed 14000000 .4byte .LFE14-.LFB14
2935 02f1 01 .uleb128 0x1
2936 02f2 9C .byte 0x9c
2937 02f3 12 .uleb128 0x12
2938 02f4 D0020000 .4byte .LASF43
2939 02f8 01 .byte 0x1
2940 02f9 BB03 .2byte 0x3bb
2941 02fb 81000000 .4byte 0x81
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 86


2942 02ff 00000000 .4byte .LFB15
2943 0303 30000000 .4byte .LFE15-.LFB15
2944 0307 01 .uleb128 0x1
2945 0308 9C .byte 0x9c
2946 0309 2C030000 .4byte 0x32c
2947 030d 0D .uleb128 0xd
2948 030e 21050000 .4byte .LASF44
2949 0312 01 .byte 0x1
2950 0313 BB03 .2byte 0x3bb
2951 0315 81000000 .4byte 0x81
2952 0319 02 .uleb128 0x2
2953 031a 91 .byte 0x91
2954 031b 6C .sleb128 -20
2955 031c 0E .uleb128 0xe
2956 031d CE050000 .4byte .LASF33
2957 0321 01 .byte 0x1
2958 0322 BD03 .2byte 0x3bd
2959 0324 81000000 .4byte 0x81
2960 0328 02 .uleb128 0x2
2961 0329 91 .byte 0x91
2962 032a 74 .sleb128 -12
2963 032b 00 .byte 0
2964 032c 12 .uleb128 0x12
2965 032d 3F000000 .4byte .LASF45
2966 0331 01 .byte 0x1
2967 0332 D603 .2byte 0x3d6
2968 0334 81000000 .4byte 0x81
2969 0338 00000000 .4byte .LFB16
2970 033c 24000000 .4byte .LFE16-.LFB16
2971 0340 01 .uleb128 0x1
2972 0341 9C .byte 0x9c
2973 0342 56030000 .4byte 0x356
2974 0346 0E .uleb128 0xe
2975 0347 16000000 .4byte .LASF46
2976 034b 01 .byte 0x1
2977 034c D803 .2byte 0x3d8
2978 034e 81000000 .4byte 0x81
2979 0352 02 .uleb128 0x2
2980 0353 91 .byte 0x91
2981 0354 74 .sleb128 -12
2982 0355 00 .byte 0
2983 0356 13 .uleb128 0x13
2984 0357 6F000000 .4byte .LASF47
2985 035b 01 .byte 0x1
2986 035c F203 .2byte 0x3f2
2987 035e 00000000 .4byte .LFB17
2988 0362 18000000 .4byte .LFE17-.LFB17
2989 0366 01 .uleb128 0x1
2990 0367 9C .byte 0x9c
2991 0368 7C030000 .4byte 0x37c
2992 036c 0D .uleb128 0xd
2993 036d DC010000 .4byte .LASF48
2994 0371 01 .byte 0x1
2995 0372 F203 .2byte 0x3f2
2996 0374 81000000 .4byte 0x81
2997 0378 02 .uleb128 0x2
2998 0379 91 .byte 0x91
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 87


2999 037a 74 .sleb128 -12
3000 037b 00 .byte 0
3001 037c 0F .uleb128 0xf
3002 037d 5D030000 .4byte .LASF49
3003 0381 01 .byte 0x1
3004 0382 0E04 .2byte 0x40e
3005 0384 CF000000 .4byte 0xcf
3006 0388 00000000 .4byte .LFB18
3007 038c 48000000 .4byte .LFE18-.LFB18
3008 0390 01 .uleb128 0x1
3009 0391 9C .byte 0x9c
3010 0392 D3030000 .4byte 0x3d3
3011 0396 0D .uleb128 0xd
3012 0397 D5010000 .4byte .LASF50
3013 039b 01 .byte 0x1
3014 039c 0E04 .2byte 0x40e
3015 039e 6B000000 .4byte 0x6b
3016 03a2 02 .uleb128 0x2
3017 03a3 91 .byte 0x91
3018 03a4 6F .sleb128 -17
3019 03a5 0D .uleb128 0xd
3020 03a6 B0030000 .4byte .LASF51
3021 03aa 01 .byte 0x1
3022 03ab 0E04 .2byte 0x40e
3023 03ad CF000000 .4byte 0xcf
3024 03b1 02 .uleb128 0x2
3025 03b2 91 .byte 0x91
3026 03b3 68 .sleb128 -24
3027 03b4 0E .uleb128 0xe
3028 03b5 38000000 .4byte .LASF52
3029 03b9 01 .byte 0x1
3030 03ba 1004 .2byte 0x410
3031 03bc CF000000 .4byte 0xcf
3032 03c0 02 .uleb128 0x2
3033 03c1 91 .byte 0x91
3034 03c2 70 .sleb128 -16
3035 03c3 0E .uleb128 0xe
3036 03c4 00000000 .4byte .LASF53
3037 03c8 01 .byte 0x1
3038 03c9 1104 .2byte 0x411
3039 03cb D3030000 .4byte 0x3d3
3040 03cf 02 .uleb128 0x2
3041 03d0 91 .byte 0x91
3042 03d1 74 .sleb128 -12
3043 03d2 00 .byte 0
3044 03d3 07 .uleb128 0x7
3045 03d4 04 .byte 0x4
3046 03d5 CF000000 .4byte 0xcf
3047 03d9 0F .uleb128 0xf
3048 03da F4040000 .4byte .LASF54
3049 03de 01 .byte 0x1
3050 03df 3304 .2byte 0x433
3051 03e1 CF000000 .4byte 0xcf
3052 03e5 00000000 .4byte .LFB19
3053 03e9 34000000 .4byte .LFE19-.LFB19
3054 03ed 01 .uleb128 0x1
3055 03ee 9C .byte 0x9c
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 88


3056 03ef 12040000 .4byte 0x412
3057 03f3 0D .uleb128 0xd
3058 03f4 D5010000 .4byte .LASF50
3059 03f8 01 .byte 0x1
3060 03f9 3304 .2byte 0x433
3061 03fb 6B000000 .4byte 0x6b
3062 03ff 02 .uleb128 0x2
3063 0400 91 .byte 0x91
3064 0401 6F .sleb128 -17
3065 0402 0E .uleb128 0xe
3066 0403 00000000 .4byte .LASF53
3067 0407 01 .byte 0x1
3068 0408 3504 .2byte 0x435
3069 040a D3030000 .4byte 0x3d3
3070 040e 02 .uleb128 0x2
3071 040f 91 .byte 0x91
3072 0410 74 .sleb128 -12
3073 0411 00 .byte 0
3074 0412 0F .uleb128 0xf
3075 0413 0F030000 .4byte .LASF55
3076 0417 01 .byte 0x1
3077 0418 4C04 .2byte 0x44c
3078 041a CF000000 .4byte 0xcf
3079 041e 00000000 .4byte .LFB20
3080 0422 4C000000 .4byte .LFE20-.LFB20
3081 0426 01 .uleb128 0x1
3082 0427 9C .byte 0x9c
3083 0428 69040000 .4byte 0x469
3084 042c 0D .uleb128 0xd
3085 042d D5010000 .4byte .LASF50
3086 0431 01 .byte 0x1
3087 0432 4C04 .2byte 0x44c
3088 0434 6B000000 .4byte 0x6b
3089 0438 02 .uleb128 0x2
3090 0439 91 .byte 0x91
3091 043a 6F .sleb128 -17
3092 043b 0D .uleb128 0xd
3093 043c B0030000 .4byte .LASF51
3094 0440 01 .byte 0x1
3095 0441 4C04 .2byte 0x44c
3096 0443 CF000000 .4byte 0xcf
3097 0447 02 .uleb128 0x2
3098 0448 91 .byte 0x91
3099 0449 68 .sleb128 -24
3100 044a 0E .uleb128 0xe
3101 044b 38000000 .4byte .LASF52
3102 044f 01 .byte 0x1
3103 0450 4E04 .2byte 0x44e
3104 0452 CF000000 .4byte 0xcf
3105 0456 02 .uleb128 0x2
3106 0457 91 .byte 0x91
3107 0458 70 .sleb128 -16
3108 0459 0E .uleb128 0xe
3109 045a 00000000 .4byte .LASF53
3110 045e 01 .byte 0x1
3111 045f 4F04 .2byte 0x44f
3112 0461 D3030000 .4byte 0x3d3
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 89


3113 0465 02 .uleb128 0x2
3114 0466 91 .byte 0x91
3115 0467 74 .sleb128 -12
3116 0468 00 .byte 0
3117 0469 0F .uleb128 0xf
3118 046a 9E040000 .4byte .LASF56
3119 046e 01 .byte 0x1
3120 046f 6B04 .2byte 0x46b
3121 0471 CF000000 .4byte 0xcf
3122 0475 00000000 .4byte .LFB21
3123 0479 36000000 .4byte .LFE21-.LFB21
3124 047d 01 .uleb128 0x1
3125 047e 9C .byte 0x9c
3126 047f A2040000 .4byte 0x4a2
3127 0483 0D .uleb128 0xd
3128 0484 D5010000 .4byte .LASF50
3129 0488 01 .byte 0x1
3130 0489 6B04 .2byte 0x46b
3131 048b 6B000000 .4byte 0x6b
3132 048f 02 .uleb128 0x2
3133 0490 91 .byte 0x91
3134 0491 6F .sleb128 -17
3135 0492 0E .uleb128 0xe
3136 0493 00000000 .4byte .LASF53
3137 0497 01 .byte 0x1
3138 0498 6D04 .2byte 0x46d
3139 049a D3030000 .4byte 0x3d3
3140 049e 02 .uleb128 0x2
3141 049f 91 .byte 0x91
3142 04a0 74 .sleb128 -12
3143 04a1 00 .byte 0
3144 04a2 0C .uleb128 0xc
3145 04a3 F9030000 .4byte .LASF57
3146 04a7 01 .byte 0x1
3147 04a8 8304 .2byte 0x483
3148 04aa 00000000 .4byte .LFB22
3149 04ae A8000000 .4byte .LFE22-.LFB22
3150 04b2 01 .uleb128 0x1
3151 04b3 9C .byte 0x9c
3152 04b4 04050000 .4byte 0x504
3153 04b8 0D .uleb128 0xd
3154 04b9 D5010000 .4byte .LASF50
3155 04bd 01 .byte 0x1
3156 04be 8304 .2byte 0x483
3157 04c0 6B000000 .4byte 0x6b
3158 04c4 02 .uleb128 0x2
3159 04c5 91 .byte 0x91
3160 04c6 5F .sleb128 -33
3161 04c7 0D .uleb128 0xd
3162 04c8 3F030000 .4byte .LASF58
3163 04cc 01 .byte 0x1
3164 04cd 8304 .2byte 0x483
3165 04cf 6B000000 .4byte 0x6b
3166 04d3 02 .uleb128 0x2
3167 04d4 91 .byte 0x91
3168 04d5 5E .sleb128 -34
3169 04d6 0E .uleb128 0xe
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 90


3170 04d7 DE000000 .4byte .LASF27
3171 04db 01 .byte 0x1
3172 04dc 8504 .2byte 0x485
3173 04de 6B000000 .4byte 0x6b
3174 04e2 02 .uleb128 0x2
3175 04e3 91 .byte 0x91
3176 04e4 6B .sleb128 -21
3177 04e5 0E .uleb128 0xe
3178 04e6 9B010000 .4byte .LASF59
3179 04ea 01 .byte 0x1
3180 04eb 8604 .2byte 0x486
3181 04ed 81000000 .4byte 0x81
3182 04f1 02 .uleb128 0x2
3183 04f2 91 .byte 0x91
3184 04f3 6C .sleb128 -20
3185 04f4 0E .uleb128 0xe
3186 04f5 1C020000 .4byte .LASF60
3187 04f9 01 .byte 0x1
3188 04fa 8704 .2byte 0x487
3189 04fc 81000000 .4byte 0x81
3190 0500 02 .uleb128 0x2
3191 0501 91 .byte 0x91
3192 0502 64 .sleb128 -28
3193 0503 00 .byte 0
3194 0504 0F .uleb128 0xf
3195 0505 F0010000 .4byte .LASF61
3196 0509 01 .byte 0x1
3197 050a A704 .2byte 0x4a7
3198 050c 6B000000 .4byte 0x6b
3199 0510 00000000 .4byte .LFB23
3200 0514 58000000 .4byte .LFE23-.LFB23
3201 0518 01 .uleb128 0x1
3202 0519 9C .byte 0x9c
3203 051a 3D050000 .4byte 0x53d
3204 051e 0D .uleb128 0xd
3205 051f D5010000 .4byte .LASF50
3206 0523 01 .byte 0x1
3207 0524 A704 .2byte 0x4a7
3208 0526 6B000000 .4byte 0x6b
3209 052a 02 .uleb128 0x2
3210 052b 91 .byte 0x91
3211 052c 6F .sleb128 -17
3212 052d 0E .uleb128 0xe
3213 052e 3F030000 .4byte .LASF58
3214 0532 01 .byte 0x1
3215 0533 A904 .2byte 0x4a9
3216 0535 6B000000 .4byte 0x6b
3217 0539 02 .uleb128 0x2
3218 053a 91 .byte 0x91
3219 053b 77 .sleb128 -9
3220 053c 00 .byte 0
3221 053d 13 .uleb128 0x13
3222 053e E8040000 .4byte .LASF62
3223 0542 01 .byte 0x1
3224 0543 C104 .2byte 0x4c1
3225 0545 00000000 .4byte .LFB24
3226 0549 2C000000 .4byte .LFE24-.LFB24
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 91


3227 054d 01 .uleb128 0x1
3228 054e 9C .byte 0x9c
3229 054f 63050000 .4byte 0x563
3230 0553 0D .uleb128 0xd
3231 0554 D5010000 .4byte .LASF50
3232 0558 01 .byte 0x1
3233 0559 C104 .2byte 0x4c1
3234 055b 6B000000 .4byte 0x6b
3235 055f 02 .uleb128 0x2
3236 0560 91 .byte 0x91
3237 0561 77 .sleb128 -9
3238 0562 00 .byte 0
3239 0563 12 .uleb128 0x12
3240 0564 A5000000 .4byte .LASF63
3241 0568 01 .byte 0x1
3242 0569 D504 .2byte 0x4d5
3243 056b 6B000000 .4byte 0x6b
3244 056f 00000000 .4byte .LFB25
3245 0573 34000000 .4byte .LFE25-.LFB25
3246 0577 01 .uleb128 0x1
3247 0578 9C .byte 0x9c
3248 0579 8D050000 .4byte 0x58d
3249 057d 0D .uleb128 0xd
3250 057e D5010000 .4byte .LASF50
3251 0582 01 .byte 0x1
3252 0583 D504 .2byte 0x4d5
3253 0585 6B000000 .4byte 0x6b
3254 0589 02 .uleb128 0x2
3255 058a 91 .byte 0x91
3256 058b 77 .sleb128 -9
3257 058c 00 .byte 0
3258 058d 13 .uleb128 0x13
3259 058e 09010000 .4byte .LASF64
3260 0592 01 .byte 0x1
3261 0593 EA04 .2byte 0x4ea
3262 0595 00000000 .4byte .LFB26
3263 0599 2C000000 .4byte .LFE26-.LFB26
3264 059d 01 .uleb128 0x1
3265 059e 9C .byte 0x9c
3266 059f B3050000 .4byte 0x5b3
3267 05a3 0D .uleb128 0xd
3268 05a4 D5010000 .4byte .LASF50
3269 05a8 01 .byte 0x1
3270 05a9 EA04 .2byte 0x4ea
3271 05ab 6B000000 .4byte 0x6b
3272 05af 02 .uleb128 0x2
3273 05b0 91 .byte 0x91
3274 05b1 77 .sleb128 -9
3275 05b2 00 .byte 0
3276 05b3 13 .uleb128 0x13
3277 05b4 AB020000 .4byte .LASF65
3278 05b8 01 .byte 0x1
3279 05b9 FD04 .2byte 0x4fd
3280 05bb 00000000 .4byte .LFB27
3281 05bf 2C000000 .4byte .LFE27-.LFB27
3282 05c3 01 .uleb128 0x1
3283 05c4 9C .byte 0x9c
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 92


3284 05c5 D9050000 .4byte 0x5d9
3285 05c9 0D .uleb128 0xd
3286 05ca D5010000 .4byte .LASF50
3287 05ce 01 .byte 0x1
3288 05cf FD04 .2byte 0x4fd
3289 05d1 6B000000 .4byte 0x6b
3290 05d5 02 .uleb128 0x2
3291 05d6 91 .byte 0x91
3292 05d7 77 .sleb128 -9
3293 05d8 00 .byte 0
3294 05d9 13 .uleb128 0x13
3295 05da 9E030000 .4byte .LASF66
3296 05de 01 .byte 0x1
3297 05df 1105 .2byte 0x511
3298 05e1 00000000 .4byte .LFB28
3299 05e5 2C000000 .4byte .LFE28-.LFB28
3300 05e9 01 .uleb128 0x1
3301 05ea 9C .byte 0x9c
3302 05eb FF050000 .4byte 0x5ff
3303 05ef 0D .uleb128 0xd
3304 05f0 D5010000 .4byte .LASF50
3305 05f4 01 .byte 0x1
3306 05f5 1105 .2byte 0x511
3307 05f7 6B000000 .4byte 0x6b
3308 05fb 02 .uleb128 0x2
3309 05fc 91 .byte 0x91
3310 05fd 77 .sleb128 -9
3311 05fe 00 .byte 0
3312 05ff 13 .uleb128 0x13
3313 0600 C9040000 .4byte .LASF67
3314 0604 01 .byte 0x1
3315 0605 2505 .2byte 0x525
3316 0607 00000000 .4byte .LFB29
3317 060b 14000000 .4byte .LFE29-.LFB29
3318 060f 01 .uleb128 0x1
3319 0610 9C .byte 0x9c
3320 0611 25060000 .4byte 0x625
3321 0615 0D .uleb128 0xd
3322 0616 21050000 .4byte .LASF44
3323 061a 01 .byte 0x1
3324 061b 2505 .2byte 0x525
3325 061d 6B000000 .4byte 0x6b
3326 0621 02 .uleb128 0x2
3327 0622 91 .byte 0x91
3328 0623 77 .sleb128 -9
3329 0624 00 .byte 0
3330 0625 10 .uleb128 0x10
3331 0626 7C000000 .4byte .LASF68
3332 062a 01 .byte 0x1
3333 062b 4405 .2byte 0x544
3334 062d 00000000 .4byte .LFB30
3335 0631 20000000 .4byte .LFE30-.LFB30
3336 0635 01 .uleb128 0x1
3337 0636 9C .byte 0x9c
3338 0637 0C .uleb128 0xc
3339 0638 8D050000 .4byte .LASF69
3340 063c 01 .byte 0x1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 93


3341 063d 5D05 .2byte 0x55d
3342 063f 00000000 .4byte .LFB31
3343 0643 48000000 .4byte .LFE31-.LFB31
3344 0647 01 .uleb128 0x1
3345 0648 9C .byte 0x9c
3346 0649 5D060000 .4byte 0x65d
3347 064d 0D .uleb128 0xd
3348 064e AD040000 .4byte .LASF70
3349 0652 01 .byte 0x1
3350 0653 5D05 .2byte 0x55d
3351 0655 81000000 .4byte 0x81
3352 0659 02 .uleb128 0x2
3353 065a 91 .byte 0x91
3354 065b 74 .sleb128 -12
3355 065c 00 .byte 0
3356 065d 0C .uleb128 0xc
3357 065e 35010000 .4byte .LASF71
3358 0662 01 .byte 0x1
3359 0663 7905 .2byte 0x579
3360 0665 00000000 .4byte .LFB32
3361 0669 28000000 .4byte .LFE32-.LFB32
3362 066d 01 .uleb128 0x1
3363 066e 9C .byte 0x9c
3364 066f 83060000 .4byte 0x683
3365 0673 0D .uleb128 0xd
3366 0674 38060000 .4byte .LASF72
3367 0678 01 .byte 0x1
3368 0679 7905 .2byte 0x579
3369 067b 76000000 .4byte 0x76
3370 067f 02 .uleb128 0x2
3371 0680 91 .byte 0x91
3372 0681 76 .sleb128 -10
3373 0682 00 .byte 0
3374 0683 0C .uleb128 0xc
3375 0684 D2000000 .4byte .LASF73
3376 0688 01 .byte 0x1
3377 0689 8C05 .2byte 0x58c
3378 068b 00000000 .4byte .LFB33
3379 068f 80000000 .4byte .LFE33-.LFB33
3380 0693 01 .uleb128 0x1
3381 0694 9C .byte 0x9c
3382 0695 A9060000 .4byte 0x6a9
3383 0699 0D .uleb128 0xd
3384 069a CD000000 .4byte .LASF29
3385 069e 01 .byte 0x1
3386 069f 8C05 .2byte 0x58c
3387 06a1 81000000 .4byte 0x81
3388 06a5 02 .uleb128 0x2
3389 06a6 91 .byte 0x91
3390 06a7 74 .sleb128 -12
3391 06a8 00 .byte 0
3392 06a9 14 .uleb128 0x14
3393 06aa 75030000 .4byte .LASF74
3394 06ae 01 .byte 0x1
3395 06af AF05 .2byte 0x5af
3396 06b1 00000000 .4byte .LFB34
3397 06b5 24000000 .4byte .LFE34-.LFB34
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 94


3398 06b9 01 .uleb128 0x1
3399 06ba 9C .byte 0x9c
3400 06bb 0C .uleb128 0xc
3401 06bc 0E020000 .4byte .LASF75
3402 06c0 01 .byte 0x1
3403 06c1 D105 .2byte 0x5d1
3404 06c3 00000000 .4byte .LFB35
3405 06c7 64000000 .4byte .LFE35-.LFB35
3406 06cb 01 .uleb128 0x1
3407 06cc 9C .byte 0x9c
3408 06cd DF060000 .4byte 0x6df
3409 06d1 15 .uleb128 0x15
3410 06d2 6900 .ascii "i\000"
3411 06d4 01 .byte 0x1
3412 06d5 D305 .2byte 0x5d3
3413 06d7 81000000 .4byte 0x81
3414 06db 02 .uleb128 0x2
3415 06dc 91 .byte 0x91
3416 06dd 74 .sleb128 -12
3417 06de 00 .byte 0
3418 06df 14 .uleb128 0x14
3419 06e0 3A050000 .4byte .LASF76
3420 06e4 01 .byte 0x1
3421 06e5 F705 .2byte 0x5f7
3422 06e7 00000000 .4byte .LFB36
3423 06eb 1C000000 .4byte .LFE36-.LFB36
3424 06ef 01 .uleb128 0x1
3425 06f0 9C .byte 0x9c
3426 06f1 10 .uleb128 0x10
3427 06f2 D5050000 .4byte .LASF77
3428 06f6 01 .byte 0x1
3429 06f7 0F06 .2byte 0x60f
3430 06f9 00000000 .4byte .LFB37
3431 06fd 18000000 .4byte .LFE37-.LFB37
3432 0701 01 .uleb128 0x1
3433 0702 9C .byte 0x9c
3434 0703 10 .uleb128 0x10
3435 0704 8C000000 .4byte .LASF78
3436 0708 01 .byte 0x1
3437 0709 2606 .2byte 0x626
3438 070b 00000000 .4byte .LFB38
3439 070f 18000000 .4byte .LFE38-.LFB38
3440 0713 01 .uleb128 0x1
3441 0714 9C .byte 0x9c
3442 0715 10 .uleb128 0x10
3443 0716 95050000 .4byte .LASF79
3444 071a 01 .byte 0x1
3445 071b 3D06 .2byte 0x63d
3446 071d 00000000 .4byte .LFB39
3447 0721 18000000 .4byte .LFE39-.LFB39
3448 0725 01 .uleb128 0x1
3449 0726 9C .byte 0x9c
3450 0727 13 .uleb128 0x13
3451 0728 45060000 .4byte .LASF80
3452 072c 01 .byte 0x1
3453 072d 5306 .2byte 0x653
3454 072f 00000000 .4byte .LFB40
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 95


3455 0733 1C000000 .4byte .LFE40-.LFB40
3456 0737 01 .uleb128 0x1
3457 0738 9C .byte 0x9c
3458 0739 4D070000 .4byte 0x74d
3459 073d 0D .uleb128 0xd
3460 073e 1C020000 .4byte .LASF60
3461 0742 01 .byte 0x1
3462 0743 5306 .2byte 0x653
3463 0745 81000000 .4byte 0x81
3464 0749 02 .uleb128 0x2
3465 074a 91 .byte 0x91
3466 074b 74 .sleb128 -12
3467 074c 00 .byte 0
3468 074d 11 .uleb128 0x11
3469 074e ED000000 .4byte .LASF81
3470 0752 01 .byte 0x1
3471 0753 6706 .2byte 0x667
3472 0755 81000000 .4byte 0x81
3473 0759 00000000 .4byte .LFB41
3474 075d 18000000 .4byte .LFE41-.LFB41
3475 0761 01 .uleb128 0x1
3476 0762 9C .byte 0x9c
3477 0763 11 .uleb128 0x11
3478 0764 D9030000 .4byte .LASF82
3479 0768 01 .byte 0x1
3480 0769 7B06 .2byte 0x67b
3481 076b 81000000 .4byte 0x81
3482 076f 00000000 .4byte .LFB42
3483 0773 18000000 .4byte .LFE42-.LFB42
3484 0777 01 .uleb128 0x1
3485 0778 9C .byte 0x9c
3486 0779 13 .uleb128 0x13
3487 077a F7020000 .4byte .LASF83
3488 077e 01 .byte 0x1
3489 077f 9B06 .2byte 0x69b
3490 0781 00000000 .4byte .LFB43
3491 0785 34000000 .4byte .LFE43-.LFB43
3492 0789 01 .uleb128 0x1
3493 078a 9C .byte 0x9c
3494 078b 9F070000 .4byte 0x79f
3495 078f 0D .uleb128 0xd
3496 0790 22020000 .4byte .LASF84
3497 0794 01 .byte 0x1
3498 0795 9B06 .2byte 0x69b
3499 0797 81000000 .4byte 0x81
3500 079b 02 .uleb128 0x2
3501 079c 91 .byte 0x91
3502 079d 74 .sleb128 -12
3503 079e 00 .byte 0
3504 079f 11 .uleb128 0x11
3505 07a0 3C020000 .4byte .LASF85
3506 07a4 01 .byte 0x1
3507 07a5 BC06 .2byte 0x6bc
3508 07a7 81000000 .4byte 0x81
3509 07ab 00000000 .4byte .LFB44
3510 07af 18000000 .4byte .LFE44-.LFB44
3511 07b3 01 .uleb128 0x1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 96


3512 07b4 9C .byte 0x9c
3513 07b5 10 .uleb128 0x10
3514 07b6 5F020000 .4byte .LASF86
3515 07ba 01 .byte 0x1
3516 07bb D006 .2byte 0x6d0
3517 07bd 00000000 .4byte .LFB45
3518 07c1 14000000 .4byte .LFE45-.LFB45
3519 07c5 01 .uleb128 0x1
3520 07c6 9C .byte 0x9c
3521 07c7 12 .uleb128 0x12
3522 07c8 12060000 .4byte .LASF87
3523 07cc 01 .byte 0x1
3524 07cd F506 .2byte 0x6f5
3525 07cf E9000000 .4byte 0xe9
3526 07d3 00000000 .4byte .LFB46
3527 07d7 2C000000 .4byte .LFE46-.LFB46
3528 07db 01 .uleb128 0x1
3529 07dc 9C .byte 0x9c
3530 07dd 0F080000 .4byte 0x80f
3531 07e1 0D .uleb128 0xd
3532 07e2 D5010000 .4byte .LASF50
3533 07e6 01 .byte 0x1
3534 07e7 F506 .2byte 0x6f5
3535 07e9 81000000 .4byte 0x81
3536 07ed 02 .uleb128 0x2
3537 07ee 91 .byte 0x91
3538 07ef 6C .sleb128 -20
3539 07f0 0D .uleb128 0xd
3540 07f1 BF030000 .4byte .LASF88
3541 07f5 01 .byte 0x1
3542 07f6 F506 .2byte 0x6f5
3543 07f8 E9000000 .4byte 0xe9
3544 07fc 02 .uleb128 0x2
3545 07fd 91 .byte 0x91
3546 07fe 68 .sleb128 -24
3547 07ff 0E .uleb128 0xe
3548 0800 B8030000 .4byte .LASF89
3549 0804 01 .byte 0x1
3550 0805 F706 .2byte 0x6f7
3551 0807 E9000000 .4byte 0xe9
3552 080b 02 .uleb128 0x2
3553 080c 91 .byte 0x91
3554 080d 74 .sleb128 -12
3555 080e 00 .byte 0
3556 080f 12 .uleb128 0x12
3557 0810 BB020000 .4byte .LASF90
3558 0814 01 .byte 0x1
3559 0815 0F07 .2byte 0x70f
3560 0817 E9000000 .4byte 0xe9
3561 081b 00000000 .4byte .LFB47
3562 081f 1C000000 .4byte .LFE47-.LFB47
3563 0823 01 .uleb128 0x1
3564 0824 9C .byte 0x9c
3565 0825 39080000 .4byte 0x839
3566 0829 0D .uleb128 0xd
3567 082a D5010000 .4byte .LASF50
3568 082e 01 .byte 0x1
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 97


3569 082f 0F07 .2byte 0x70f
3570 0831 81000000 .4byte 0x81
3571 0835 02 .uleb128 0x2
3572 0836 91 .byte 0x91
3573 0837 74 .sleb128 -12
3574 0838 00 .byte 0
3575 0839 16 .uleb128 0x16
3576 083a 58060000 .4byte .LASF103
3577 083e 01 .byte 0x1
3578 083f 2307 .2byte 0x723
3579 0841 00000000 .4byte .LFB48
3580 0845 44000000 .4byte .LFE48-.LFB48
3581 0849 01 .uleb128 0x1
3582 084a 9C .byte 0x9c
3583 084b 5D080000 .4byte 0x85d
3584 084f 15 .uleb128 0x15
3585 0850 6900 .ascii "i\000"
3586 0852 01 .byte 0x1
3587 0853 2507 .2byte 0x725
3588 0855 81000000 .4byte 0x81
3589 0859 02 .uleb128 0x2
3590 085a 91 .byte 0x91
3591 085b 74 .sleb128 -12
3592 085c 00 .byte 0
3593 085d 13 .uleb128 0x13
3594 085e 2E020000 .4byte .LASF91
3595 0862 01 .byte 0x1
3596 0863 4807 .2byte 0x748
3597 0865 00000000 .4byte .LFB49
3598 0869 C0000000 .4byte .LFE49-.LFB49
3599 086d 01 .uleb128 0x1
3600 086e 9C .byte 0x9c
3601 086f 83080000 .4byte 0x883
3602 0873 0D .uleb128 0xd
3603 0874 84050000 .4byte .LASF92
3604 0878 01 .byte 0x1
3605 0879 4807 .2byte 0x748
3606 087b 83080000 .4byte 0x883
3607 087f 02 .uleb128 0x2
3608 0880 91 .byte 0x91
3609 0881 74 .sleb128 -12
3610 0882 00 .byte 0
3611 0883 07 .uleb128 0x7
3612 0884 04 .byte 0x4
3613 0885 81000000 .4byte 0x81
3614 0889 09 .uleb128 0x9
3615 088a E9000000 .4byte 0xe9
3616 088e 99080000 .4byte 0x899
3617 0892 0A .uleb128 0xa
3618 0893 E2000000 .4byte 0xe2
3619 0897 04 .byte 0x4
3620 0898 00 .byte 0
3621 0899 17 .uleb128 0x17
3622 089a 71050000 .4byte .LASF93
3623 089e 01 .byte 0x1
3624 089f 22 .byte 0x22
3625 08a0 89080000 .4byte 0x889
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 98


3626 08a4 05 .uleb128 0x5
3627 08a5 03 .byte 0x3
3628 08a6 00000000 .4byte CySysTickCallbacks
3629 08aa 18 .uleb128 0x18
3630 08ab 8D030000 .4byte .LASF94
3631 08af 01 .byte 0x1
3632 08b0 34 .byte 0x34
3633 08b1 81000000 .4byte 0x81
3634 08b5 05 .uleb128 0x5
3635 08b6 03 .byte 0x3
3636 08b7 00000000 .4byte CySysTickInitVar
3637 08bb 18 .uleb128 0x18
3638 08bc EB030000 .4byte .LASF95
3639 08c0 01 .byte 0x1
3640 08c1 1B .byte 0x1b
3641 08c2 81000000 .4byte 0x81
3642 08c6 05 .uleb128 0x5
3643 08c7 03 .byte 0x3
3644 08c8 00000000 .4byte cydelayFreqHz
3645 08cc 18 .uleb128 0x18
3646 08cd 26010000 .4byte .LASF96
3647 08d1 01 .byte 0x1
3648 08d2 1C .byte 0x1c
3649 08d3 81000000 .4byte 0x81
3650 08d7 05 .uleb128 0x5
3651 08d8 03 .byte 0x3
3652 08d9 00000000 .4byte cydelayFreqKhz
3653 08dd 18 .uleb128 0x18
3654 08de BF050000 .4byte .LASF97
3655 08e2 01 .byte 0x1
3656 08e3 1D .byte 0x1d
3657 08e4 6B000000 .4byte 0x6b
3658 08e8 05 .uleb128 0x5
3659 08e9 03 .byte 0x3
3660 08ea 00000000 .4byte cydelayFreqMhz
3661 08ee 18 .uleb128 0x18
3662 08ef 01020000 .4byte .LASF98
3663 08f3 01 .byte 0x1
3664 08f4 1E .byte 0x1e
3665 08f5 81000000 .4byte 0x81
3666 08f9 05 .uleb128 0x5
3667 08fa 03 .byte 0x3
3668 08fb 00000000 .4byte cydelay32kMs
3669 08ff 09 .uleb128 0x9
3670 0900 6B000000 .4byte 0x6b
3671 0904 0F090000 .4byte 0x90f
3672 0908 0A .uleb128 0xa
3673 0909 E2000000 .4byte 0xe2
3674 090d 2D .byte 0x2d
3675 090e 00 .byte 0
3676 090f 18 .uleb128 0x18
3677 0910 C8030000 .4byte .LASF99
3678 0914 01 .byte 0x1
3679 0915 39 .byte 0x39
3680 0916 20090000 .4byte 0x920
3681 091a 05 .uleb128 0x5
3682 091b 03 .byte 0x3
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 99


3683 091c 00000000 .4byte cyImoFreqMhz2Reg
3684 0920 19 .uleb128 0x19
3685 0921 FF080000 .4byte 0x8ff
3686 0925 00 .byte 0
3687 .section .debug_abbrev,"",%progbits
3688 .Ldebug_abbrev0:
3689 0000 01 .uleb128 0x1
3690 0001 11 .uleb128 0x11
3691 0002 01 .byte 0x1
3692 0003 25 .uleb128 0x25
3693 0004 0E .uleb128 0xe
3694 0005 13 .uleb128 0x13
3695 0006 0B .uleb128 0xb
3696 0007 03 .uleb128 0x3
3697 0008 0E .uleb128 0xe
3698 0009 1B .uleb128 0x1b
3699 000a 0E .uleb128 0xe
3700 000b 55 .uleb128 0x55
3701 000c 17 .uleb128 0x17
3702 000d 11 .uleb128 0x11
3703 000e 01 .uleb128 0x1
3704 000f 10 .uleb128 0x10
3705 0010 17 .uleb128 0x17
3706 0011 00 .byte 0
3707 0012 00 .byte 0
3708 0013 02 .uleb128 0x2
3709 0014 24 .uleb128 0x24
3710 0015 00 .byte 0
3711 0016 0B .uleb128 0xb
3712 0017 0B .uleb128 0xb
3713 0018 3E .uleb128 0x3e
3714 0019 0B .uleb128 0xb
3715 001a 03 .uleb128 0x3
3716 001b 0E .uleb128 0xe
3717 001c 00 .byte 0
3718 001d 00 .byte 0
3719 001e 03 .uleb128 0x3
3720 001f 24 .uleb128 0x24
3721 0020 00 .byte 0
3722 0021 0B .uleb128 0xb
3723 0022 0B .uleb128 0xb
3724 0023 3E .uleb128 0x3e
3725 0024 0B .uleb128 0xb
3726 0025 03 .uleb128 0x3
3727 0026 08 .uleb128 0x8
3728 0027 00 .byte 0
3729 0028 00 .byte 0
3730 0029 04 .uleb128 0x4
3731 002a 16 .uleb128 0x16
3732 002b 00 .byte 0
3733 002c 03 .uleb128 0x3
3734 002d 0E .uleb128 0xe
3735 002e 3A .uleb128 0x3a
3736 002f 0B .uleb128 0xb
3737 0030 3B .uleb128 0x3b
3738 0031 0B .uleb128 0xb
3739 0032 49 .uleb128 0x49
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 100


3740 0033 13 .uleb128 0x13
3741 0034 00 .byte 0
3742 0035 00 .byte 0
3743 0036 05 .uleb128 0x5
3744 0037 16 .uleb128 0x16
3745 0038 00 .byte 0
3746 0039 03 .uleb128 0x3
3747 003a 0E .uleb128 0xe
3748 003b 3A .uleb128 0x3a
3749 003c 0B .uleb128 0xb
3750 003d 3B .uleb128 0x3b
3751 003e 05 .uleb128 0x5
3752 003f 49 .uleb128 0x49
3753 0040 13 .uleb128 0x13
3754 0041 00 .byte 0
3755 0042 00 .byte 0
3756 0043 06 .uleb128 0x6
3757 0044 35 .uleb128 0x35
3758 0045 00 .byte 0
3759 0046 49 .uleb128 0x49
3760 0047 13 .uleb128 0x13
3761 0048 00 .byte 0
3762 0049 00 .byte 0
3763 004a 07 .uleb128 0x7
3764 004b 0F .uleb128 0xf
3765 004c 00 .byte 0
3766 004d 0B .uleb128 0xb
3767 004e 0B .uleb128 0xb
3768 004f 49 .uleb128 0x49
3769 0050 13 .uleb128 0x13
3770 0051 00 .byte 0
3771 0052 00 .byte 0
3772 0053 08 .uleb128 0x8
3773 0054 15 .uleb128 0x15
3774 0055 00 .byte 0
3775 0056 27 .uleb128 0x27
3776 0057 19 .uleb128 0x19
3777 0058 00 .byte 0
3778 0059 00 .byte 0
3779 005a 09 .uleb128 0x9
3780 005b 01 .uleb128 0x1
3781 005c 01 .byte 0x1
3782 005d 49 .uleb128 0x49
3783 005e 13 .uleb128 0x13
3784 005f 01 .uleb128 0x1
3785 0060 13 .uleb128 0x13
3786 0061 00 .byte 0
3787 0062 00 .byte 0
3788 0063 0A .uleb128 0xa
3789 0064 21 .uleb128 0x21
3790 0065 00 .byte 0
3791 0066 49 .uleb128 0x49
3792 0067 13 .uleb128 0x13
3793 0068 2F .uleb128 0x2f
3794 0069 0B .uleb128 0xb
3795 006a 00 .byte 0
3796 006b 00 .byte 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 101


3797 006c 0B .uleb128 0xb
3798 006d 2E .uleb128 0x2e
3799 006e 00 .byte 0
3800 006f 3F .uleb128 0x3f
3801 0070 19 .uleb128 0x19
3802 0071 03 .uleb128 0x3
3803 0072 0E .uleb128 0xe
3804 0073 3A .uleb128 0x3a
3805 0074 0B .uleb128 0xb
3806 0075 3B .uleb128 0x3b
3807 0076 0B .uleb128 0xb
3808 0077 27 .uleb128 0x27
3809 0078 19 .uleb128 0x19
3810 0079 11 .uleb128 0x11
3811 007a 01 .uleb128 0x1
3812 007b 12 .uleb128 0x12
3813 007c 06 .uleb128 0x6
3814 007d 40 .uleb128 0x40
3815 007e 18 .uleb128 0x18
3816 007f 9742 .uleb128 0x2117
3817 0081 19 .uleb128 0x19
3818 0082 00 .byte 0
3819 0083 00 .byte 0
3820 0084 0C .uleb128 0xc
3821 0085 2E .uleb128 0x2e
3822 0086 01 .byte 0x1
3823 0087 3F .uleb128 0x3f
3824 0088 19 .uleb128 0x19
3825 0089 03 .uleb128 0x3
3826 008a 0E .uleb128 0xe
3827 008b 3A .uleb128 0x3a
3828 008c 0B .uleb128 0xb
3829 008d 3B .uleb128 0x3b
3830 008e 05 .uleb128 0x5
3831 008f 27 .uleb128 0x27
3832 0090 19 .uleb128 0x19
3833 0091 11 .uleb128 0x11
3834 0092 01 .uleb128 0x1
3835 0093 12 .uleb128 0x12
3836 0094 06 .uleb128 0x6
3837 0095 40 .uleb128 0x40
3838 0096 18 .uleb128 0x18
3839 0097 9642 .uleb128 0x2116
3840 0099 19 .uleb128 0x19
3841 009a 01 .uleb128 0x1
3842 009b 13 .uleb128 0x13
3843 009c 00 .byte 0
3844 009d 00 .byte 0
3845 009e 0D .uleb128 0xd
3846 009f 05 .uleb128 0x5
3847 00a0 00 .byte 0
3848 00a1 03 .uleb128 0x3
3849 00a2 0E .uleb128 0xe
3850 00a3 3A .uleb128 0x3a
3851 00a4 0B .uleb128 0xb
3852 00a5 3B .uleb128 0x3b
3853 00a6 05 .uleb128 0x5
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 102


3854 00a7 49 .uleb128 0x49
3855 00a8 13 .uleb128 0x13
3856 00a9 02 .uleb128 0x2
3857 00aa 18 .uleb128 0x18
3858 00ab 00 .byte 0
3859 00ac 00 .byte 0
3860 00ad 0E .uleb128 0xe
3861 00ae 34 .uleb128 0x34
3862 00af 00 .byte 0
3863 00b0 03 .uleb128 0x3
3864 00b1 0E .uleb128 0xe
3865 00b2 3A .uleb128 0x3a
3866 00b3 0B .uleb128 0xb
3867 00b4 3B .uleb128 0x3b
3868 00b5 05 .uleb128 0x5
3869 00b6 49 .uleb128 0x49
3870 00b7 13 .uleb128 0x13
3871 00b8 02 .uleb128 0x2
3872 00b9 18 .uleb128 0x18
3873 00ba 00 .byte 0
3874 00bb 00 .byte 0
3875 00bc 0F .uleb128 0xf
3876 00bd 2E .uleb128 0x2e
3877 00be 01 .byte 0x1
3878 00bf 3F .uleb128 0x3f
3879 00c0 19 .uleb128 0x19
3880 00c1 03 .uleb128 0x3
3881 00c2 0E .uleb128 0xe
3882 00c3 3A .uleb128 0x3a
3883 00c4 0B .uleb128 0xb
3884 00c5 3B .uleb128 0x3b
3885 00c6 05 .uleb128 0x5
3886 00c7 27 .uleb128 0x27
3887 00c8 19 .uleb128 0x19
3888 00c9 49 .uleb128 0x49
3889 00ca 13 .uleb128 0x13
3890 00cb 11 .uleb128 0x11
3891 00cc 01 .uleb128 0x1
3892 00cd 12 .uleb128 0x12
3893 00ce 06 .uleb128 0x6
3894 00cf 40 .uleb128 0x40
3895 00d0 18 .uleb128 0x18
3896 00d1 9642 .uleb128 0x2116
3897 00d3 19 .uleb128 0x19
3898 00d4 01 .uleb128 0x1
3899 00d5 13 .uleb128 0x13
3900 00d6 00 .byte 0
3901 00d7 00 .byte 0
3902 00d8 10 .uleb128 0x10
3903 00d9 2E .uleb128 0x2e
3904 00da 00 .byte 0
3905 00db 3F .uleb128 0x3f
3906 00dc 19 .uleb128 0x19
3907 00dd 03 .uleb128 0x3
3908 00de 0E .uleb128 0xe
3909 00df 3A .uleb128 0x3a
3910 00e0 0B .uleb128 0xb
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 103


3911 00e1 3B .uleb128 0x3b
3912 00e2 05 .uleb128 0x5
3913 00e3 27 .uleb128 0x27
3914 00e4 19 .uleb128 0x19
3915 00e5 11 .uleb128 0x11
3916 00e6 01 .uleb128 0x1
3917 00e7 12 .uleb128 0x12
3918 00e8 06 .uleb128 0x6
3919 00e9 40 .uleb128 0x40
3920 00ea 18 .uleb128 0x18
3921 00eb 9742 .uleb128 0x2117
3922 00ed 19 .uleb128 0x19
3923 00ee 00 .byte 0
3924 00ef 00 .byte 0
3925 00f0 11 .uleb128 0x11
3926 00f1 2E .uleb128 0x2e
3927 00f2 00 .byte 0
3928 00f3 3F .uleb128 0x3f
3929 00f4 19 .uleb128 0x19
3930 00f5 03 .uleb128 0x3
3931 00f6 0E .uleb128 0xe
3932 00f7 3A .uleb128 0x3a
3933 00f8 0B .uleb128 0xb
3934 00f9 3B .uleb128 0x3b
3935 00fa 05 .uleb128 0x5
3936 00fb 27 .uleb128 0x27
3937 00fc 19 .uleb128 0x19
3938 00fd 49 .uleb128 0x49
3939 00fe 13 .uleb128 0x13
3940 00ff 11 .uleb128 0x11
3941 0100 01 .uleb128 0x1
3942 0101 12 .uleb128 0x12
3943 0102 06 .uleb128 0x6
3944 0103 40 .uleb128 0x40
3945 0104 18 .uleb128 0x18
3946 0105 9742 .uleb128 0x2117
3947 0107 19 .uleb128 0x19
3948 0108 00 .byte 0
3949 0109 00 .byte 0
3950 010a 12 .uleb128 0x12
3951 010b 2E .uleb128 0x2e
3952 010c 01 .byte 0x1
3953 010d 3F .uleb128 0x3f
3954 010e 19 .uleb128 0x19
3955 010f 03 .uleb128 0x3
3956 0110 0E .uleb128 0xe
3957 0111 3A .uleb128 0x3a
3958 0112 0B .uleb128 0xb
3959 0113 3B .uleb128 0x3b
3960 0114 05 .uleb128 0x5
3961 0115 27 .uleb128 0x27
3962 0116 19 .uleb128 0x19
3963 0117 49 .uleb128 0x49
3964 0118 13 .uleb128 0x13
3965 0119 11 .uleb128 0x11
3966 011a 01 .uleb128 0x1
3967 011b 12 .uleb128 0x12
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 104


3968 011c 06 .uleb128 0x6
3969 011d 40 .uleb128 0x40
3970 011e 18 .uleb128 0x18
3971 011f 9742 .uleb128 0x2117
3972 0121 19 .uleb128 0x19
3973 0122 01 .uleb128 0x1
3974 0123 13 .uleb128 0x13
3975 0124 00 .byte 0
3976 0125 00 .byte 0
3977 0126 13 .uleb128 0x13
3978 0127 2E .uleb128 0x2e
3979 0128 01 .byte 0x1
3980 0129 3F .uleb128 0x3f
3981 012a 19 .uleb128 0x19
3982 012b 03 .uleb128 0x3
3983 012c 0E .uleb128 0xe
3984 012d 3A .uleb128 0x3a
3985 012e 0B .uleb128 0xb
3986 012f 3B .uleb128 0x3b
3987 0130 05 .uleb128 0x5
3988 0131 27 .uleb128 0x27
3989 0132 19 .uleb128 0x19
3990 0133 11 .uleb128 0x11
3991 0134 01 .uleb128 0x1
3992 0135 12 .uleb128 0x12
3993 0136 06 .uleb128 0x6
3994 0137 40 .uleb128 0x40
3995 0138 18 .uleb128 0x18
3996 0139 9742 .uleb128 0x2117
3997 013b 19 .uleb128 0x19
3998 013c 01 .uleb128 0x1
3999 013d 13 .uleb128 0x13
4000 013e 00 .byte 0
4001 013f 00 .byte 0
4002 0140 14 .uleb128 0x14
4003 0141 2E .uleb128 0x2e
4004 0142 00 .byte 0
4005 0143 3F .uleb128 0x3f
4006 0144 19 .uleb128 0x19
4007 0145 03 .uleb128 0x3
4008 0146 0E .uleb128 0xe
4009 0147 3A .uleb128 0x3a
4010 0148 0B .uleb128 0xb
4011 0149 3B .uleb128 0x3b
4012 014a 05 .uleb128 0x5
4013 014b 27 .uleb128 0x27
4014 014c 19 .uleb128 0x19
4015 014d 11 .uleb128 0x11
4016 014e 01 .uleb128 0x1
4017 014f 12 .uleb128 0x12
4018 0150 06 .uleb128 0x6
4019 0151 40 .uleb128 0x40
4020 0152 18 .uleb128 0x18
4021 0153 9642 .uleb128 0x2116
4022 0155 19 .uleb128 0x19
4023 0156 00 .byte 0
4024 0157 00 .byte 0
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 105


4025 0158 15 .uleb128 0x15
4026 0159 34 .uleb128 0x34
4027 015a 00 .byte 0
4028 015b 03 .uleb128 0x3
4029 015c 08 .uleb128 0x8
4030 015d 3A .uleb128 0x3a
4031 015e 0B .uleb128 0xb
4032 015f 3B .uleb128 0x3b
4033 0160 05 .uleb128 0x5
4034 0161 49 .uleb128 0x49
4035 0162 13 .uleb128 0x13
4036 0163 02 .uleb128 0x2
4037 0164 18 .uleb128 0x18
4038 0165 00 .byte 0
4039 0166 00 .byte 0
4040 0167 16 .uleb128 0x16
4041 0168 2E .uleb128 0x2e
4042 0169 01 .byte 0x1
4043 016a 03 .uleb128 0x3
4044 016b 0E .uleb128 0xe
4045 016c 3A .uleb128 0x3a
4046 016d 0B .uleb128 0xb
4047 016e 3B .uleb128 0x3b
4048 016f 05 .uleb128 0x5
4049 0170 27 .uleb128 0x27
4050 0171 19 .uleb128 0x19
4051 0172 11 .uleb128 0x11
4052 0173 01 .uleb128 0x1
4053 0174 12 .uleb128 0x12
4054 0175 06 .uleb128 0x6
4055 0176 40 .uleb128 0x40
4056 0177 18 .uleb128 0x18
4057 0178 9642 .uleb128 0x2116
4058 017a 19 .uleb128 0x19
4059 017b 01 .uleb128 0x1
4060 017c 13 .uleb128 0x13
4061 017d 00 .byte 0
4062 017e 00 .byte 0
4063 017f 17 .uleb128 0x17
4064 0180 34 .uleb128 0x34
4065 0181 00 .byte 0
4066 0182 03 .uleb128 0x3
4067 0183 0E .uleb128 0xe
4068 0184 3A .uleb128 0x3a
4069 0185 0B .uleb128 0xb
4070 0186 3B .uleb128 0x3b
4071 0187 0B .uleb128 0xb
4072 0188 49 .uleb128 0x49
4073 0189 13 .uleb128 0x13
4074 018a 02 .uleb128 0x2
4075 018b 18 .uleb128 0x18
4076 018c 00 .byte 0
4077 018d 00 .byte 0
4078 018e 18 .uleb128 0x18
4079 018f 34 .uleb128 0x34
4080 0190 00 .byte 0
4081 0191 03 .uleb128 0x3
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 106


4082 0192 0E .uleb128 0xe
4083 0193 3A .uleb128 0x3a
4084 0194 0B .uleb128 0xb
4085 0195 3B .uleb128 0x3b
4086 0196 0B .uleb128 0xb
4087 0197 49 .uleb128 0x49
4088 0198 13 .uleb128 0x13
4089 0199 3F .uleb128 0x3f
4090 019a 19 .uleb128 0x19
4091 019b 02 .uleb128 0x2
4092 019c 18 .uleb128 0x18
4093 019d 00 .byte 0
4094 019e 00 .byte 0
4095 019f 19 .uleb128 0x19
4096 01a0 26 .uleb128 0x26
4097 01a1 00 .byte 0
4098 01a2 49 .uleb128 0x49
4099 01a3 13 .uleb128 0x13
4100 01a4 00 .byte 0
4101 01a5 00 .byte 0
4102 01a6 00 .byte 0
4103 .section .debug_aranges,"",%progbits
4104 0000 94010000 .4byte 0x194
4105 0004 0200 .2byte 0x2
4106 0006 00000000 .4byte .Ldebug_info0
4107 000a 04 .byte 0x4
4108 000b 00 .byte 0
4109 000c 0000 .2byte 0
4110 000e 0000 .2byte 0
4111 0010 00000000 .4byte .LFB2
4112 0014 1C000000 .4byte .LFE2-.LFB2
4113 0018 00000000 .4byte .LFB3
4114 001c 18000000 .4byte .LFE3-.LFB3
4115 0020 00000000 .4byte .LFB4
4116 0024 44000000 .4byte .LFE4-.LFB4
4117 0028 00000000 .4byte .LFB5
4118 002c 44000000 .4byte .LFE5-.LFB5
4119 0030 00000000 .4byte .LFB6
4120 0034 98000000 .4byte .LFE6-.LFB6
4121 0038 00000000 .4byte .LFB7
4122 003c 74000000 .4byte .LFE7-.LFB7
4123 0040 00000000 .4byte .LFB8
4124 0044 2C000000 .4byte .LFE8-.LFB8
4125 0048 00000000 .4byte .LFB9
4126 004c 18000000 .4byte .LFE9-.LFB9
4127 0050 00000000 .4byte .LFB10
4128 0054 58000000 .4byte .LFE10-.LFB10
4129 0058 00000000 .4byte .LFB11
4130 005c 64000000 .4byte .LFE11-.LFB11
4131 0060 00000000 .4byte .LFB12
4132 0064 28000000 .4byte .LFE12-.LFB12
4133 0068 00000000 .4byte .LFB13
4134 006c 18000000 .4byte .LFE13-.LFB13
4135 0070 00000000 .4byte .LFB14
4136 0074 14000000 .4byte .LFE14-.LFB14
4137 0078 00000000 .4byte .LFB15
4138 007c 30000000 .4byte .LFE15-.LFB15
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 107


4139 0080 00000000 .4byte .LFB16
4140 0084 24000000 .4byte .LFE16-.LFB16
4141 0088 00000000 .4byte .LFB17
4142 008c 18000000 .4byte .LFE17-.LFB17
4143 0090 00000000 .4byte .LFB18
4144 0094 48000000 .4byte .LFE18-.LFB18
4145 0098 00000000 .4byte .LFB19
4146 009c 34000000 .4byte .LFE19-.LFB19
4147 00a0 00000000 .4byte .LFB20
4148 00a4 4C000000 .4byte .LFE20-.LFB20
4149 00a8 00000000 .4byte .LFB21
4150 00ac 36000000 .4byte .LFE21-.LFB21
4151 00b0 00000000 .4byte .LFB22
4152 00b4 A8000000 .4byte .LFE22-.LFB22
4153 00b8 00000000 .4byte .LFB23
4154 00bc 58000000 .4byte .LFE23-.LFB23
4155 00c0 00000000 .4byte .LFB24
4156 00c4 2C000000 .4byte .LFE24-.LFB24
4157 00c8 00000000 .4byte .LFB25
4158 00cc 34000000 .4byte .LFE25-.LFB25
4159 00d0 00000000 .4byte .LFB26
4160 00d4 2C000000 .4byte .LFE26-.LFB26
4161 00d8 00000000 .4byte .LFB27
4162 00dc 2C000000 .4byte .LFE27-.LFB27
4163 00e0 00000000 .4byte .LFB28
4164 00e4 2C000000 .4byte .LFE28-.LFB28
4165 00e8 00000000 .4byte .LFB29
4166 00ec 14000000 .4byte .LFE29-.LFB29
4167 00f0 00000000 .4byte .LFB30
4168 00f4 20000000 .4byte .LFE30-.LFB30
4169 00f8 00000000 .4byte .LFB31
4170 00fc 48000000 .4byte .LFE31-.LFB31
4171 0100 00000000 .4byte .LFB32
4172 0104 28000000 .4byte .LFE32-.LFB32
4173 0108 00000000 .4byte .LFB33
4174 010c 80000000 .4byte .LFE33-.LFB33
4175 0110 00000000 .4byte .LFB34
4176 0114 24000000 .4byte .LFE34-.LFB34
4177 0118 00000000 .4byte .LFB35
4178 011c 64000000 .4byte .LFE35-.LFB35
4179 0120 00000000 .4byte .LFB36
4180 0124 1C000000 .4byte .LFE36-.LFB36
4181 0128 00000000 .4byte .LFB37
4182 012c 18000000 .4byte .LFE37-.LFB37
4183 0130 00000000 .4byte .LFB38
4184 0134 18000000 .4byte .LFE38-.LFB38
4185 0138 00000000 .4byte .LFB39
4186 013c 18000000 .4byte .LFE39-.LFB39
4187 0140 00000000 .4byte .LFB40
4188 0144 1C000000 .4byte .LFE40-.LFB40
4189 0148 00000000 .4byte .LFB41
4190 014c 18000000 .4byte .LFE41-.LFB41
4191 0150 00000000 .4byte .LFB42
4192 0154 18000000 .4byte .LFE42-.LFB42
4193 0158 00000000 .4byte .LFB43
4194 015c 34000000 .4byte .LFE43-.LFB43
4195 0160 00000000 .4byte .LFB44
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 108


4196 0164 18000000 .4byte .LFE44-.LFB44
4197 0168 00000000 .4byte .LFB45
4198 016c 14000000 .4byte .LFE45-.LFB45
4199 0170 00000000 .4byte .LFB46
4200 0174 2C000000 .4byte .LFE46-.LFB46
4201 0178 00000000 .4byte .LFB47
4202 017c 1C000000 .4byte .LFE47-.LFB47
4203 0180 00000000 .4byte .LFB48
4204 0184 44000000 .4byte .LFE48-.LFB48
4205 0188 00000000 .4byte .LFB49
4206 018c C0000000 .4byte .LFE49-.LFB49
4207 0190 00000000 .4byte 0
4208 0194 00000000 .4byte 0
4209 .section .debug_ranges,"",%progbits
4210 .Ldebug_ranges0:
4211 0000 00000000 .4byte .LFB2
4212 0004 1C000000 .4byte .LFE2
4213 0008 00000000 .4byte .LFB3
4214 000c 18000000 .4byte .LFE3
4215 0010 00000000 .4byte .LFB4
4216 0014 44000000 .4byte .LFE4
4217 0018 00000000 .4byte .LFB5
4218 001c 44000000 .4byte .LFE5
4219 0020 00000000 .4byte .LFB6
4220 0024 98000000 .4byte .LFE6
4221 0028 00000000 .4byte .LFB7
4222 002c 74000000 .4byte .LFE7
4223 0030 00000000 .4byte .LFB8
4224 0034 2C000000 .4byte .LFE8
4225 0038 00000000 .4byte .LFB9
4226 003c 18000000 .4byte .LFE9
4227 0040 00000000 .4byte .LFB10
4228 0044 58000000 .4byte .LFE10
4229 0048 00000000 .4byte .LFB11
4230 004c 64000000 .4byte .LFE11
4231 0050 00000000 .4byte .LFB12
4232 0054 28000000 .4byte .LFE12
4233 0058 00000000 .4byte .LFB13
4234 005c 18000000 .4byte .LFE13
4235 0060 00000000 .4byte .LFB14
4236 0064 14000000 .4byte .LFE14
4237 0068 00000000 .4byte .LFB15
4238 006c 30000000 .4byte .LFE15
4239 0070 00000000 .4byte .LFB16
4240 0074 24000000 .4byte .LFE16
4241 0078 00000000 .4byte .LFB17
4242 007c 18000000 .4byte .LFE17
4243 0080 00000000 .4byte .LFB18
4244 0084 48000000 .4byte .LFE18
4245 0088 00000000 .4byte .LFB19
4246 008c 34000000 .4byte .LFE19
4247 0090 00000000 .4byte .LFB20
4248 0094 4C000000 .4byte .LFE20
4249 0098 00000000 .4byte .LFB21
4250 009c 36000000 .4byte .LFE21
4251 00a0 00000000 .4byte .LFB22
4252 00a4 A8000000 .4byte .LFE22
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 109


4253 00a8 00000000 .4byte .LFB23
4254 00ac 58000000 .4byte .LFE23
4255 00b0 00000000 .4byte .LFB24
4256 00b4 2C000000 .4byte .LFE24
4257 00b8 00000000 .4byte .LFB25
4258 00bc 34000000 .4byte .LFE25
4259 00c0 00000000 .4byte .LFB26
4260 00c4 2C000000 .4byte .LFE26
4261 00c8 00000000 .4byte .LFB27
4262 00cc 2C000000 .4byte .LFE27
4263 00d0 00000000 .4byte .LFB28
4264 00d4 2C000000 .4byte .LFE28
4265 00d8 00000000 .4byte .LFB29
4266 00dc 14000000 .4byte .LFE29
4267 00e0 00000000 .4byte .LFB30
4268 00e4 20000000 .4byte .LFE30
4269 00e8 00000000 .4byte .LFB31
4270 00ec 48000000 .4byte .LFE31
4271 00f0 00000000 .4byte .LFB32
4272 00f4 28000000 .4byte .LFE32
4273 00f8 00000000 .4byte .LFB33
4274 00fc 80000000 .4byte .LFE33
4275 0100 00000000 .4byte .LFB34
4276 0104 24000000 .4byte .LFE34
4277 0108 00000000 .4byte .LFB35
4278 010c 64000000 .4byte .LFE35
4279 0110 00000000 .4byte .LFB36
4280 0114 1C000000 .4byte .LFE36
4281 0118 00000000 .4byte .LFB37
4282 011c 18000000 .4byte .LFE37
4283 0120 00000000 .4byte .LFB38
4284 0124 18000000 .4byte .LFE38
4285 0128 00000000 .4byte .LFB39
4286 012c 18000000 .4byte .LFE39
4287 0130 00000000 .4byte .LFB40
4288 0134 1C000000 .4byte .LFE40
4289 0138 00000000 .4byte .LFB41
4290 013c 18000000 .4byte .LFE41
4291 0140 00000000 .4byte .LFB42
4292 0144 18000000 .4byte .LFE42
4293 0148 00000000 .4byte .LFB43
4294 014c 34000000 .4byte .LFE43
4295 0150 00000000 .4byte .LFB44
4296 0154 18000000 .4byte .LFE44
4297 0158 00000000 .4byte .LFB45
4298 015c 14000000 .4byte .LFE45
4299 0160 00000000 .4byte .LFB46
4300 0164 2C000000 .4byte .LFE46
4301 0168 00000000 .4byte .LFB47
4302 016c 1C000000 .4byte .LFE47
4303 0170 00000000 .4byte .LFB48
4304 0174 44000000 .4byte .LFE48
4305 0178 00000000 .4byte .LFB49
4306 017c C0000000 .4byte .LFE49
4307 0180 00000000 .4byte 0
4308 0184 00000000 .4byte 0
4309 .section .debug_line,"",%progbits
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 110


4310 .Ldebug_line0:
4311 0000 8D040000 .section .debug_str,"MS",%progbits,1
4311 02004F00
4311 00000201
4311 FB0E0D00
4311 01010101
4312 .LASF53:
4313 0000 72616D56 .ascii "ramVectorTable\000"
4313 6563746F
4313 72546162
4313 6C6500
4314 .LASF10:
4315 000f 75696E74 .ascii "uint16\000"
4315 313600
4316 .LASF46:
4317 0016 696E7453 .ascii "intState\000"
4317 74617465
4317 00
4318 .LASF23:
4319 001f 43795379 .ascii "CySysClkWriteHfclkDirect\000"
4319 73436C6B
4319 57726974
4319 65486663
4319 6C6B4469
4320 .LASF52:
4321 0038 6F6C6449 .ascii "oldIsr\000"
4321 737200
4322 .LASF45:
4323 003f 43794469 .ascii "CyDisableInts\000"
4323 7361626C
4323 65496E74
4323 7300
4324 .LASF7:
4325 004d 6C6F6E67 .ascii "long long unsigned int\000"
4325 206C6F6E
4325 6720756E
4325 7369676E
4325 65642069
4326 .LASF30:
4327 0064 70617261 .ascii "parameters\000"
4327 6D657465
4327 727300
4328 .LASF47:
4329 006f 4379456E .ascii "CyEnableInts\000"
4329 61626C65
4329 496E7473
4329 00
4330 .LASF68:
4331 007c 4379536F .ascii "CySoftwareReset\000"
4331 66747761
4331 72655265
4331 73657400
4332 .LASF78:
4333 008c 43795379 .ascii "CySysTickEnableInterrupt\000"
4333 73546963
4333 6B456E61
4333 626C6549
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 111


4333 6E746572
4334 .LASF63:
4335 00a5 4379496E .ascii "CyIntGetState\000"
4335 74476574
4335 53746174
4335 6500
4336 .LASF6:
4337 00b3 6C6F6E67 .ascii "long long int\000"
4337 206C6F6E
4337 6720696E
4337 7400
4338 .LASF0:
4339 00c1 7369676E .ascii "signed char\000"
4339 65642063
4339 68617200
4340 .LASF29:
4341 00cd 66726571 .ascii "freq\000"
4341 00
4342 .LASF73:
4343 00d2 43794465 .ascii "CyDelayFreq\000"
4343 6C617946
4343 72657100
4344 .LASF27:
4345 00de 696E7465 .ascii "interruptState\000"
4345 72727570
4345 74537461
4345 746500
4346 .LASF81:
4347 00ed 43795379 .ascii "CySysTickGetReload\000"
4347 73546963
4347 6B476574
4347 52656C6F
4347 616400
4348 .LASF4:
4349 0100 6C6F6E67 .ascii "long int\000"
4349 20696E74
4349 00
4350 .LASF64:
4351 0109 4379496E .ascii "CyIntDisable\000"
4351 74446973
4351 61626C65
4351 00
4352 .LASF31:
4353 0116 72656756 .ascii "regValues\000"
4353 616C7565
4353 7300
4354 .LASF9:
4355 0120 75696E74 .ascii "uint8\000"
4355 3800
4356 .LASF96:
4357 0126 63796465 .ascii "cydelayFreqKhz\000"
4357 6C617946
4357 7265714B
4357 687A00
4358 .LASF71:
4359 0135 43794465 .ascii "CyDelayUs\000"
4359 6C617955
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 112


4359 7300
4360 .LASF13:
4361 013f 646F7562 .ascii "double\000"
4361 6C6500
4362 .LASF102:
4363 0146 433A5C55 .ascii "C:\\Users\\pmad\\Desktop\\BLE Workshop\\Labs\\Compl"
4363 73657273
4363 5C706D61
4363 645C4465
4363 736B746F
4364 0173 65746564 .ascii "eted Labs\\BLE Lab 1_1\\BLE Lab 1_1.cydsn\000"
4364 204C6162
4364 735C424C
4364 45204C61
4364 6220315F
4365 .LASF59:
4366 019b 73686966 .ascii "shift\000"
4366 7400
4367 .LASF41:
4368 01a1 43795379 .ascii "CySysLvdClearInterrupt\000"
4368 734C7664
4368 436C6561
4368 72496E74
4368 65727275
4369 .LASF11:
4370 01b8 75696E74 .ascii "uint32\000"
4370 333200
4371 .LASF39:
4372 01bf 43795379 .ascii "CySysClkEcoReadStatus\000"
4372 73436C6B
4372 45636F52
4372 65616453
4372 74617475
4373 .LASF50:
4374 01d5 6E756D62 .ascii "number\000"
4374 657200
4375 .LASF48:
4376 01dc 6D61736B .ascii "mask\000"
4376 00
4377 .LASF36:
4378 01e1 43795379 .ascii "CySysLvdEnable\000"
4378 734C7664
4378 456E6162
4378 6C6500
4379 .LASF61:
4380 01f0 4379496E .ascii "CyIntGetPriority\000"
4380 74476574
4380 5072696F
4380 72697479
4380 00
4381 .LASF98:
4382 0201 63796465 .ascii "cydelay32kMs\000"
4382 6C617933
4382 326B4D73
4382 00
4383 .LASF75:
4384 020e 43795379 .ascii "CySysTickInit\000"
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 113


4384 73546963
4384 6B496E69
4384 7400
4385 .LASF60:
4386 021c 76616C75 .ascii "value\000"
4386 6500
4387 .LASF84:
4388 0222 636C6F63 .ascii "clockSource\000"
4388 6B536F75
4388 72636500
4389 .LASF91:
4390 022e 43794765 .ascii "CyGetUniqueId\000"
4390 74556E69
4390 71756549
4390 6400
4391 .LASF85:
4392 023c 43795379 .ascii "CySysTickGetCountFlag\000"
4392 73546963
4392 6B476574
4392 436F756E
4392 74466C61
4393 .LASF8:
4394 0252 756E7369 .ascii "unsigned int\000"
4394 676E6564
4394 20696E74
4394 00
4395 .LASF86:
4396 025f 43795379 .ascii "CySysTickClear\000"
4396 73546963
4396 6B436C65
4396 617200
4397 .LASF5:
4398 026e 6C6F6E67 .ascii "long unsigned int\000"
4398 20756E73
4398 69676E65
4398 6420696E
4398 7400
4399 .LASF40:
4400 0280 43795379 .ascii "CySysLvdGetInterruptSource\000"
4400 734C7664
4400 47657449
4400 6E746572
4400 72757074
4401 .LASF22:
4402 029b 43795379 .ascii "CySysClkImoStop\000"
4402 73436C6B
4402 496D6F53
4402 746F7000
4403 .LASF65:
4404 02ab 4379496E .ascii "CyIntSetPending\000"
4404 74536574
4404 50656E64
4404 696E6700
4405 .LASF90:
4406 02bb 43795379 .ascii "CySysTickGetCallback\000"
4406 73546963
4406 6B476574
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 114


4406 43616C6C
4406 6261636B
4407 .LASF43:
4408 02d0 43795379 .ascii "CySysGetResetReason\000"
4408 73476574
4408 52657365
4408 74526561
4408 736F6E00
4409 .LASF3:
4410 02e4 73686F72 .ascii "short unsigned int\000"
4410 7420756E
4410 7369676E
4410 65642069
4410 6E7400
4411 .LASF83:
4412 02f7 43795379 .ascii "CySysTickSetClockSource\000"
4412 73546963
4412 6B536574
4412 436C6F63
4412 6B536F75
4413 .LASF55:
4414 030f 4379496E .ascii "CyIntSetVector\000"
4414 74536574
4414 56656374
4414 6F7200
4415 .LASF101:
4416 031e 2E5C4765 .ascii ".\\Generated_Source\\PSoC4\\CyLib.c\000"
4416 6E657261
4416 7465645F
4416 536F7572
4416 63655C50
4417 .LASF58:
4418 033f 7072696F .ascii "priority\000"
4418 72697479
4418 00
4419 .LASF28:
4420 0348 43795379 .ascii "CySysClkWriteImoFreq\000"
4420 73436C6B
4420 57726974
4420 65496D6F
4420 46726571
4421 .LASF49:
4422 035d 4379496E .ascii "CyIntSetSysVector\000"
4422 74536574
4422 53797356
4422 6563746F
4422 7200
4423 .LASF17:
4424 036f 72656733 .ascii "reg32\000"
4424 3200
4425 .LASF74:
4426 0375 43795379 .ascii "CySysTickStart\000"
4426 73546963
4426 6B537461
4426 727400
4427 .LASF19:
4428 0384 73697A65 .ascii "sizetype\000"
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 115


4428 74797065
4428 00
4429 .LASF94:
4430 038d 43795379 .ascii "CySysTickInitVar\000"
4430 73546963
4430 6B496E69
4430 74566172
4430 00
4431 .LASF66:
4432 039e 4379496E .ascii "CyIntClearPending\000"
4432 74436C65
4432 61725065
4432 6E64696E
4432 6700
4433 .LASF51:
4434 03b0 61646472 .ascii "address\000"
4434 65737300
4435 .LASF89:
4436 03b8 72657456 .ascii "retVal\000"
4436 616C00
4437 .LASF88:
4438 03bf 66756E63 .ascii "function\000"
4438 74696F6E
4438 00
4439 .LASF99:
4440 03c8 6379496D .ascii "cyImoFreqMhz2Reg\000"
4440 6F467265
4440 714D687A
4440 32526567
4440 00
4441 .LASF82:
4442 03d9 43795379 .ascii "CySysTickGetValue\000"
4442 73546963
4442 6B476574
4442 56616C75
4442 6500
4443 .LASF95:
4444 03eb 63796465 .ascii "cydelayFreqHz\000"
4444 6C617946
4444 72657148
4444 7A00
4445 .LASF57:
4446 03f9 4379496E .ascii "CyIntSetPriority\000"
4446 74536574
4446 5072696F
4446 72697479
4446 00
4447 .LASF12:
4448 040a 666C6F61 .ascii "float\000"
4448 7400
4449 .LASF100:
4450 0410 474E5520 .ascii "GNU C 4.8.4 20140526 (release) [ARM/embedded-4_8-br"
4450 4320342E
4450 382E3420
4450 32303134
4450 30353236
4451 0443 616E6368 .ascii "anch revision 211358] -mcpu=cortex-m0 -mthumb -g -O"
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 116


4451 20726576
4451 6973696F
4451 6E203231
4451 31333538
4452 0476 30202D66 .ascii "0 -ffunction-sections\000"
4452 66756E63
4452 74696F6E
4452 2D736563
4452 74696F6E
4453 .LASF20:
4454 048c 63795379 .ascii "cySysTickCallback\000"
4454 73546963
4454 6B43616C
4454 6C626163
4454 6B00
4455 .LASF56:
4456 049e 4379496E .ascii "CyIntGetVector\000"
4456 74476574
4456 56656374
4456 6F7200
4457 .LASF70:
4458 04ad 6D696C6C .ascii "milliseconds\000"
4458 69736563
4458 6F6E6473
4458 00
4459 .LASF16:
4460 04ba 72656738 .ascii "reg8\000"
4460 00
4461 .LASF37:
4462 04bf 74687265 .ascii "threshold\000"
4462 73686F6C
4462 6400
4463 .LASF67:
4464 04c9 43794861 .ascii "CyHalt\000"
4464 6C7400
4465 .LASF1:
4466 04d0 756E7369 .ascii "unsigned char\000"
4466 676E6564
4466 20636861
4466 7200
4467 .LASF2:
4468 04de 73686F72 .ascii "short int\000"
4468 7420696E
4468 7400
4469 .LASF62:
4470 04e8 4379496E .ascii "CyIntEnable\000"
4470 74456E61
4470 626C6500
4471 .LASF54:
4472 04f4 4379496E .ascii "CyIntGetSysVector\000"
4472 74476574
4472 53797356
4472 6563746F
4472 7200
4473 .LASF25:
4474 0506 636C6B53 .ascii "clkSelect\000"
4474 656C6563
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 117


4474 7400
4475 .LASF42:
4476 0510 43795379 .ascii "CySysClkEcoStart\000"
4476 73436C6B
4476 45636F53
4476 74617274
4476 00
4477 .LASF44:
4478 0521 72656173 .ascii "reason\000"
4478 6F6E00
4479 .LASF14:
4480 0528 63686172 .ascii "char\000"
4480 00
4481 .LASF18:
4482 052d 63796973 .ascii "cyisraddress\000"
4482 72616464
4482 72657373
4482 00
4483 .LASF76:
4484 053a 43795379 .ascii "CySysTickEnable\000"
4484 73546963
4484 6B456E61
4484 626C6500
4485 .LASF24:
4486 054a 43795379 .ascii "CySysClkWriteSysclkDiv\000"
4486 73436C6B
4486 57726974
4486 65537973
4486 636C6B44
4487 .LASF34:
4488 0561 43795379 .ascii "CySysClkEcoStop\000"
4488 73436C6B
4488 45636F53
4488 746F7000
4489 .LASF93:
4490 0571 43795379 .ascii "CySysTickCallbacks\000"
4490 73546963
4490 6B43616C
4490 6C626163
4490 6B7300
4491 .LASF92:
4492 0584 756E6971 .ascii "uniqueId\000"
4492 75654964
4492 00
4493 .LASF69:
4494 058d 43794465 .ascii "CyDelay\000"
4494 6C617900
4495 .LASF79:
4496 0595 43795379 .ascii "CySysTickDisableInterrupt\000"
4496 73546963
4496 6B446973
4496 61626C65
4496 496E7465
4497 .LASF38:
4498 05af 43795379 .ascii "CySysLvdDisable\000"
4498 734C7664
4498 44697361
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 118


4498 626C6500
4499 .LASF97:
4500 05bf 63796465 .ascii "cydelayFreqMhz\000"
4500 6C617946
4500 7265714D
4500 687A00
4501 .LASF33:
4502 05ce 73746174 .ascii "status\000"
4502 757300
4503 .LASF77:
4504 05d5 43795379 .ascii "CySysTickStop\000"
4504 73546963
4504 6B53746F
4504 7000
4505 .LASF32:
4506 05e3 74696D65 .ascii "timeoutUs\000"
4506 6F757455
4506 7300
4507 .LASF26:
4508 05ed 64697669 .ascii "divider\000"
4508 64657200
4509 .LASF35:
4510 05f5 43795379 .ascii "CySysClkWriteEcoDiv\000"
4510 73436C6B
4510 57726974
4510 6545636F
4510 44697600
4511 .LASF15:
4512 0609 63797374 .ascii "cystatus\000"
4512 61747573
4512 00
4513 .LASF87:
4514 0612 43795379 .ascii "CySysTickSetCallback\000"
4514 73546963
4514 6B536574
4514 43616C6C
4514 6261636B
4515 .LASF21:
4516 0627 43795379 .ascii "CySysClkImoStart\000"
4516 73436C6B
4516 496D6F53
4516 74617274
4516 00
4517 .LASF72:
4518 0638 6D696372 .ascii "microseconds\000"
4518 6F736563
4518 6F6E6473
4518 00
4519 .LASF80:
4520 0645 43795379 .ascii "CySysTickSetReload\000"
4520 73546963
4520 6B536574
4520 52656C6F
4520 616400
4521 .LASF103:
4522 0658 43795379 .ascii "CySysTickServiceCallbacks\000"
4522 73546963
ARM GAS C:\Users\pmad\AppData\Local\Temp\ccu91aAB.s page 119


4522 6B536572
4522 76696365
4522 43616C6C
4523 .ident "GCC: (GNU Tools for ARM Embedded Processors) 4.8.4 20140526 (release) [ARM/embedded-4_8-br
(32-32/52)