Mbed OS and Pelion Device Management example over WIFI for DISCO_L475VG_IOT01 board

Dependencies:   X_NUCLEO_COMMON ST_INTERFACES

DEPRECATED

This example application is not maintained and not recommended. It uses an old version of Mbed OS, Pelion DM and Arm toolchain. It doesn't work with Mbed Studio.

Please use: https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-pelion/

This example is known to work on the following platforms:

DISCO_L475E_IOT01A

Follow the Quick-Start instructions: https://cloud.mbed.com/quick-start

Example functionality

This example showcases the following device functionality:

  • Read onboard temperature and humidity sensors, and report them as Pelion LWM2M resources (see image below).
  • On user button click, increment Pelion LWM2M button resource.
  • Allow the user to change the state of the board LED from Pelion LWM2M led_state resource and PUT request.
  • Uses all onboard sensors and reports them as Pelion LWM2M resources.

/media/uploads/screamer/pelion_st_humidity_reading.png?v=2

Use this example with Mbed CLI

1. Import the application into your desktop:

mbed import https://os.mbed.com/teams/ST/code/pelion-example-disco-iot01

cd pelion-example-disco-iot01

2. Install the CLOUD_SDK_API_KEY

mbed config -G CLOUD_SDK_API_KEY <PELION_DM_API_KEY>

For instructions on how to generate your API key, please see the documentation.

3. Initialize firmware credentials (done once per repository). You can use the following command:

mbed dm init -d "<your company name in Pelion DM>" --model-name "<product model identifier>" -q --force

If above command do not work for your Mbed CLI, please consider upgrading Mbed CLI to version 1.8.x or above.

4. Compile and program:

mbed compile -t <toolchain> -m DISCO_L475VG_IOT01A

(supported toolchains : GCC_ARM / ARM / IAR)

5. You can connect on a virtual terminal/COM port to the platform using:

mbed sterm -b 115200

This should give you an output similar to:

[BOOT] Mbed Bootloader
[BOOT] ARM: 00000000000000000000
[BOOT] OEM: 00000000000000000000
[BOOT] Layout: 0 80096F4
[BOOT] Active firmware integrity check:
[BOOT] SHA256: 0660E360D432225D5251461998FD8617B017098C5F1F90D5FB607BF8C27ED530
[BOOT] Version: 1553615309
[BOOT] Slot 0 is empty
[BOOT] Active firmware up-to-date
[BOOT] Application's start address: 0x8010400
[BOOT] Application's jump address: 0x8011041
[BOOT] Application's stack address: 0x20018000
[BOOT] Forwarding to application...

Starting Simple Pelion Device Management Client example
You can hold the user button during boot to format the storage and change the device identity.

Sensors configuration:
Invalid new address!
HTS221  humidity & temperature    = 0xBC
LPS22HB pressure & temperature    = 0xB1
LIS3MDL magnetometer              = 0x3D
LSM6DSL accelerometer & gyroscope = 0x6A

Connecting to the network using Wifi...
Connected to the network successfully. IP address: 192.168.1.3
Initializing Pelion Device Management Client...
Initialized Pelion Client. Registering...
Registered to Pelion Device Management. Endpoint Name: 0169********************001002d5

ADC temp:     23.0037 C,  vref:      0.3661 V
HTS221 temp:   28.700 C,  humidity:   31.90 %
LPS22HB temp:  29.600 C,  pressure: 1032.01 mbar
LIS3MDL mag:    0.217 x,  -0.284 y,  -0.053 z [gauss]
LSM6DSL acc:    0.005 x,  -0.014 y,   1.029 z [g]
LSM6DSL gyro:   0.910 x,  -0.910 y,   1.120 z [dps]
VL53L0X dist:    1855 mm
Committer:
screamer
Date:
Sat Mar 09 00:46:54 2019 +0000
Revision:
30:15743b79c6cb
Parent:
28:0e774865873d
Child:
31:da14aa77f977
Update to Mbed OS 5.11.5 and latest ISM43362 driver

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 30:15743b79c6cb 1 /**
screamer 30:15743b79c6cb 2 ******************************************************************************
screamer 30:15743b79c6cb 3 * @file startup_stm32l475xx.s
screamer 30:15743b79c6cb 4 * @author MCD Application Team
screamer 30:15743b79c6cb 5 * @version V1.2.0
screamer 30:15743b79c6cb 6 * @date 28-October-2016
screamer 30:15743b79c6cb 7 * @brief STM32L475xx devices vector table for GCC toolchain.
screamer 30:15743b79c6cb 8 * This module performs:
screamer 30:15743b79c6cb 9 * - Set the initial SP
screamer 30:15743b79c6cb 10 * - Set the initial PC == Reset_Handler,
screamer 30:15743b79c6cb 11 * - Set the vector table entries with the exceptions ISR address,
screamer 30:15743b79c6cb 12 * - Configure the clock system
screamer 30:15743b79c6cb 13 * - Branches to main in the C library (which eventually
screamer 30:15743b79c6cb 14 * calls main()).
screamer 30:15743b79c6cb 15 * After Reset the Cortex-M4 processor is in Thread mode,
screamer 30:15743b79c6cb 16 * priority is Privileged, and the Stack is set to Main.
screamer 30:15743b79c6cb 17 ******************************************************************************
screamer 30:15743b79c6cb 18 * @attention
screamer 30:15743b79c6cb 19 *
screamer 30:15743b79c6cb 20 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
screamer 30:15743b79c6cb 21 *
screamer 30:15743b79c6cb 22 * Redistribution and use in source and binary forms, with or without modification,
screamer 30:15743b79c6cb 23 * are permitted provided that the following conditions are met:
screamer 30:15743b79c6cb 24 * 1. Redistributions of source code must retain the above copyright notice,
screamer 30:15743b79c6cb 25 * this list of conditions and the following disclaimer.
screamer 30:15743b79c6cb 26 * 2. Redistributions in binary form must reproduce the above copyright notice,
screamer 30:15743b79c6cb 27 * this list of conditions and the following disclaimer in the documentation
screamer 30:15743b79c6cb 28 * and/or other materials provided with the distribution.
screamer 30:15743b79c6cb 29 * 3. Neither the name of STMicroelectronics nor the names of its contributors
screamer 30:15743b79c6cb 30 * may be used to endorse or promote products derived from this software
screamer 30:15743b79c6cb 31 * without specific prior written permission.
screamer 30:15743b79c6cb 32 *
screamer 30:15743b79c6cb 33 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
screamer 30:15743b79c6cb 34 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
screamer 30:15743b79c6cb 35 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
screamer 30:15743b79c6cb 36 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
screamer 30:15743b79c6cb 37 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
screamer 30:15743b79c6cb 38 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
screamer 30:15743b79c6cb 39 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
screamer 30:15743b79c6cb 40 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
screamer 30:15743b79c6cb 41 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
screamer 30:15743b79c6cb 42 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
screamer 30:15743b79c6cb 43 *
screamer 30:15743b79c6cb 44 ******************************************************************************
screamer 30:15743b79c6cb 45 */
screamer 30:15743b79c6cb 46
screamer 30:15743b79c6cb 47 .syntax unified
screamer 30:15743b79c6cb 48 .cpu cortex-m4
screamer 30:15743b79c6cb 49 .fpu softvfp
screamer 30:15743b79c6cb 50 .thumb
screamer 30:15743b79c6cb 51
screamer 30:15743b79c6cb 52 .global g_pfnVectors
screamer 30:15743b79c6cb 53 .global Default_Handler
screamer 30:15743b79c6cb 54
screamer 30:15743b79c6cb 55 /* start address for the initialization values of the .data section.
screamer 30:15743b79c6cb 56 defined in linker script */
screamer 30:15743b79c6cb 57 .word _sidata
screamer 30:15743b79c6cb 58 /* start address for the .data section. defined in linker script */
screamer 30:15743b79c6cb 59 .word _sdata
screamer 30:15743b79c6cb 60 /* end address for the .data section. defined in linker script */
screamer 30:15743b79c6cb 61 .word _edata
screamer 30:15743b79c6cb 62
screamer 30:15743b79c6cb 63 .equ BootRAM, 0xF1E0F85F
screamer 30:15743b79c6cb 64 /**
screamer 30:15743b79c6cb 65 * @brief This is the code that gets called when the processor first
screamer 30:15743b79c6cb 66 * starts execution following a reset event. Only the absolutely
screamer 30:15743b79c6cb 67 * necessary set is performed, after which the application
screamer 30:15743b79c6cb 68 * supplied main() routine is called.
screamer 30:15743b79c6cb 69 * @param None
screamer 30:15743b79c6cb 70 * @retval : None
screamer 30:15743b79c6cb 71 */
screamer 30:15743b79c6cb 72
screamer 30:15743b79c6cb 73 .section .text.Reset_Handler
screamer 30:15743b79c6cb 74 .weak Reset_Handler
screamer 30:15743b79c6cb 75 .type Reset_Handler, %function
screamer 30:15743b79c6cb 76 Reset_Handler:
screamer 30:15743b79c6cb 77 ldr sp, =_estack /* Atollic update: set stack pointer */
screamer 30:15743b79c6cb 78
screamer 30:15743b79c6cb 79 /* Copy the data segment initializers from flash to SRAM */
screamer 30:15743b79c6cb 80 movs r1, #0
screamer 30:15743b79c6cb 81 b LoopCopyDataInit
screamer 30:15743b79c6cb 82
screamer 30:15743b79c6cb 83 CopyDataInit:
screamer 30:15743b79c6cb 84 ldr r3, =_sidata
screamer 30:15743b79c6cb 85 ldr r3, [r3, r1]
screamer 30:15743b79c6cb 86 str r3, [r0, r1]
screamer 30:15743b79c6cb 87 adds r1, r1, #4
screamer 30:15743b79c6cb 88
screamer 30:15743b79c6cb 89 LoopCopyDataInit:
screamer 30:15743b79c6cb 90 ldr r0, =_sdata
screamer 30:15743b79c6cb 91 ldr r3, =_edata
screamer 30:15743b79c6cb 92 adds r2, r0, r1
screamer 30:15743b79c6cb 93 cmp r2, r3
screamer 30:15743b79c6cb 94 bcc CopyDataInit
screamer 30:15743b79c6cb 95
screamer 30:15743b79c6cb 96 /* Call the clock system intitialization function.*/
screamer 30:15743b79c6cb 97 bl SystemInit
screamer 30:15743b79c6cb 98 /* Call static constructors */
screamer 30:15743b79c6cb 99 //bl __libc_init_array
screamer 30:15743b79c6cb 100 /* Call the application's entry point.*/
screamer 30:15743b79c6cb 101 //bl main
screamer 30:15743b79c6cb 102 // Calling the crt0 'cold-start' entry point. There __libc_init_array is called
screamer 30:15743b79c6cb 103 // and when existing hardware_init_hook() and software_init_hook() before
screamer 30:15743b79c6cb 104 // starting main(). software_init_hook() is available and has to be called due
screamer 30:15743b79c6cb 105 // to initializsation when using rtos.
screamer 30:15743b79c6cb 106 bl _start
screamer 30:15743b79c6cb 107 bx lr
screamer 30:15743b79c6cb 108 .size Reset_Handler, .-Reset_Handler
screamer 30:15743b79c6cb 109
screamer 30:15743b79c6cb 110 /**
screamer 30:15743b79c6cb 111 * @brief This is the code that gets called when the processor receives an
screamer 30:15743b79c6cb 112 * unexpected interrupt. This simply enters an infinite loop, preserving
screamer 30:15743b79c6cb 113 * the system state for examination by a debugger.
screamer 30:15743b79c6cb 114 *
screamer 30:15743b79c6cb 115 * @param None
screamer 30:15743b79c6cb 116 * @retval : None
screamer 30:15743b79c6cb 117 */
screamer 30:15743b79c6cb 118 .section .text.Default_Handler,"ax",%progbits
screamer 30:15743b79c6cb 119 Default_Handler:
screamer 30:15743b79c6cb 120 Infinite_Loop:
screamer 30:15743b79c6cb 121 b Infinite_Loop
screamer 30:15743b79c6cb 122 .size Default_Handler, .-Default_Handler
screamer 30:15743b79c6cb 123 /******************************************************************************
screamer 30:15743b79c6cb 124 *
screamer 30:15743b79c6cb 125 * The minimal vector table for a Cortex-M4. Note that the proper constructs
screamer 30:15743b79c6cb 126 * must be placed on this to ensure that it ends up at physical address
screamer 30:15743b79c6cb 127 * 0x0000.0000.
screamer 30:15743b79c6cb 128 *
screamer 30:15743b79c6cb 129 ******************************************************************************/
screamer 30:15743b79c6cb 130 .section .isr_vector,"a",%progbits
screamer 30:15743b79c6cb 131 .type g_pfnVectors, %object
screamer 30:15743b79c6cb 132 .size g_pfnVectors, .-g_pfnVectors
screamer 30:15743b79c6cb 133
screamer 30:15743b79c6cb 134
screamer 30:15743b79c6cb 135 g_pfnVectors:
screamer 30:15743b79c6cb 136 .word _estack
screamer 30:15743b79c6cb 137 .word Reset_Handler
screamer 30:15743b79c6cb 138 .word NMI_Handler
screamer 30:15743b79c6cb 139 .word HardFault_Handler
screamer 30:15743b79c6cb 140 .word MemManage_Handler
screamer 30:15743b79c6cb 141 .word BusFault_Handler
screamer 30:15743b79c6cb 142 .word UsageFault_Handler
screamer 30:15743b79c6cb 143 .word 0
screamer 30:15743b79c6cb 144 .word 0
screamer 30:15743b79c6cb 145 .word 0
screamer 30:15743b79c6cb 146 .word 0
screamer 30:15743b79c6cb 147 .word SVC_Handler
screamer 30:15743b79c6cb 148 .word DebugMon_Handler
screamer 30:15743b79c6cb 149 .word 0
screamer 30:15743b79c6cb 150 .word PendSV_Handler
screamer 30:15743b79c6cb 151 .word SysTick_Handler
screamer 30:15743b79c6cb 152 .word WWDG_IRQHandler
screamer 30:15743b79c6cb 153 .word PVD_PVM_IRQHandler
screamer 30:15743b79c6cb 154 .word TAMP_STAMP_IRQHandler
screamer 30:15743b79c6cb 155 .word RTC_WKUP_IRQHandler
screamer 30:15743b79c6cb 156 .word FLASH_IRQHandler
screamer 30:15743b79c6cb 157 .word RCC_IRQHandler
screamer 30:15743b79c6cb 158 .word EXTI0_IRQHandler
screamer 30:15743b79c6cb 159 .word EXTI1_IRQHandler
screamer 30:15743b79c6cb 160 .word EXTI2_IRQHandler
screamer 30:15743b79c6cb 161 .word EXTI3_IRQHandler
screamer 30:15743b79c6cb 162 .word EXTI4_IRQHandler
screamer 30:15743b79c6cb 163 .word DMA1_Channel1_IRQHandler
screamer 30:15743b79c6cb 164 .word DMA1_Channel2_IRQHandler
screamer 30:15743b79c6cb 165 .word DMA1_Channel3_IRQHandler
screamer 30:15743b79c6cb 166 .word DMA1_Channel4_IRQHandler
screamer 30:15743b79c6cb 167 .word DMA1_Channel5_IRQHandler
screamer 30:15743b79c6cb 168 .word DMA1_Channel6_IRQHandler
screamer 30:15743b79c6cb 169 .word DMA1_Channel7_IRQHandler
screamer 30:15743b79c6cb 170 .word ADC1_2_IRQHandler
screamer 30:15743b79c6cb 171 .word CAN1_TX_IRQHandler
screamer 30:15743b79c6cb 172 .word CAN1_RX0_IRQHandler
screamer 30:15743b79c6cb 173 .word CAN1_RX1_IRQHandler
screamer 30:15743b79c6cb 174 .word CAN1_SCE_IRQHandler
screamer 30:15743b79c6cb 175 .word EXTI9_5_IRQHandler
screamer 30:15743b79c6cb 176 .word TIM1_BRK_TIM15_IRQHandler
screamer 30:15743b79c6cb 177 .word TIM1_UP_TIM16_IRQHandler
screamer 30:15743b79c6cb 178 .word TIM1_TRG_COM_TIM17_IRQHandler
screamer 30:15743b79c6cb 179 .word TIM1_CC_IRQHandler
screamer 30:15743b79c6cb 180 .word TIM2_IRQHandler
screamer 30:15743b79c6cb 181 .word TIM3_IRQHandler
screamer 30:15743b79c6cb 182 .word TIM4_IRQHandler
screamer 30:15743b79c6cb 183 .word I2C1_EV_IRQHandler
screamer 30:15743b79c6cb 184 .word I2C1_ER_IRQHandler
screamer 30:15743b79c6cb 185 .word I2C2_EV_IRQHandler
screamer 30:15743b79c6cb 186 .word I2C2_ER_IRQHandler
screamer 30:15743b79c6cb 187 .word SPI1_IRQHandler
screamer 30:15743b79c6cb 188 .word SPI2_IRQHandler
screamer 30:15743b79c6cb 189 .word USART1_IRQHandler
screamer 30:15743b79c6cb 190 .word USART2_IRQHandler
screamer 30:15743b79c6cb 191 .word USART3_IRQHandler
screamer 30:15743b79c6cb 192 .word EXTI15_10_IRQHandler
screamer 30:15743b79c6cb 193 .word RTC_Alarm_IRQHandler
screamer 30:15743b79c6cb 194 .word DFSDM1_FLT3_IRQHandler
screamer 30:15743b79c6cb 195 .word TIM8_BRK_IRQHandler
screamer 30:15743b79c6cb 196 .word TIM8_UP_IRQHandler
screamer 30:15743b79c6cb 197 .word TIM8_TRG_COM_IRQHandler
screamer 30:15743b79c6cb 198 .word TIM8_CC_IRQHandler
screamer 30:15743b79c6cb 199 .word ADC3_IRQHandler
screamer 30:15743b79c6cb 200 .word FMC_IRQHandler
screamer 30:15743b79c6cb 201 .word SDMMC1_IRQHandler
screamer 30:15743b79c6cb 202 .word TIM5_IRQHandler
screamer 30:15743b79c6cb 203 .word SPI3_IRQHandler
screamer 30:15743b79c6cb 204 .word UART4_IRQHandler
screamer 30:15743b79c6cb 205 .word UART5_IRQHandler
screamer 30:15743b79c6cb 206 .word TIM6_DAC_IRQHandler
screamer 30:15743b79c6cb 207 .word TIM7_IRQHandler
screamer 30:15743b79c6cb 208 .word DMA2_Channel1_IRQHandler
screamer 30:15743b79c6cb 209 .word DMA2_Channel2_IRQHandler
screamer 30:15743b79c6cb 210 .word DMA2_Channel3_IRQHandler
screamer 30:15743b79c6cb 211 .word DMA2_Channel4_IRQHandler
screamer 30:15743b79c6cb 212 .word DMA2_Channel5_IRQHandler
screamer 30:15743b79c6cb 213 .word DFSDM1_FLT0_IRQHandler
screamer 30:15743b79c6cb 214 .word DFSDM1_FLT1_IRQHandler
screamer 30:15743b79c6cb 215 .word DFSDM1_FLT2_IRQHandler
screamer 30:15743b79c6cb 216 .word COMP_IRQHandler
screamer 30:15743b79c6cb 217 .word LPTIM1_IRQHandler
screamer 30:15743b79c6cb 218 .word LPTIM2_IRQHandler
screamer 30:15743b79c6cb 219 .word OTG_FS_IRQHandler
screamer 30:15743b79c6cb 220 .word DMA2_Channel6_IRQHandler
screamer 30:15743b79c6cb 221 .word DMA2_Channel7_IRQHandler
screamer 30:15743b79c6cb 222 .word LPUART1_IRQHandler
screamer 30:15743b79c6cb 223 .word QUADSPI_IRQHandler
screamer 30:15743b79c6cb 224 .word I2C3_EV_IRQHandler
screamer 30:15743b79c6cb 225 .word I2C3_ER_IRQHandler
screamer 30:15743b79c6cb 226 .word SAI1_IRQHandler
screamer 30:15743b79c6cb 227 .word SAI2_IRQHandler
screamer 30:15743b79c6cb 228 .word SWPMI1_IRQHandler
screamer 30:15743b79c6cb 229 .word TSC_IRQHandler
screamer 30:15743b79c6cb 230 .word 0
screamer 30:15743b79c6cb 231 .word 0
screamer 30:15743b79c6cb 232 .word RNG_IRQHandler
screamer 30:15743b79c6cb 233 .word FPU_IRQHandler
screamer 30:15743b79c6cb 234
screamer 30:15743b79c6cb 235
screamer 30:15743b79c6cb 236 /*******************************************************************************
screamer 30:15743b79c6cb 237 *
screamer 30:15743b79c6cb 238 * Provide weak aliases for each Exception handler to the Default_Handler.
screamer 30:15743b79c6cb 239 * As they are weak aliases, any function with the same name will override
screamer 30:15743b79c6cb 240 * this definition.
screamer 30:15743b79c6cb 241 *
screamer 30:15743b79c6cb 242 *******************************************************************************/
screamer 30:15743b79c6cb 243
screamer 30:15743b79c6cb 244 .weak NMI_Handler
screamer 30:15743b79c6cb 245 .thumb_set NMI_Handler,Default_Handler
screamer 30:15743b79c6cb 246
screamer 30:15743b79c6cb 247 .weak HardFault_Handler
screamer 30:15743b79c6cb 248 .thumb_set HardFault_Handler,Default_Handler
screamer 30:15743b79c6cb 249
screamer 30:15743b79c6cb 250 .weak MemManage_Handler
screamer 30:15743b79c6cb 251 .thumb_set MemManage_Handler,Default_Handler
screamer 30:15743b79c6cb 252
screamer 30:15743b79c6cb 253 .weak BusFault_Handler
screamer 30:15743b79c6cb 254 .thumb_set BusFault_Handler,Default_Handler
screamer 30:15743b79c6cb 255
screamer 30:15743b79c6cb 256 .weak UsageFault_Handler
screamer 30:15743b79c6cb 257 .thumb_set UsageFault_Handler,Default_Handler
screamer 30:15743b79c6cb 258
screamer 30:15743b79c6cb 259 .weak SVC_Handler
screamer 30:15743b79c6cb 260 .thumb_set SVC_Handler,Default_Handler
screamer 30:15743b79c6cb 261
screamer 30:15743b79c6cb 262 .weak DebugMon_Handler
screamer 30:15743b79c6cb 263 .thumb_set DebugMon_Handler,Default_Handler
screamer 30:15743b79c6cb 264
screamer 30:15743b79c6cb 265 .weak PendSV_Handler
screamer 30:15743b79c6cb 266 .thumb_set PendSV_Handler,Default_Handler
screamer 30:15743b79c6cb 267
screamer 30:15743b79c6cb 268 .weak SysTick_Handler
screamer 30:15743b79c6cb 269 .thumb_set SysTick_Handler,Default_Handler
screamer 30:15743b79c6cb 270
screamer 30:15743b79c6cb 271 .weak WWDG_IRQHandler
screamer 30:15743b79c6cb 272 .thumb_set WWDG_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 273
screamer 30:15743b79c6cb 274 .weak PVD_PVM_IRQHandler
screamer 30:15743b79c6cb 275 .thumb_set PVD_PVM_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 276
screamer 30:15743b79c6cb 277 .weak TAMP_STAMP_IRQHandler
screamer 30:15743b79c6cb 278 .thumb_set TAMP_STAMP_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 279
screamer 30:15743b79c6cb 280 .weak RTC_WKUP_IRQHandler
screamer 30:15743b79c6cb 281 .thumb_set RTC_WKUP_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 282
screamer 30:15743b79c6cb 283 .weak FLASH_IRQHandler
screamer 30:15743b79c6cb 284 .thumb_set FLASH_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 285
screamer 30:15743b79c6cb 286 .weak RCC_IRQHandler
screamer 30:15743b79c6cb 287 .thumb_set RCC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 288
screamer 30:15743b79c6cb 289 .weak EXTI0_IRQHandler
screamer 30:15743b79c6cb 290 .thumb_set EXTI0_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 291
screamer 30:15743b79c6cb 292 .weak EXTI1_IRQHandler
screamer 30:15743b79c6cb 293 .thumb_set EXTI1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 294
screamer 30:15743b79c6cb 295 .weak EXTI2_IRQHandler
screamer 30:15743b79c6cb 296 .thumb_set EXTI2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 297
screamer 30:15743b79c6cb 298 .weak EXTI3_IRQHandler
screamer 30:15743b79c6cb 299 .thumb_set EXTI3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 300
screamer 30:15743b79c6cb 301 .weak EXTI4_IRQHandler
screamer 30:15743b79c6cb 302 .thumb_set EXTI4_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 303
screamer 30:15743b79c6cb 304 .weak DMA1_Channel1_IRQHandler
screamer 30:15743b79c6cb 305 .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 306
screamer 30:15743b79c6cb 307 .weak DMA1_Channel2_IRQHandler
screamer 30:15743b79c6cb 308 .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 309
screamer 30:15743b79c6cb 310 .weak DMA1_Channel3_IRQHandler
screamer 30:15743b79c6cb 311 .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 312
screamer 30:15743b79c6cb 313 .weak DMA1_Channel4_IRQHandler
screamer 30:15743b79c6cb 314 .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 315
screamer 30:15743b79c6cb 316 .weak DMA1_Channel5_IRQHandler
screamer 30:15743b79c6cb 317 .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 318
screamer 30:15743b79c6cb 319 .weak DMA1_Channel6_IRQHandler
screamer 30:15743b79c6cb 320 .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 321
screamer 30:15743b79c6cb 322 .weak DMA1_Channel7_IRQHandler
screamer 30:15743b79c6cb 323 .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 324
screamer 30:15743b79c6cb 325 .weak ADC1_2_IRQHandler
screamer 30:15743b79c6cb 326 .thumb_set ADC1_2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 327
screamer 30:15743b79c6cb 328 .weak CAN1_TX_IRQHandler
screamer 30:15743b79c6cb 329 .thumb_set CAN1_TX_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 330
screamer 30:15743b79c6cb 331 .weak CAN1_RX0_IRQHandler
screamer 30:15743b79c6cb 332 .thumb_set CAN1_RX0_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 333
screamer 30:15743b79c6cb 334 .weak CAN1_RX1_IRQHandler
screamer 30:15743b79c6cb 335 .thumb_set CAN1_RX1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 336
screamer 30:15743b79c6cb 337 .weak CAN1_SCE_IRQHandler
screamer 30:15743b79c6cb 338 .thumb_set CAN1_SCE_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 339
screamer 30:15743b79c6cb 340 .weak EXTI9_5_IRQHandler
screamer 30:15743b79c6cb 341 .thumb_set EXTI9_5_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 342
screamer 30:15743b79c6cb 343 .weak TIM1_BRK_TIM15_IRQHandler
screamer 30:15743b79c6cb 344 .thumb_set TIM1_BRK_TIM15_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 345
screamer 30:15743b79c6cb 346 .weak TIM1_UP_TIM16_IRQHandler
screamer 30:15743b79c6cb 347 .thumb_set TIM1_UP_TIM16_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 348
screamer 30:15743b79c6cb 349 .weak TIM1_TRG_COM_TIM17_IRQHandler
screamer 30:15743b79c6cb 350 .thumb_set TIM1_TRG_COM_TIM17_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 351
screamer 30:15743b79c6cb 352 .weak TIM1_CC_IRQHandler
screamer 30:15743b79c6cb 353 .thumb_set TIM1_CC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 354
screamer 30:15743b79c6cb 355 .weak TIM2_IRQHandler
screamer 30:15743b79c6cb 356 .thumb_set TIM2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 357
screamer 30:15743b79c6cb 358 .weak TIM3_IRQHandler
screamer 30:15743b79c6cb 359 .thumb_set TIM3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 360
screamer 30:15743b79c6cb 361 .weak TIM4_IRQHandler
screamer 30:15743b79c6cb 362 .thumb_set TIM4_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 363
screamer 30:15743b79c6cb 364 .weak I2C1_EV_IRQHandler
screamer 30:15743b79c6cb 365 .thumb_set I2C1_EV_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 366
screamer 30:15743b79c6cb 367 .weak I2C1_ER_IRQHandler
screamer 30:15743b79c6cb 368 .thumb_set I2C1_ER_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 369
screamer 30:15743b79c6cb 370 .weak I2C2_EV_IRQHandler
screamer 30:15743b79c6cb 371 .thumb_set I2C2_EV_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 372
screamer 30:15743b79c6cb 373 .weak I2C2_ER_IRQHandler
screamer 30:15743b79c6cb 374 .thumb_set I2C2_ER_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 375
screamer 30:15743b79c6cb 376 .weak SPI1_IRQHandler
screamer 30:15743b79c6cb 377 .thumb_set SPI1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 378
screamer 30:15743b79c6cb 379 .weak SPI2_IRQHandler
screamer 30:15743b79c6cb 380 .thumb_set SPI2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 381
screamer 30:15743b79c6cb 382 .weak USART1_IRQHandler
screamer 30:15743b79c6cb 383 .thumb_set USART1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 384
screamer 30:15743b79c6cb 385 .weak USART2_IRQHandler
screamer 30:15743b79c6cb 386 .thumb_set USART2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 387
screamer 30:15743b79c6cb 388 .weak USART3_IRQHandler
screamer 30:15743b79c6cb 389 .thumb_set USART3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 390
screamer 30:15743b79c6cb 391 .weak EXTI15_10_IRQHandler
screamer 30:15743b79c6cb 392 .thumb_set EXTI15_10_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 393
screamer 30:15743b79c6cb 394 .weak RTC_Alarm_IRQHandler
screamer 30:15743b79c6cb 395 .thumb_set RTC_Alarm_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 396
screamer 30:15743b79c6cb 397 .weak DFSDM1_FLT3_IRQHandler
screamer 30:15743b79c6cb 398 .thumb_set DFSDM1_FLT3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 399
screamer 30:15743b79c6cb 400 .weak TIM8_BRK_IRQHandler
screamer 30:15743b79c6cb 401 .thumb_set TIM8_BRK_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 402
screamer 30:15743b79c6cb 403 .weak TIM8_UP_IRQHandler
screamer 30:15743b79c6cb 404 .thumb_set TIM8_UP_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 405
screamer 30:15743b79c6cb 406 .weak TIM8_TRG_COM_IRQHandler
screamer 30:15743b79c6cb 407 .thumb_set TIM8_TRG_COM_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 408
screamer 30:15743b79c6cb 409 .weak TIM8_CC_IRQHandler
screamer 30:15743b79c6cb 410 .thumb_set TIM8_CC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 411
screamer 30:15743b79c6cb 412 .weak ADC3_IRQHandler
screamer 30:15743b79c6cb 413 .thumb_set ADC3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 414
screamer 30:15743b79c6cb 415 .weak FMC_IRQHandler
screamer 30:15743b79c6cb 416 .thumb_set FMC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 417
screamer 30:15743b79c6cb 418 .weak SDMMC1_IRQHandler
screamer 30:15743b79c6cb 419 .thumb_set SDMMC1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 420
screamer 30:15743b79c6cb 421 .weak TIM5_IRQHandler
screamer 30:15743b79c6cb 422 .thumb_set TIM5_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 423
screamer 30:15743b79c6cb 424 .weak SPI3_IRQHandler
screamer 30:15743b79c6cb 425 .thumb_set SPI3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 426
screamer 30:15743b79c6cb 427 .weak UART4_IRQHandler
screamer 30:15743b79c6cb 428 .thumb_set UART4_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 429
screamer 30:15743b79c6cb 430 .weak UART5_IRQHandler
screamer 30:15743b79c6cb 431 .thumb_set UART5_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 432
screamer 30:15743b79c6cb 433 .weak TIM6_DAC_IRQHandler
screamer 30:15743b79c6cb 434 .thumb_set TIM6_DAC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 435
screamer 30:15743b79c6cb 436 .weak TIM7_IRQHandler
screamer 30:15743b79c6cb 437 .thumb_set TIM7_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 438
screamer 30:15743b79c6cb 439 .weak DMA2_Channel1_IRQHandler
screamer 30:15743b79c6cb 440 .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 441
screamer 30:15743b79c6cb 442 .weak DMA2_Channel2_IRQHandler
screamer 30:15743b79c6cb 443 .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 444
screamer 30:15743b79c6cb 445 .weak DMA2_Channel3_IRQHandler
screamer 30:15743b79c6cb 446 .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 447
screamer 30:15743b79c6cb 448 .weak DMA2_Channel4_IRQHandler
screamer 30:15743b79c6cb 449 .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 450
screamer 30:15743b79c6cb 451 .weak DMA2_Channel5_IRQHandler
screamer 30:15743b79c6cb 452 .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 453
screamer 30:15743b79c6cb 454 .weak DFSDM1_FLT0_IRQHandler
screamer 30:15743b79c6cb 455 .thumb_set DFSDM1_FLT0_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 456
screamer 30:15743b79c6cb 457 .weak DFSDM1_FLT1_IRQHandler
screamer 30:15743b79c6cb 458 .thumb_set DFSDM1_FLT1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 459
screamer 30:15743b79c6cb 460 .weak DFSDM1_FLT2_IRQHandler
screamer 30:15743b79c6cb 461 .thumb_set DFSDM1_FLT2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 462
screamer 30:15743b79c6cb 463 .weak COMP_IRQHandler
screamer 30:15743b79c6cb 464 .thumb_set COMP_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 465
screamer 30:15743b79c6cb 466 .weak LPTIM1_IRQHandler
screamer 30:15743b79c6cb 467 .thumb_set LPTIM1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 468
screamer 30:15743b79c6cb 469 .weak LPTIM2_IRQHandler
screamer 30:15743b79c6cb 470 .thumb_set LPTIM2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 471
screamer 30:15743b79c6cb 472 .weak OTG_FS_IRQHandler
screamer 30:15743b79c6cb 473 .thumb_set OTG_FS_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 474
screamer 30:15743b79c6cb 475 .weak DMA2_Channel6_IRQHandler
screamer 30:15743b79c6cb 476 .thumb_set DMA2_Channel6_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 477
screamer 30:15743b79c6cb 478 .weak DMA2_Channel7_IRQHandler
screamer 30:15743b79c6cb 479 .thumb_set DMA2_Channel7_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 480
screamer 30:15743b79c6cb 481 .weak LPUART1_IRQHandler
screamer 30:15743b79c6cb 482 .thumb_set LPUART1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 483
screamer 30:15743b79c6cb 484 .weak QUADSPI_IRQHandler
screamer 30:15743b79c6cb 485 .thumb_set QUADSPI_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 486
screamer 30:15743b79c6cb 487 .weak I2C3_EV_IRQHandler
screamer 30:15743b79c6cb 488 .thumb_set I2C3_EV_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 489
screamer 30:15743b79c6cb 490 .weak I2C3_ER_IRQHandler
screamer 30:15743b79c6cb 491 .thumb_set I2C3_ER_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 492
screamer 30:15743b79c6cb 493 .weak SAI1_IRQHandler
screamer 30:15743b79c6cb 494 .thumb_set SAI1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 495
screamer 30:15743b79c6cb 496 .weak SAI2_IRQHandler
screamer 30:15743b79c6cb 497 .thumb_set SAI2_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 498
screamer 30:15743b79c6cb 499 .weak SWPMI1_IRQHandler
screamer 30:15743b79c6cb 500 .thumb_set SWPMI1_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 501
screamer 30:15743b79c6cb 502 .weak TSC_IRQHandler
screamer 30:15743b79c6cb 503 .thumb_set TSC_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 504
screamer 30:15743b79c6cb 505 .weak RNG_IRQHandler
screamer 30:15743b79c6cb 506 .thumb_set RNG_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 507
screamer 30:15743b79c6cb 508 .weak FPU_IRQHandler
screamer 30:15743b79c6cb 509 .thumb_set FPU_IRQHandler,Default_Handler
screamer 30:15743b79c6cb 510 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/