mbed library sources: Modified to operate FRDM-KL25Z at 48MHz from internal 32kHz oscillator (nothing else changed).

Fork of mbed-src by mbed official

The only file that changed is: mbed-src-FLL48/targets/cmsis/TARGET_Freescale/TARGET_KL25Z/system_MKL25Z4.h

Committer:
bogdanm
Date:
Tue Sep 10 15:14:19 2013 +0300
Revision:
20:4263a77256ae
Sync with git revision 171dda705c947bf910926a0b73d6a4797802554d

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bogdanm 20:4263a77256ae 1 ;/*****************************************************************************
bogdanm 20:4263a77256ae 2 ; * @file: startup_LPC11xx.s
bogdanm 20:4263a77256ae 3 ; * @purpose: CMSIS Cortex-M0 Core Device Startup File
bogdanm 20:4263a77256ae 4 ; * for the NXP LPC11xx Device Series
bogdanm 20:4263a77256ae 5 ; * @version: V1.0
bogdanm 20:4263a77256ae 6 ; * @date: 25. Nov. 2008
bogdanm 20:4263a77256ae 7 ; *------- <<< Use Configuration Wizard in Context Menu >>> ------------------
bogdanm 20:4263a77256ae 8 ; *
bogdanm 20:4263a77256ae 9 ; * Copyright (C) 2008 ARM Limited. All rights reserved.
bogdanm 20:4263a77256ae 10 ; * ARM Limited (ARM) is supplying this software for use with Cortex-M0
bogdanm 20:4263a77256ae 11 ; * processor based microcontrollers. This file can be freely distributed
bogdanm 20:4263a77256ae 12 ; * within development tools that are supporting such ARM based processors.
bogdanm 20:4263a77256ae 13 ; *
bogdanm 20:4263a77256ae 14 ; * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
bogdanm 20:4263a77256ae 15 ; * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
bogdanm 20:4263a77256ae 16 ; * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
bogdanm 20:4263a77256ae 17 ; * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
bogdanm 20:4263a77256ae 18 ; * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
bogdanm 20:4263a77256ae 19 ; *
bogdanm 20:4263a77256ae 20 ; *****************************************************************************/
bogdanm 20:4263a77256ae 21
bogdanm 20:4263a77256ae 22 __initial_sp EQU 0x10001000 ; Top of RAM from LPC1114
bogdanm 20:4263a77256ae 23
bogdanm 20:4263a77256ae 24 PRESERVE8
bogdanm 20:4263a77256ae 25 THUMB
bogdanm 20:4263a77256ae 26
bogdanm 20:4263a77256ae 27 ; Vector Table Mapped to Address 0 at Reset
bogdanm 20:4263a77256ae 28
bogdanm 20:4263a77256ae 29 AREA RESET, DATA, READONLY
bogdanm 20:4263a77256ae 30 EXPORT __Vectors
bogdanm 20:4263a77256ae 31
bogdanm 20:4263a77256ae 32 __Vectors DCD __initial_sp ; Top of Stack
bogdanm 20:4263a77256ae 33 DCD Reset_Handler ; Reset Handler
bogdanm 20:4263a77256ae 34 DCD NMI_Handler ; NMI Handler
bogdanm 20:4263a77256ae 35 DCD HardFault_Handler ; Hard Fault Handler
bogdanm 20:4263a77256ae 36 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 37 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 38 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 39 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 40 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 41 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 42 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 43 DCD SVC_Handler ; SVCall Handler
bogdanm 20:4263a77256ae 44 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 45 DCD 0 ; Reserved
bogdanm 20:4263a77256ae 46 DCD PendSV_Handler ; PendSV Handler
bogdanm 20:4263a77256ae 47 DCD SysTick_Handler ; SysTick Handler
bogdanm 20:4263a77256ae 48
bogdanm 20:4263a77256ae 49 DCD FLEX_INT0_IRQHandler ; All GPIO pin can be routed to FLEX_INTx
bogdanm 20:4263a77256ae 50 DCD FLEX_INT1_IRQHandler ;
bogdanm 20:4263a77256ae 51 DCD FLEX_INT2_IRQHandler ;
bogdanm 20:4263a77256ae 52 DCD FLEX_INT3_IRQHandler ;
bogdanm 20:4263a77256ae 53 DCD FLEX_INT4_IRQHandler ;
bogdanm 20:4263a77256ae 54 DCD FLEX_INT5_IRQHandler ;
bogdanm 20:4263a77256ae 55 DCD FLEX_INT6_IRQHandler ;
bogdanm 20:4263a77256ae 56 DCD FLEX_INT7_IRQHandler ;
bogdanm 20:4263a77256ae 57 DCD GINT0_IRQHandler ;
bogdanm 20:4263a77256ae 58 DCD GINT1_IRQHandler ; PIO0 (0:7)
bogdanm 20:4263a77256ae 59 DCD Reserved_IRQHandler ; Reserved
bogdanm 20:4263a77256ae 60 DCD Reserved_IRQHandler ;
bogdanm 20:4263a77256ae 61 DCD Reserved_IRQHandler ;
bogdanm 20:4263a77256ae 62 DCD Reserved_IRQHandler ;
bogdanm 20:4263a77256ae 63 DCD SSP1_IRQHandler ; SSP1
bogdanm 20:4263a77256ae 64 DCD I2C_IRQHandler ; I2C
bogdanm 20:4263a77256ae 65 DCD TIMER16_0_IRQHandler ; 16-bit Timer0
bogdanm 20:4263a77256ae 66 DCD TIMER16_1_IRQHandler ; 16-bit Timer1
bogdanm 20:4263a77256ae 67 DCD TIMER32_0_IRQHandler ; 32-bit Timer0
bogdanm 20:4263a77256ae 68 DCD TIMER32_1_IRQHandler ; 32-bit Timer1
bogdanm 20:4263a77256ae 69 DCD SSP0_IRQHandler ; SSP0
bogdanm 20:4263a77256ae 70 DCD UART_IRQHandler ; UART
bogdanm 20:4263a77256ae 71 DCD USB_IRQHandler ; USB IRQ
bogdanm 20:4263a77256ae 72 DCD USB_FIQHandler ; USB FIQ
bogdanm 20:4263a77256ae 73 DCD ADC_IRQHandler ; A/D Converter
bogdanm 20:4263a77256ae 74 DCD WDT_IRQHandler ; Watchdog timer
bogdanm 20:4263a77256ae 75 DCD BOD_IRQHandler ; Brown Out Detect
bogdanm 20:4263a77256ae 76 DCD FMC_IRQHandler ; IP2111 Flash Memory Controller
bogdanm 20:4263a77256ae 77 DCD Reserved_IRQHandler ; Reserved
bogdanm 20:4263a77256ae 78 DCD Reserved_IRQHandler ; Reserved
bogdanm 20:4263a77256ae 79 DCD Reserved_IRQHandler ; Reserved
bogdanm 20:4263a77256ae 80 DCD Reserved_IRQHandler ; Reserved
bogdanm 20:4263a77256ae 81
bogdanm 20:4263a77256ae 82 ;; 48 vector entries. We pad to 128 to fill the 0x0 - 0x1FF REMAP address space
bogdanm 20:4263a77256ae 83
bogdanm 20:4263a77256ae 84 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 85 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 86 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 87 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 88 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 89 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 90 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 91 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 92 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 93 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 94
bogdanm 20:4263a77256ae 95 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 96 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 97 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 98 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 99 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 100 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 101 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 102 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 103 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 104 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 105
bogdanm 20:4263a77256ae 106 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 107 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 108 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 109 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 110 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 111 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 112 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 113 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 114 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 115 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 116
bogdanm 20:4263a77256ae 117 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 118 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 119 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 120 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 121 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 122 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 123 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 124 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 125 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 126 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 127
bogdanm 20:4263a77256ae 128 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 129 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 130 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 131 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 132 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 133 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 134 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 135 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 136 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 137 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 138
bogdanm 20:4263a77256ae 139 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 140 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 141 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 142 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 143 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 144 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 145 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 146 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 147 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 148 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 149
bogdanm 20:4263a77256ae 150 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 151 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 152 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 153 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 154 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 155 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 156 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 157 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 158 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 159 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 160
bogdanm 20:4263a77256ae 161 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 162 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 163 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 164 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 165 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 166 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 167 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 168 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 169 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 170 DCD 0xFFFFFFFF ; Datafill
bogdanm 20:4263a77256ae 171
bogdanm 20:4263a77256ae 172 IF :LNOT::DEF:NO_CRP
bogdanm 20:4263a77256ae 173 AREA |.ARM.__at_0x02FC|, CODE, READONLY
bogdanm 20:4263a77256ae 174 CRP_Key DCD 0xFFFFFFFF
bogdanm 20:4263a77256ae 175 ENDIF
bogdanm 20:4263a77256ae 176
bogdanm 20:4263a77256ae 177
bogdanm 20:4263a77256ae 178 AREA |.text|, CODE, READONLY
bogdanm 20:4263a77256ae 179
bogdanm 20:4263a77256ae 180
bogdanm 20:4263a77256ae 181
bogdanm 20:4263a77256ae 182 ; Reset Handler
bogdanm 20:4263a77256ae 183
bogdanm 20:4263a77256ae 184 Reset_Handler PROC
bogdanm 20:4263a77256ae 185 EXPORT Reset_Handler [WEAK]
bogdanm 20:4263a77256ae 186 IMPORT SystemInit
bogdanm 20:4263a77256ae 187 IMPORT __main
bogdanm 20:4263a77256ae 188 LDR R0, =SystemInit
bogdanm 20:4263a77256ae 189 BLX R0
bogdanm 20:4263a77256ae 190 LDR R0, =__main
bogdanm 20:4263a77256ae 191 BX R0
bogdanm 20:4263a77256ae 192 ENDP
bogdanm 20:4263a77256ae 193
bogdanm 20:4263a77256ae 194 ; Dummy Exception Handlers (infinite loops which can be modified)
bogdanm 20:4263a77256ae 195
bogdanm 20:4263a77256ae 196 ; now, under COMMON NMI.c and NMI.h, a real NMI handler is created if NMI is enabled
bogdanm 20:4263a77256ae 197 ; for particular peripheral.
bogdanm 20:4263a77256ae 198 ;NMI_Handler PROC
bogdanm 20:4263a77256ae 199 ; EXPORT NMI_Handler [WEAK]
bogdanm 20:4263a77256ae 200 ; B .
bogdanm 20:4263a77256ae 201 ; ENDP
bogdanm 20:4263a77256ae 202 HardFault_Handler\
bogdanm 20:4263a77256ae 203 PROC
bogdanm 20:4263a77256ae 204 EXPORT HardFault_Handler [WEAK]
bogdanm 20:4263a77256ae 205 B .
bogdanm 20:4263a77256ae 206 ENDP
bogdanm 20:4263a77256ae 207 SVC_Handler PROC
bogdanm 20:4263a77256ae 208 EXPORT SVC_Handler [WEAK]
bogdanm 20:4263a77256ae 209 B .
bogdanm 20:4263a77256ae 210 ENDP
bogdanm 20:4263a77256ae 211 PendSV_Handler PROC
bogdanm 20:4263a77256ae 212 EXPORT PendSV_Handler [WEAK]
bogdanm 20:4263a77256ae 213 B .
bogdanm 20:4263a77256ae 214 ENDP
bogdanm 20:4263a77256ae 215 SysTick_Handler PROC
bogdanm 20:4263a77256ae 216 EXPORT SysTick_Handler [WEAK]
bogdanm 20:4263a77256ae 217 B .
bogdanm 20:4263a77256ae 218 ENDP
bogdanm 20:4263a77256ae 219 Reserved_IRQHandler PROC
bogdanm 20:4263a77256ae 220 EXPORT Reserved_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 221 B .
bogdanm 20:4263a77256ae 222 ENDP
bogdanm 20:4263a77256ae 223
bogdanm 20:4263a77256ae 224 Default_Handler PROC
bogdanm 20:4263a77256ae 225 ; for LPC11Uxx (With USB)
bogdanm 20:4263a77256ae 226 EXPORT NMI_Handler [WEAK]
bogdanm 20:4263a77256ae 227 EXPORT FLEX_INT0_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 228 EXPORT FLEX_INT1_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 229 EXPORT FLEX_INT2_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 230 EXPORT FLEX_INT3_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 231 EXPORT FLEX_INT4_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 232 EXPORT FLEX_INT5_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 233 EXPORT FLEX_INT6_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 234 EXPORT FLEX_INT7_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 235 EXPORT GINT0_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 236 EXPORT GINT1_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 237 EXPORT SSP1_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 238 EXPORT I2C_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 239 EXPORT TIMER16_0_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 240 EXPORT TIMER16_1_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 241 EXPORT TIMER32_0_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 242 EXPORT TIMER32_1_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 243 EXPORT SSP0_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 244 EXPORT UART_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 245
bogdanm 20:4263a77256ae 246 EXPORT USB_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 247 EXPORT USB_FIQHandler [WEAK]
bogdanm 20:4263a77256ae 248 EXPORT ADC_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 249 EXPORT WDT_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 250 EXPORT BOD_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 251 EXPORT FMC_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 252 EXPORT USBWakeup_IRQHandler [WEAK]
bogdanm 20:4263a77256ae 253
bogdanm 20:4263a77256ae 254 NMI_Handler
bogdanm 20:4263a77256ae 255 FLEX_INT0_IRQHandler
bogdanm 20:4263a77256ae 256 FLEX_INT1_IRQHandler
bogdanm 20:4263a77256ae 257 FLEX_INT2_IRQHandler
bogdanm 20:4263a77256ae 258 FLEX_INT3_IRQHandler
bogdanm 20:4263a77256ae 259 FLEX_INT4_IRQHandler
bogdanm 20:4263a77256ae 260 FLEX_INT5_IRQHandler
bogdanm 20:4263a77256ae 261 FLEX_INT6_IRQHandler
bogdanm 20:4263a77256ae 262 FLEX_INT7_IRQHandler
bogdanm 20:4263a77256ae 263 GINT0_IRQHandler
bogdanm 20:4263a77256ae 264 GINT1_IRQHandler
bogdanm 20:4263a77256ae 265 SSP1_IRQHandler
bogdanm 20:4263a77256ae 266 I2C_IRQHandler
bogdanm 20:4263a77256ae 267 TIMER16_0_IRQHandler
bogdanm 20:4263a77256ae 268 TIMER16_1_IRQHandler
bogdanm 20:4263a77256ae 269 TIMER32_0_IRQHandler
bogdanm 20:4263a77256ae 270 TIMER32_1_IRQHandler
bogdanm 20:4263a77256ae 271 SSP0_IRQHandler
bogdanm 20:4263a77256ae 272 UART_IRQHandler
bogdanm 20:4263a77256ae 273 USB_IRQHandler
bogdanm 20:4263a77256ae 274 USB_FIQHandler
bogdanm 20:4263a77256ae 275 ADC_IRQHandler
bogdanm 20:4263a77256ae 276 WDT_IRQHandler
bogdanm 20:4263a77256ae 277 BOD_IRQHandler
bogdanm 20:4263a77256ae 278 FMC_IRQHandler
bogdanm 20:4263a77256ae 279 USBWakeup_IRQHandler
bogdanm 20:4263a77256ae 280
bogdanm 20:4263a77256ae 281 B .
bogdanm 20:4263a77256ae 282
bogdanm 20:4263a77256ae 283 ENDP
bogdanm 20:4263a77256ae 284
bogdanm 20:4263a77256ae 285 ALIGN
bogdanm 20:4263a77256ae 286 END