Bluepill STM32F103C8 support for Mbed OS 6

Bluepill board support for Mbed OS 6

Warning

It does not work with the Mbed Online Compiler.

This is an example of configuration for the Bluepill board for Mbed OS 6.

It shows how to create a custom board support based on Mbed OS and how to compile a simple Blinky application.

Note this project makes use of the full Mbed OS with RTOS included. It's possible to make changes in the configuration to support the Baremetal profile and reduce memory requirements - see this.

Example application

This repository includes blinky.cpp as an example application to demonstrate how to use the Bluepill custom board support. It's expected to work out of the box using both Mbed CLI and Mbed Studio. Note this test application can be ignored using the MBED_BLINKY_EXAMPLE macro in mbed_app.json, so you can add your own files and application on top of this project.

You can follow these steps to import and compile with Mbed CLI:

mbed import https://os.mbed.com/users/hudakz/code/mbed-os-bluepill
mbed compile -t GCC_ARM -m bluepill

Bluepill and Mbed OS version support

BluepillMbed OS (hash)Status
preview6.2.0 (#a2ada74770 )Compiles and runs ok

Updating Mbed OS

Note not every version of Mbed OS is being tested, therefore update at your own risk. Unless strictly required, you should stick to versions of Mbed OS that are known to work ok.

If you do want to udpate Mbed OS, then follow these steps:

cd mbed-os
mbed update <mbed-os hash / tag>

Testing

This application has been tested on the Bluepill board and runs ok: it blinks and LED and sends a message over the serial port (115200 bauds - see mbed_app.json).

However, it's recomended to run regression tests based on the Greentea framework whether possible (more details to be added).

Programming with STLink programming utility

The Bluepill board doesn't have a programming interface on board. However, it's easy to connect an external adapter such as the STLink/V2 and get it working in minutes.

Use the STM32 ST-Link utility to program the binary into the device.

https://os.mbed.com/media/uploads/hudakz/stlink-prog.png

Wire the Bluepill to the STLink and serial adapter as follow:

BluepillSTLink (20-pin JTAG)Serial adapter
SDWIO (CN4)7-
SWCLK (CN4)9-
RESET15-
GND4GND
TX (PA_2)-RX
RX (PA_3)-TX

ST-LINK/V2 JTAG pintout
https://os.mbed.com/media/uploads/hudakz/jtag_pinout.png

This is the pinout of the Bluepill board: /media/uploads/hudakz/stm32f103c8t6_pinout_voltage01.png

https://os.mbed.com/media/uploads/hudakz/connections.jpg

Additional example programs

Bare metal on Bluepill
Bare metal with EventQueue on Bluepill

Warning

The examples above are not meant to be compiled with the online compiler. Follow these steps to import and compile them with Mbed CLI:

mbed import Program's_URL
mbed compile -t GCC_ARM -m bluepill

Known issues

  • Please check the issues reported.
Committer:
hudakz
Date:
Wed May 13 12:25:39 2020 +0000
Revision:
0:2577a4fb6e72
Bluepill STM32F103C8 support for Mbed OS 6

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:2577a4fb6e72 1 /**
hudakz 0:2577a4fb6e72 2 *************** (C) COPYRIGHT 2016 STMicroelectronics ************************
hudakz 0:2577a4fb6e72 3 * @file startup_stm32f103xb.s
hudakz 0:2577a4fb6e72 4 * @author MCD Application Team
hudakz 0:2577a4fb6e72 5 * @version V4.1.0
hudakz 0:2577a4fb6e72 6 * @date 29-April-2016
hudakz 0:2577a4fb6e72 7 * @brief STM32F103xB Devices vector table for Atollic toolchain.
hudakz 0:2577a4fb6e72 8 * This module performs:
hudakz 0:2577a4fb6e72 9 * - Set the initial SP
hudakz 0:2577a4fb6e72 10 * - Set the initial PC == Reset_Handler,
hudakz 0:2577a4fb6e72 11 * - Set the vector table entries with the exceptions ISR address
hudakz 0:2577a4fb6e72 12 * - Configure the clock system
hudakz 0:2577a4fb6e72 13 * - Branches to main in the C library (which eventually
hudakz 0:2577a4fb6e72 14 * calls main()).
hudakz 0:2577a4fb6e72 15 * After Reset the Cortex-M3 processor is in Thread mode,
hudakz 0:2577a4fb6e72 16 * priority is Privileged, and the Stack is set to Main.
hudakz 0:2577a4fb6e72 17 ******************************************************************************
hudakz 0:2577a4fb6e72 18 *
hudakz 0:2577a4fb6e72 19 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
hudakz 0:2577a4fb6e72 20 *
hudakz 0:2577a4fb6e72 21 * Redistribution and use in source and binary forms, with or without modification,
hudakz 0:2577a4fb6e72 22 * are permitted provided that the following conditions are met:
hudakz 0:2577a4fb6e72 23 * 1. Redistributions of source code must retain the above copyright notice,
hudakz 0:2577a4fb6e72 24 * this list of conditions and the following disclaimer.
hudakz 0:2577a4fb6e72 25 * 2. Redistributions in binary form must reproduce the above copyright notice,
hudakz 0:2577a4fb6e72 26 * this list of conditions and the following disclaimer in the documentation
hudakz 0:2577a4fb6e72 27 * and/or other materials provided with the distribution.
hudakz 0:2577a4fb6e72 28 * 3. Neither the name of STMicroelectronics nor the names of its contributors
hudakz 0:2577a4fb6e72 29 * may be used to endorse or promote products derived from this software
hudakz 0:2577a4fb6e72 30 * without specific prior written permission.
hudakz 0:2577a4fb6e72 31 *
hudakz 0:2577a4fb6e72 32 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
hudakz 0:2577a4fb6e72 33 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
hudakz 0:2577a4fb6e72 34 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
hudakz 0:2577a4fb6e72 35 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
hudakz 0:2577a4fb6e72 36 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
hudakz 0:2577a4fb6e72 37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
hudakz 0:2577a4fb6e72 38 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
hudakz 0:2577a4fb6e72 39 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
hudakz 0:2577a4fb6e72 40 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
hudakz 0:2577a4fb6e72 41 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
hudakz 0:2577a4fb6e72 42 *
hudakz 0:2577a4fb6e72 43 ******************************************************************************
hudakz 0:2577a4fb6e72 44 */
hudakz 0:2577a4fb6e72 45
hudakz 0:2577a4fb6e72 46 .syntax unified
hudakz 0:2577a4fb6e72 47 .cpu cortex-m3
hudakz 0:2577a4fb6e72 48 .fpu softvfp
hudakz 0:2577a4fb6e72 49 .thumb
hudakz 0:2577a4fb6e72 50
hudakz 0:2577a4fb6e72 51 .global g_pfnVectors
hudakz 0:2577a4fb6e72 52 .global Default_Handler
hudakz 0:2577a4fb6e72 53
hudakz 0:2577a4fb6e72 54 /* start address for the initialization values of the .data section.
hudakz 0:2577a4fb6e72 55 defined in linker script */
hudakz 0:2577a4fb6e72 56 .word _sidata
hudakz 0:2577a4fb6e72 57 /* start address for the .data section. defined in linker script */
hudakz 0:2577a4fb6e72 58 .word _sdata
hudakz 0:2577a4fb6e72 59 /* end address for the .data section. defined in linker script */
hudakz 0:2577a4fb6e72 60 .word _edata
hudakz 0:2577a4fb6e72 61
hudakz 0:2577a4fb6e72 62 .equ BootRAM, 0xF108F85F
hudakz 0:2577a4fb6e72 63 /**
hudakz 0:2577a4fb6e72 64 * @brief This is the code that gets called when the processor first
hudakz 0:2577a4fb6e72 65 * starts execution following a reset event. Only the absolutely
hudakz 0:2577a4fb6e72 66 * necessary set is performed, after which the application
hudakz 0:2577a4fb6e72 67 * supplied main() routine is called.
hudakz 0:2577a4fb6e72 68 * @param None
hudakz 0:2577a4fb6e72 69 * @retval : None
hudakz 0:2577a4fb6e72 70 */
hudakz 0:2577a4fb6e72 71
hudakz 0:2577a4fb6e72 72 .section .text.Reset_Handler
hudakz 0:2577a4fb6e72 73 .weak Reset_Handler
hudakz 0:2577a4fb6e72 74 .type Reset_Handler, %function
hudakz 0:2577a4fb6e72 75 Reset_Handler:
hudakz 0:2577a4fb6e72 76 ldr r0, =_estack
hudakz 0:2577a4fb6e72 77 mov sp, r0 /* set stack pointer */
hudakz 0:2577a4fb6e72 78
hudakz 0:2577a4fb6e72 79 /* Copy the data segment initializers from flash to SRAM */
hudakz 0:2577a4fb6e72 80 movs r1, #0
hudakz 0:2577a4fb6e72 81 b LoopCopyDataInit
hudakz 0:2577a4fb6e72 82
hudakz 0:2577a4fb6e72 83 CopyDataInit:
hudakz 0:2577a4fb6e72 84 ldr r3, =_sidata
hudakz 0:2577a4fb6e72 85 ldr r3, [r3, r1]
hudakz 0:2577a4fb6e72 86 str r3, [r0, r1]
hudakz 0:2577a4fb6e72 87 adds r1, r1, #4
hudakz 0:2577a4fb6e72 88
hudakz 0:2577a4fb6e72 89 LoopCopyDataInit:
hudakz 0:2577a4fb6e72 90 ldr r0, =_sdata
hudakz 0:2577a4fb6e72 91 ldr r3, =_edata
hudakz 0:2577a4fb6e72 92 adds r2, r0, r1
hudakz 0:2577a4fb6e72 93 cmp r2, r3
hudakz 0:2577a4fb6e72 94 bcc CopyDataInit
hudakz 0:2577a4fb6e72 95
hudakz 0:2577a4fb6e72 96 /* Call the clock system intitialization function.*/
hudakz 0:2577a4fb6e72 97 bl SystemInit
hudakz 0:2577a4fb6e72 98 /* Call static constructors */
hudakz 0:2577a4fb6e72 99 //bl __libc_init_array
hudakz 0:2577a4fb6e72 100 /* Call the application's entry point.*/
hudakz 0:2577a4fb6e72 101 //bl main
hudakz 0:2577a4fb6e72 102 bl _start
hudakz 0:2577a4fb6e72 103
hudakz 0:2577a4fb6e72 104 LoopForever:
hudakz 0:2577a4fb6e72 105 b LoopForever
hudakz 0:2577a4fb6e72 106
hudakz 0:2577a4fb6e72 107
hudakz 0:2577a4fb6e72 108 .size Reset_Handler, .-Reset_Handler
hudakz 0:2577a4fb6e72 109
hudakz 0:2577a4fb6e72 110 /**
hudakz 0:2577a4fb6e72 111 * @brief This is the code that gets called when the processor receives an
hudakz 0:2577a4fb6e72 112 * unexpected interrupt. This simply enters an infinite loop, preserving
hudakz 0:2577a4fb6e72 113 * the system state for examination by a debugger.
hudakz 0:2577a4fb6e72 114 *
hudakz 0:2577a4fb6e72 115 * @param None
hudakz 0:2577a4fb6e72 116 * @retval : None
hudakz 0:2577a4fb6e72 117 */
hudakz 0:2577a4fb6e72 118 .section .text.Default_Handler,"ax",%progbits
hudakz 0:2577a4fb6e72 119 Default_Handler:
hudakz 0:2577a4fb6e72 120 Infinite_Loop:
hudakz 0:2577a4fb6e72 121 b Infinite_Loop
hudakz 0:2577a4fb6e72 122 .size Default_Handler, .-Default_Handler
hudakz 0:2577a4fb6e72 123 /******************************************************************************
hudakz 0:2577a4fb6e72 124 *
hudakz 0:2577a4fb6e72 125 * The minimal vector table for a Cortex M3. Note that the proper constructs
hudakz 0:2577a4fb6e72 126 * must be placed on this to ensure that it ends up at physical address
hudakz 0:2577a4fb6e72 127 * 0x0000.0000.
hudakz 0:2577a4fb6e72 128 *
hudakz 0:2577a4fb6e72 129 ******************************************************************************/
hudakz 0:2577a4fb6e72 130 .section .isr_vector,"a",%progbits
hudakz 0:2577a4fb6e72 131 .type g_pfnVectors, %object
hudakz 0:2577a4fb6e72 132 .size g_pfnVectors, .-g_pfnVectors
hudakz 0:2577a4fb6e72 133
hudakz 0:2577a4fb6e72 134
hudakz 0:2577a4fb6e72 135 g_pfnVectors:
hudakz 0:2577a4fb6e72 136
hudakz 0:2577a4fb6e72 137 .word _estack
hudakz 0:2577a4fb6e72 138 .word Reset_Handler
hudakz 0:2577a4fb6e72 139 .word NMI_Handler
hudakz 0:2577a4fb6e72 140 .word HardFault_Handler
hudakz 0:2577a4fb6e72 141 .word MemManage_Handler
hudakz 0:2577a4fb6e72 142 .word BusFault_Handler
hudakz 0:2577a4fb6e72 143 .word UsageFault_Handler
hudakz 0:2577a4fb6e72 144 .word 0
hudakz 0:2577a4fb6e72 145 .word 0
hudakz 0:2577a4fb6e72 146 .word 0
hudakz 0:2577a4fb6e72 147 .word 0
hudakz 0:2577a4fb6e72 148 .word SVC_Handler
hudakz 0:2577a4fb6e72 149 .word DebugMon_Handler
hudakz 0:2577a4fb6e72 150 .word 0
hudakz 0:2577a4fb6e72 151 .word PendSV_Handler
hudakz 0:2577a4fb6e72 152 .word SysTick_Handler
hudakz 0:2577a4fb6e72 153 .word WWDG_IRQHandler
hudakz 0:2577a4fb6e72 154 .word PVD_IRQHandler
hudakz 0:2577a4fb6e72 155 .word TAMPER_IRQHandler
hudakz 0:2577a4fb6e72 156 .word RTC_IRQHandler
hudakz 0:2577a4fb6e72 157 .word FLASH_IRQHandler
hudakz 0:2577a4fb6e72 158 .word RCC_IRQHandler
hudakz 0:2577a4fb6e72 159 .word EXTI0_IRQHandler
hudakz 0:2577a4fb6e72 160 .word EXTI1_IRQHandler
hudakz 0:2577a4fb6e72 161 .word EXTI2_IRQHandler
hudakz 0:2577a4fb6e72 162 .word EXTI3_IRQHandler
hudakz 0:2577a4fb6e72 163 .word EXTI4_IRQHandler
hudakz 0:2577a4fb6e72 164 .word DMA1_Channel1_IRQHandler
hudakz 0:2577a4fb6e72 165 .word DMA1_Channel2_IRQHandler
hudakz 0:2577a4fb6e72 166 .word DMA1_Channel3_IRQHandler
hudakz 0:2577a4fb6e72 167 .word DMA1_Channel4_IRQHandler
hudakz 0:2577a4fb6e72 168 .word DMA1_Channel5_IRQHandler
hudakz 0:2577a4fb6e72 169 .word DMA1_Channel6_IRQHandler
hudakz 0:2577a4fb6e72 170 .word DMA1_Channel7_IRQHandler
hudakz 0:2577a4fb6e72 171 .word ADC1_2_IRQHandler
hudakz 0:2577a4fb6e72 172 .word USB_HP_CAN1_TX_IRQHandler
hudakz 0:2577a4fb6e72 173 .word USB_LP_CAN1_RX0_IRQHandler
hudakz 0:2577a4fb6e72 174 .word CAN1_RX1_IRQHandler
hudakz 0:2577a4fb6e72 175 .word CAN1_SCE_IRQHandler
hudakz 0:2577a4fb6e72 176 .word EXTI9_5_IRQHandler
hudakz 0:2577a4fb6e72 177 .word TIM1_BRK_IRQHandler
hudakz 0:2577a4fb6e72 178 .word TIM1_UP_IRQHandler
hudakz 0:2577a4fb6e72 179 .word TIM1_TRG_COM_IRQHandler
hudakz 0:2577a4fb6e72 180 .word TIM1_CC_IRQHandler
hudakz 0:2577a4fb6e72 181 .word TIM2_IRQHandler
hudakz 0:2577a4fb6e72 182 .word TIM3_IRQHandler
hudakz 0:2577a4fb6e72 183 .word TIM4_IRQHandler
hudakz 0:2577a4fb6e72 184 .word I2C1_EV_IRQHandler
hudakz 0:2577a4fb6e72 185 .word I2C1_ER_IRQHandler
hudakz 0:2577a4fb6e72 186 .word I2C2_EV_IRQHandler
hudakz 0:2577a4fb6e72 187 .word I2C2_ER_IRQHandler
hudakz 0:2577a4fb6e72 188 .word SPI1_IRQHandler
hudakz 0:2577a4fb6e72 189 .word SPI2_IRQHandler
hudakz 0:2577a4fb6e72 190 .word USART1_IRQHandler
hudakz 0:2577a4fb6e72 191 .word USART2_IRQHandler
hudakz 0:2577a4fb6e72 192 .word USART3_IRQHandler
hudakz 0:2577a4fb6e72 193 .word EXTI15_10_IRQHandler
hudakz 0:2577a4fb6e72 194 .word RTC_Alarm_IRQHandler
hudakz 0:2577a4fb6e72 195 .word USBWakeUp_IRQHandler
hudakz 0:2577a4fb6e72 196 .word 0
hudakz 0:2577a4fb6e72 197 .word 0
hudakz 0:2577a4fb6e72 198 .word 0
hudakz 0:2577a4fb6e72 199 .word 0
hudakz 0:2577a4fb6e72 200 .word 0
hudakz 0:2577a4fb6e72 201 .word 0
hudakz 0:2577a4fb6e72 202 .word 0
hudakz 0:2577a4fb6e72 203 .word BootRAM /* @0x108. This is for boot in RAM mode for
hudakz 0:2577a4fb6e72 204 STM32F10x Medium Density devices. */
hudakz 0:2577a4fb6e72 205
hudakz 0:2577a4fb6e72 206 /*******************************************************************************
hudakz 0:2577a4fb6e72 207 *
hudakz 0:2577a4fb6e72 208 * Provide weak aliases for each Exception handler to the Default_Handler.
hudakz 0:2577a4fb6e72 209 * As they are weak aliases, any function with the same name will override
hudakz 0:2577a4fb6e72 210 * this definition.
hudakz 0:2577a4fb6e72 211 *
hudakz 0:2577a4fb6e72 212 *******************************************************************************/
hudakz 0:2577a4fb6e72 213
hudakz 0:2577a4fb6e72 214 .weak NMI_Handler
hudakz 0:2577a4fb6e72 215 .thumb_set NMI_Handler,Default_Handler
hudakz 0:2577a4fb6e72 216
hudakz 0:2577a4fb6e72 217 .weak HardFault_Handler
hudakz 0:2577a4fb6e72 218 .thumb_set HardFault_Handler,Default_Handler
hudakz 0:2577a4fb6e72 219
hudakz 0:2577a4fb6e72 220 .weak MemManage_Handler
hudakz 0:2577a4fb6e72 221 .thumb_set MemManage_Handler,Default_Handler
hudakz 0:2577a4fb6e72 222
hudakz 0:2577a4fb6e72 223 .weak BusFault_Handler
hudakz 0:2577a4fb6e72 224 .thumb_set BusFault_Handler,Default_Handler
hudakz 0:2577a4fb6e72 225
hudakz 0:2577a4fb6e72 226 .weak UsageFault_Handler
hudakz 0:2577a4fb6e72 227 .thumb_set UsageFault_Handler,Default_Handler
hudakz 0:2577a4fb6e72 228
hudakz 0:2577a4fb6e72 229 .weak SVC_Handler
hudakz 0:2577a4fb6e72 230 .thumb_set SVC_Handler,Default_Handler
hudakz 0:2577a4fb6e72 231
hudakz 0:2577a4fb6e72 232 .weak DebugMon_Handler
hudakz 0:2577a4fb6e72 233 .thumb_set DebugMon_Handler,Default_Handler
hudakz 0:2577a4fb6e72 234
hudakz 0:2577a4fb6e72 235 .weak PendSV_Handler
hudakz 0:2577a4fb6e72 236 .thumb_set PendSV_Handler,Default_Handler
hudakz 0:2577a4fb6e72 237
hudakz 0:2577a4fb6e72 238 .weak SysTick_Handler
hudakz 0:2577a4fb6e72 239 .thumb_set SysTick_Handler,Default_Handler
hudakz 0:2577a4fb6e72 240
hudakz 0:2577a4fb6e72 241 .weak WWDG_IRQHandler
hudakz 0:2577a4fb6e72 242 .thumb_set WWDG_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 243
hudakz 0:2577a4fb6e72 244 .weak PVD_IRQHandler
hudakz 0:2577a4fb6e72 245 .thumb_set PVD_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 246
hudakz 0:2577a4fb6e72 247 .weak TAMPER_IRQHandler
hudakz 0:2577a4fb6e72 248 .thumb_set TAMPER_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 249
hudakz 0:2577a4fb6e72 250 .weak RTC_IRQHandler
hudakz 0:2577a4fb6e72 251 .thumb_set RTC_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 252
hudakz 0:2577a4fb6e72 253 .weak FLASH_IRQHandler
hudakz 0:2577a4fb6e72 254 .thumb_set FLASH_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 255
hudakz 0:2577a4fb6e72 256 .weak RCC_IRQHandler
hudakz 0:2577a4fb6e72 257 .thumb_set RCC_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 258
hudakz 0:2577a4fb6e72 259 .weak EXTI0_IRQHandler
hudakz 0:2577a4fb6e72 260 .thumb_set EXTI0_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 261
hudakz 0:2577a4fb6e72 262 .weak EXTI1_IRQHandler
hudakz 0:2577a4fb6e72 263 .thumb_set EXTI1_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 264
hudakz 0:2577a4fb6e72 265 .weak EXTI2_IRQHandler
hudakz 0:2577a4fb6e72 266 .thumb_set EXTI2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 267
hudakz 0:2577a4fb6e72 268 .weak EXTI3_IRQHandler
hudakz 0:2577a4fb6e72 269 .thumb_set EXTI3_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 270
hudakz 0:2577a4fb6e72 271 .weak EXTI4_IRQHandler
hudakz 0:2577a4fb6e72 272 .thumb_set EXTI4_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 273
hudakz 0:2577a4fb6e72 274 .weak DMA1_Channel1_IRQHandler
hudakz 0:2577a4fb6e72 275 .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 276
hudakz 0:2577a4fb6e72 277 .weak DMA1_Channel2_IRQHandler
hudakz 0:2577a4fb6e72 278 .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 279
hudakz 0:2577a4fb6e72 280 .weak DMA1_Channel3_IRQHandler
hudakz 0:2577a4fb6e72 281 .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 282
hudakz 0:2577a4fb6e72 283 .weak DMA1_Channel4_IRQHandler
hudakz 0:2577a4fb6e72 284 .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 285
hudakz 0:2577a4fb6e72 286 .weak DMA1_Channel5_IRQHandler
hudakz 0:2577a4fb6e72 287 .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 288
hudakz 0:2577a4fb6e72 289 .weak DMA1_Channel6_IRQHandler
hudakz 0:2577a4fb6e72 290 .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 291
hudakz 0:2577a4fb6e72 292 .weak DMA1_Channel7_IRQHandler
hudakz 0:2577a4fb6e72 293 .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 294
hudakz 0:2577a4fb6e72 295 .weak ADC1_2_IRQHandler
hudakz 0:2577a4fb6e72 296 .thumb_set ADC1_2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 297
hudakz 0:2577a4fb6e72 298 .weak USB_HP_CAN1_TX_IRQHandler
hudakz 0:2577a4fb6e72 299 .thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 300
hudakz 0:2577a4fb6e72 301 .weak USB_LP_CAN1_RX0_IRQHandler
hudakz 0:2577a4fb6e72 302 .thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 303
hudakz 0:2577a4fb6e72 304 .weak CAN1_RX1_IRQHandler
hudakz 0:2577a4fb6e72 305 .thumb_set CAN1_RX1_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 306
hudakz 0:2577a4fb6e72 307 .weak CAN1_SCE_IRQHandler
hudakz 0:2577a4fb6e72 308 .thumb_set CAN1_SCE_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 309
hudakz 0:2577a4fb6e72 310 .weak EXTI9_5_IRQHandler
hudakz 0:2577a4fb6e72 311 .thumb_set EXTI9_5_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 312
hudakz 0:2577a4fb6e72 313 .weak TIM1_BRK_IRQHandler
hudakz 0:2577a4fb6e72 314 .thumb_set TIM1_BRK_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 315
hudakz 0:2577a4fb6e72 316 .weak TIM1_UP_IRQHandler
hudakz 0:2577a4fb6e72 317 .thumb_set TIM1_UP_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 318
hudakz 0:2577a4fb6e72 319 .weak TIM1_TRG_COM_IRQHandler
hudakz 0:2577a4fb6e72 320 .thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 321
hudakz 0:2577a4fb6e72 322 .weak TIM1_CC_IRQHandler
hudakz 0:2577a4fb6e72 323 .thumb_set TIM1_CC_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 324
hudakz 0:2577a4fb6e72 325 .weak TIM2_IRQHandler
hudakz 0:2577a4fb6e72 326 .thumb_set TIM2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 327
hudakz 0:2577a4fb6e72 328 .weak TIM3_IRQHandler
hudakz 0:2577a4fb6e72 329 .thumb_set TIM3_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 330
hudakz 0:2577a4fb6e72 331 .weak TIM4_IRQHandler
hudakz 0:2577a4fb6e72 332 .thumb_set TIM4_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 333
hudakz 0:2577a4fb6e72 334 .weak I2C1_EV_IRQHandler
hudakz 0:2577a4fb6e72 335 .thumb_set I2C1_EV_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 336
hudakz 0:2577a4fb6e72 337 .weak I2C1_ER_IRQHandler
hudakz 0:2577a4fb6e72 338 .thumb_set I2C1_ER_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 339
hudakz 0:2577a4fb6e72 340 .weak I2C2_EV_IRQHandler
hudakz 0:2577a4fb6e72 341 .thumb_set I2C2_EV_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 342
hudakz 0:2577a4fb6e72 343 .weak I2C2_ER_IRQHandler
hudakz 0:2577a4fb6e72 344 .thumb_set I2C2_ER_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 345
hudakz 0:2577a4fb6e72 346 .weak SPI1_IRQHandler
hudakz 0:2577a4fb6e72 347 .thumb_set SPI1_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 348
hudakz 0:2577a4fb6e72 349 .weak SPI2_IRQHandler
hudakz 0:2577a4fb6e72 350 .thumb_set SPI2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 351
hudakz 0:2577a4fb6e72 352 .weak USART1_IRQHandler
hudakz 0:2577a4fb6e72 353 .thumb_set USART1_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 354
hudakz 0:2577a4fb6e72 355 .weak USART2_IRQHandler
hudakz 0:2577a4fb6e72 356 .thumb_set USART2_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 357
hudakz 0:2577a4fb6e72 358 .weak USART3_IRQHandler
hudakz 0:2577a4fb6e72 359 .thumb_set USART3_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 360
hudakz 0:2577a4fb6e72 361 .weak EXTI15_10_IRQHandler
hudakz 0:2577a4fb6e72 362 .thumb_set EXTI15_10_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 363
hudakz 0:2577a4fb6e72 364 .weak RTC_Alarm_IRQHandler
hudakz 0:2577a4fb6e72 365 .thumb_set RTC_Alarm_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 366
hudakz 0:2577a4fb6e72 367 .weak USBWakeUp_IRQHandler
hudakz 0:2577a4fb6e72 368 .thumb_set USBWakeUp_IRQHandler,Default_Handler
hudakz 0:2577a4fb6e72 369
hudakz 0:2577a4fb6e72 370 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
hudakz 0:2577a4fb6e72 371