Skip to content

Commit ff5b535

Browse files
committed
Import STM32CubeWB v1.6.0 on 17-Apr-2020.
From https://github.com/STMicroelectronics/STM32CubeWB.git tag v1.6.0 Signed-off-by: Damien George <[email protected]>
1 parent 29cbbd0 commit ff5b535

File tree

131 files changed

+63922
-3485
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

131 files changed

+63922
-3485
lines changed

CMSIS/STM32WBxx/Include/stm32wb30xx.h

+11,130
Large diffs are not rendered by default.

CMSIS/STM32WBxx/Include/stm32wb35xx.h

+12,767
Large diffs are not rendered by default.

CMSIS/STM32WBxx/Include/stm32wb50xx.h

+11,126
Large diffs are not rendered by default.

CMSIS/STM32WBxx/Include/stm32wb55xx.h

+108-149
Large diffs are not rendered by default.

CMSIS/STM32WBxx/Include/stm32wb5mxx.h

+13,677
Large diffs are not rendered by default.

CMSIS/STM32WBxx/Include/stm32wbxx.h

+9-2
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
* @brief CMSIS Device version number
7070
*/
7171
#define __STM32WBxx_CMSIS_VERSION_MAIN (0x01U) /*!< [31:24] main version */
72-
#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x01U) /*!< [23:16] sub1 version */
72+
#define __STM32WBxx_CMSIS_VERSION_SUB1 (0x04U) /*!< [23:16] sub1 version */
7373
#define __STM32WBxx_CMSIS_VERSION_SUB2 (0x00U) /*!< [15:8] sub2 version */
7474
#define __STM32WBxx_CMSIS_VERSION_RC (0x00U) /*!< [7:0] release candidate */
7575
#define __STM32WBxx_CMSIS_DEVICE_VERSION ((__STM32WBxx_CMSIS_VERSION_MAIN << 24)\
@@ -87,10 +87,17 @@
8787

8888
#if defined(STM32WB55xx)
8989
#include "stm32wb55xx.h"
90+
#elif defined(STM32WB5Mxx)
91+
#include "stm32wb5mxx.h"
92+
#elif defined(STM32WB50xx)
93+
#include "stm32wb50xx.h"
94+
#elif defined(STM32WB35xx)
95+
#include "stm32wb35xx.h"
96+
#elif defined(STM32WB30xx)
97+
#include "stm32wb30xx.h"
9098
#else
9199
#error "Please select first the target STM32WBxx device used in your application, for instance xxx (in stm32wbxx.h file)"
92100
#endif
93-
94101
/**
95102
* @}
96103
*/

CMSIS/STM32WBxx/Include/system_stm32wbxx.h

+2
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ extern const uint32_t AHBPrescTable[16]; /*!< AHB prescalers table values */
6464
extern const uint32_t APBPrescTable[8]; /*!< APB prescalers table values */
6565
extern const uint32_t MSIRangeTable[16]; /*!< MSI ranges table values */
6666

67+
#if defined(STM32WB55xx) || defined(STM32WB5Mxx) || defined(STM32WB35xx)
6768
extern const uint32_t SmpsPrescalerTable[4][6]; /*!< SMPS factor ranges table values */
69+
#endif
6870
/**
6971
* @}
7072
*/
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
;******************************************************************************
2+
;* File Name : startup_stm32wb30xx_cm4.s
3+
;* Author : MCD Application Team
4+
;* Description : STM32WB30xx devices vector table for MDK-ARM toolchain.
5+
;* This module performs:
6+
;* - Set the initial SP
7+
;* - Set the initial PC == Reset_Handler
8+
;* - Set the vector table entries with the exceptions ISR address
9+
;* - Branches to __main in the C library (which eventually
10+
;* calls main()).
11+
;* After Reset the CortexM4 processor is in Thread mode,
12+
;* priority is Privileged, and the Stack is set to Main.
13+
;* <<< Use Configuration Wizard in Context Menu >>>
14+
;******************************************************************************
15+
;* @attention
16+
;*
17+
;* Copyright (c) 2019 STMicroelectronics. All rights reserved.
18+
;*
19+
;* This software component is licensed by ST under BSD 3-Clause license,
20+
;* the "License"; You may not use this file except in compliance with the
21+
;* License. You may obtain a copy of the License at:
22+
;* opensource.org/licenses/BSD-3-Clause
23+
;*
24+
;******************************************************************************
25+
26+
; Amount of memory (in bytes) allocated for Stack
27+
; Tailor this value to your application needs
28+
; <h> Stack Configuration
29+
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
30+
; </h>
31+
32+
Stack_Size EQU 0x00000400
33+
34+
AREA STACK, NOINIT, READWRITE, ALIGN=3
35+
Stack_Mem SPACE Stack_Size
36+
__initial_sp
37+
38+
39+
; <h> Heap Configuration
40+
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
41+
; </h>
42+
43+
Heap_Size EQU 0x00000200
44+
45+
AREA HEAP, NOINIT, READWRITE, ALIGN=3
46+
__heap_base
47+
Heap_Mem SPACE Heap_Size
48+
__heap_limit
49+
50+
PRESERVE8
51+
THUMB
52+
53+
54+
; Vector Table Mapped to Address 0 at Reset
55+
AREA RESET, DATA, READONLY
56+
EXPORT __Vectors
57+
EXPORT __Vectors_End
58+
EXPORT __Vectors_Size
59+
60+
__Vectors DCD __initial_sp ; Top of Stack
61+
DCD Reset_Handler ; Reset Handler
62+
DCD NMI_Handler ; NMI Handler
63+
DCD HardFault_Handler ; Hard Fault Handler
64+
DCD MemManage_Handler ; MPU Fault Handler
65+
DCD BusFault_Handler ; Bus Fault Handler
66+
DCD UsageFault_Handler ; Usage Fault Handler
67+
DCD 0 ; Reserved
68+
DCD 0 ; Reserved
69+
DCD 0 ; Reserved
70+
DCD 0 ; Reserved
71+
DCD SVC_Handler ; SVCall Handler
72+
DCD DebugMon_Handler ; Debug Monitor Handler
73+
DCD 0 ; Reserved
74+
DCD PendSV_Handler ; PendSV Handler
75+
DCD SysTick_Handler ; SysTick Handler
76+
77+
; External Interrupts
78+
DCD WWDG_IRQHandler ; Window WatchDog
79+
DCD PVD_PVM_IRQHandler ; PVD and PVM detector
80+
DCD TAMP_STAMP_LSECSS_IRQHandler ; RTC Tamper and TimeStamp Interrupts and LSECSS Interrupts
81+
DCD RTC_WKUP_IRQHandler ; RTC Wakeup Interrupt
82+
DCD FLASH_IRQHandler ; FLASH global Interrupt
83+
DCD RCC_IRQHandler ; RCC Interrupt
84+
DCD EXTI0_IRQHandler ; EXTI Line 0 Interrupt
85+
DCD EXTI1_IRQHandler ; EXTI Line 1 Interrupt
86+
DCD EXTI2_IRQHandler ; EXTI Line 2 Interrupt
87+
DCD EXTI3_IRQHandler ; EXTI Line 3 Interrup
88+
DCD EXTI4_IRQHandler ; EXTI Line 4 Interrupt
89+
DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1 Interrupt
90+
DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2 Interrupt
91+
DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3 Interrupt
92+
DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4 Interrupt
93+
DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5 Interrupt
94+
DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6 Interrupt
95+
DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7 Interrupt
96+
DCD ADC1_IRQHandler ; ADC1 Interrupt
97+
DCD 0 ; Reserved
98+
DCD 0 ; Reserved
99+
DCD C2SEV_PWR_C2H_IRQHandler ; CPU M0+ SEV Interrupt
100+
DCD 0 ; Reserved
101+
DCD EXTI9_5_IRQHandler ; EXTI Lines [9:5] Interrupt
102+
DCD TIM1_BRK_IRQHandler ; TIM1 Break Interrupt
103+
DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16 global Interrupts
104+
DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Communication and TIM17 global Interrupts
105+
DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare Interrupt
106+
DCD TIM2_IRQHandler ; TIM2 Global Interrupt
107+
DCD PKA_IRQHandler ; PKA Interrupt
108+
DCD I2C1_EV_IRQHandler ; I2C1 Event Interrupt
109+
DCD I2C1_ER_IRQHandler ; I2C1 Error Interrupt
110+
DCD 0 ; Reserved
111+
DCD 0 ; Reserved
112+
DCD SPI1_IRQHandler ; SPI1 Interrupt
113+
DCD 0 ; Reserved
114+
DCD USART1_IRQHandler ; USART1 Interrupt
115+
DCD 0 ; Reserved
116+
DCD 0 ; Reserved
117+
DCD TSC_IRQHandler ; TSC Interrupt
118+
DCD EXTI15_10_IRQHandler ; EXTI Lines1[15:10 ]Interrupts
119+
DCD RTC_Alarm_IRQHandler ; RTC Alarms (A and B) Interrupt
120+
DCD 0 ; Reserved
121+
DCD PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler ; WKUP Interrupt from PWR
122+
DCD IPCC_C1_RX_IRQHandler ; IPCC CPU1 RX occupied interrupt
123+
DCD IPCC_C1_TX_IRQHandler ; IPCC CPU1 RX free interrupt
124+
DCD HSEM_IRQHandler ; HSEM0 Interrupt
125+
DCD LPTIM1_IRQHandler ; LPTIM1 Interrupt
126+
DCD LPTIM2_IRQHandler ; LPTIM2 Interrupt
127+
DCD 0 ; Reserved
128+
DCD 0 ; Reserved
129+
DCD 0 ; Reserved
130+
DCD AES2_IRQHandler ; AES2 Interrupt
131+
DCD RNG_IRQHandler ; RNG1 Interrupt
132+
DCD FPU_IRQHandler ; FPU Interrupt
133+
DCD 0 ; Reserved
134+
DCD 0 ; Reserved
135+
DCD 0 ; Reserved
136+
DCD 0 ; Reserved
137+
DCD 0 ; Reserved
138+
DCD 0 ; Reserved
139+
DCD 0 ; Reserved
140+
DCD DMAMUX1_OVR_IRQHandler ; DMAMUX overrun Interrupt
141+
142+
__Vectors_End
143+
144+
__Vectors_Size EQU __Vectors_End - __Vectors
145+
146+
AREA |.text|, CODE, READONLY
147+
148+
; Reset handler
149+
Reset_Handler PROC
150+
EXPORT Reset_Handler [WEAK]
151+
IMPORT SystemInit
152+
IMPORT __main
153+
154+
LDR R0, =SystemInit
155+
BLX R0
156+
LDR R0, =__main
157+
BX R0
158+
ENDP
159+
160+
; Dummy Exception Handlers (infinite loops which can be modified)
161+
162+
NMI_Handler PROC
163+
EXPORT NMI_Handler [WEAK]
164+
B .
165+
ENDP
166+
HardFault_Handler\
167+
PROC
168+
EXPORT HardFault_Handler [WEAK]
169+
B .
170+
ENDP
171+
MemManage_Handler\
172+
PROC
173+
EXPORT MemManage_Handler [WEAK]
174+
B .
175+
ENDP
176+
BusFault_Handler\
177+
PROC
178+
EXPORT BusFault_Handler [WEAK]
179+
B .
180+
ENDP
181+
UsageFault_Handler\
182+
PROC
183+
EXPORT UsageFault_Handler [WEAK]
184+
B .
185+
ENDP
186+
SVC_Handler PROC
187+
EXPORT SVC_Handler [WEAK]
188+
B .
189+
ENDP
190+
DebugMon_Handler\
191+
PROC
192+
EXPORT DebugMon_Handler [WEAK]
193+
B .
194+
ENDP
195+
PendSV_Handler PROC
196+
EXPORT PendSV_Handler [WEAK]
197+
B .
198+
ENDP
199+
SysTick_Handler PROC
200+
EXPORT SysTick_Handler [WEAK]
201+
B .
202+
ENDP
203+
204+
Default_Handler PROC
205+
206+
EXPORT WWDG_IRQHandler [WEAK]
207+
EXPORT PVD_PVM_IRQHandler [WEAK]
208+
EXPORT TAMP_STAMP_LSECSS_IRQHandler [WEAK]
209+
EXPORT RTC_WKUP_IRQHandler [WEAK]
210+
EXPORT FLASH_IRQHandler [WEAK]
211+
EXPORT RCC_IRQHandler [WEAK]
212+
EXPORT EXTI0_IRQHandler [WEAK]
213+
EXPORT EXTI1_IRQHandler [WEAK]
214+
EXPORT EXTI2_IRQHandler [WEAK]
215+
EXPORT EXTI3_IRQHandler [WEAK]
216+
EXPORT EXTI4_IRQHandler [WEAK]
217+
EXPORT DMA1_Channel1_IRQHandler [WEAK]
218+
EXPORT DMA1_Channel2_IRQHandler [WEAK]
219+
EXPORT DMA1_Channel3_IRQHandler [WEAK]
220+
EXPORT DMA1_Channel4_IRQHandler [WEAK]
221+
EXPORT DMA1_Channel5_IRQHandler [WEAK]
222+
EXPORT DMA1_Channel6_IRQHandler [WEAK]
223+
EXPORT DMA1_Channel7_IRQHandler [WEAK]
224+
EXPORT ADC1_IRQHandler [WEAK]
225+
EXPORT C2SEV_PWR_C2H_IRQHandler [WEAK]
226+
EXPORT EXTI9_5_IRQHandler [WEAK]
227+
EXPORT TIM1_BRK_IRQHandler [WEAK]
228+
EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
229+
EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
230+
EXPORT TIM1_CC_IRQHandler [WEAK]
231+
EXPORT TIM2_IRQHandler [WEAK]
232+
EXPORT PKA_IRQHandler [WEAK]
233+
EXPORT I2C1_EV_IRQHandler [WEAK]
234+
EXPORT I2C1_ER_IRQHandler [WEAK]
235+
EXPORT SPI1_IRQHandler [WEAK]
236+
EXPORT USART1_IRQHandler [WEAK]
237+
EXPORT TSC_IRQHandler [WEAK]
238+
EXPORT EXTI15_10_IRQHandler [WEAK]
239+
EXPORT RTC_Alarm_IRQHandler [WEAK]
240+
EXPORT PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler [WEAK]
241+
EXPORT IPCC_C1_RX_IRQHandler [WEAK]
242+
EXPORT IPCC_C1_TX_IRQHandler [WEAK]
243+
EXPORT HSEM_IRQHandler [WEAK]
244+
EXPORT LPTIM1_IRQHandler [WEAK]
245+
EXPORT LPTIM2_IRQHandler [WEAK]
246+
EXPORT AES2_IRQHandler [WEAK]
247+
EXPORT RNG_IRQHandler [WEAK]
248+
EXPORT FPU_IRQHandler [WEAK]
249+
EXPORT DMAMUX1_OVR_IRQHandler [WEAK]
250+
251+
WWDG_IRQHandler
252+
PVD_PVM_IRQHandler
253+
TAMP_STAMP_LSECSS_IRQHandler
254+
RTC_WKUP_IRQHandler
255+
FLASH_IRQHandler
256+
RCC_IRQHandler
257+
EXTI0_IRQHandler
258+
EXTI1_IRQHandler
259+
EXTI2_IRQHandler
260+
EXTI3_IRQHandler
261+
EXTI4_IRQHandler
262+
DMA1_Channel1_IRQHandler
263+
DMA1_Channel2_IRQHandler
264+
DMA1_Channel3_IRQHandler
265+
DMA1_Channel4_IRQHandler
266+
DMA1_Channel5_IRQHandler
267+
DMA1_Channel6_IRQHandler
268+
DMA1_Channel7_IRQHandler
269+
ADC1_IRQHandler
270+
C2SEV_PWR_C2H_IRQHandler
271+
EXTI9_5_IRQHandler
272+
TIM1_BRK_IRQHandler
273+
TIM1_UP_TIM16_IRQHandler
274+
TIM1_TRG_COM_TIM17_IRQHandler
275+
TIM1_CC_IRQHandler
276+
TIM2_IRQHandler
277+
PKA_IRQHandler
278+
I2C1_EV_IRQHandler
279+
I2C1_ER_IRQHandler
280+
SPI1_IRQHandler
281+
USART1_IRQHandler
282+
TSC_IRQHandler
283+
EXTI15_10_IRQHandler
284+
RTC_Alarm_IRQHandler
285+
PWR_SOTF_BLEACT_802ACT_RFPHASE_IRQHandler
286+
IPCC_C1_RX_IRQHandler
287+
IPCC_C1_TX_IRQHandler
288+
HSEM_IRQHandler
289+
LPTIM1_IRQHandler
290+
LPTIM2_IRQHandler
291+
AES2_IRQHandler
292+
RNG_IRQHandler
293+
FPU_IRQHandler
294+
DMAMUX1_OVR_IRQHandler
295+
296+
B .
297+
298+
ENDP
299+
300+
ALIGN
301+
302+
;*******************************************************************************
303+
; User Stack and Heap initialization
304+
;*******************************************************************************
305+
IF :DEF:__MICROLIB
306+
307+
EXPORT __initial_sp
308+
EXPORT __heap_base
309+
EXPORT __heap_limit
310+
311+
ELSE
312+
313+
IMPORT __use_two_region_memory
314+
EXPORT __user_initial_stackheap
315+
316+
__user_initial_stackheap
317+
318+
LDR R0, = Heap_Mem
319+
LDR R1, =(Stack_Mem + Stack_Size)
320+
LDR R2, = (Heap_Mem + Heap_Size)
321+
LDR R3, = Stack_Mem
322+
BX LR
323+
324+
ALIGN
325+
326+
ENDIF
327+
328+
END
329+
330+
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****

0 commit comments

Comments
 (0)