Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf65dc12

Browse files
committed
system(C0) update STM32C0xx HAL Drivers to v1.4.0
Included in STM32CubeC0 FW v1.4.0Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
1 parent2801e70 commitf65dc12

File tree

10 files changed

+211
-120
lines changed

10 files changed

+211
-120
lines changed

‎system/Drivers/STM32C0xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -472,9 +472,9 @@ extern "C" {
472472
#defineTYPEPROGRAMDATA_FASTBYTE FLASH_TYPEPROGRAMDATA_FASTBYTE
473473
#defineTYPEPROGRAMDATA_FASTHALFWORD FLASH_TYPEPROGRAMDATA_FASTHALFWORD
474474
#defineTYPEPROGRAMDATA_FASTWORD FLASH_TYPEPROGRAMDATA_FASTWORD
475-
#if !defined(STM32F2)&& !defined(STM32F4)&& !defined(STM32F7)&& !defined(STM32H7)
475+
#if !defined(STM32F2)&& !defined(STM32F4)&& !defined(STM32F7)&& !defined(STM32H7)&& !defined(STM32H5)
476476
#definePAGESIZE FLASH_PAGE_SIZE
477-
#endif/* STM32F2 && STM32F4 && STM32F7 && STM32H7 */
477+
#endif/* STM32F2 && STM32F4 && STM32F7 && STM32H7&& STM32H5*/
478478
#defineTYPEPROGRAM_FASTBYTE FLASH_TYPEPROGRAM_BYTE
479479
#defineTYPEPROGRAM_FASTHALFWORD FLASH_TYPEPROGRAM_HALFWORD
480480
#defineTYPEPROGRAM_FASTWORD FLASH_TYPEPROGRAM_WORD
@@ -538,6 +538,10 @@ extern "C" {
538538
#defineFLASH_FLAG_WDW FLASH_FLAG_WBNE
539539
#defineOB_WRP_SECTOR_All OB_WRP_SECTOR_ALL
540540
#endif/* STM32H7 */
541+
#if defined(STM32H7RS)
542+
#defineFLASH_OPTKEY1 FLASH_OPT_KEY1
543+
#defineFLASH_OPTKEY2 FLASH_OPT_KEY2
544+
#endif/* STM32H7RS */
541545
#if defined(STM32U5)
542546
#defineOB_USER_nRST_STOP OB_USER_NRST_STOP
543547
#defineOB_USER_nRST_STDBY OB_USER_NRST_STDBY
@@ -1299,22 +1303,22 @@ extern "C" {
12991303
#defineTAMP_SECRETDEVICE_ERASE_ENABLE TAMP_SECRETDEVICE_ERASE_ALL
13001304
#endif/* STM32H5 || STM32WBA || STM32H7RS || STM32N6 */
13011305

1302-
#if defined(STM32F7)
1306+
#if defined(STM32F7)|| defined(STM32WB)
13031307
#defineRTC_TAMPCR_TAMPXE RTC_TAMPER_ENABLE_BITS_MASK
13041308
#defineRTC_TAMPCR_TAMPXIE RTC_TAMPER_IT_ENABLE_BITS_MASK
1305-
#endif/* STM32F7 */
1309+
#endif/* STM32F7|| STM32WB*/
13061310

13071311
#if defined(STM32H7)
13081312
#defineRTC_TAMPCR_TAMPXE RTC_TAMPER_X
13091313
#defineRTC_TAMPCR_TAMPXIE RTC_TAMPER_X_INTERRUPT
13101314
#endif/* STM32H7 */
13111315

1312-
#if defined(STM32F7)|| defined(STM32H7)|| defined(STM32L0)
1316+
#if defined(STM32F7)|| defined(STM32H7)|| defined(STM32L0)|| defined(STM32WB)
13131317
#defineRTC_TAMPER1_INTERRUPT RTC_IT_TAMP1
13141318
#defineRTC_TAMPER2_INTERRUPT RTC_IT_TAMP2
13151319
#defineRTC_TAMPER3_INTERRUPT RTC_IT_TAMP3
13161320
#defineRTC_ALL_TAMPER_INTERRUPT RTC_IT_TAMP
1317-
#endif/* STM32F7 || STM32H7 || STM32L0 */
1321+
#endif/* STM32F7 || STM32H7 || STM32L0|| STM32WB*/
13181322

13191323
/**
13201324
* @}
@@ -3946,8 +3950,8 @@ extern "C" {
39463950
*/
39473951
#if defined (STM32G0)|| defined (STM32L5)|| defined (STM32L412xx)|| defined (STM32L422xx)|| \
39483952
defined (STM32L4P5xx)|| defined (STM32L4Q5xx)|| defined (STM32G4)|| defined (STM32WL)|| defined (STM32U5)|| \
3949-
defined (STM32WBA)|| defined (STM32H5)|| defined (STM32C0)|| defined (STM32N6)|| \
3950-
defined (STM32H7RS)|| defined (STM32U0)|| defined (STM32U3)
3953+
defined (STM32WBA)|| defined (STM32H5)|| defined (STM32C0)|| defined (STM32N6)||defined (STM32H7RS)||\
3954+
defined (STM32U0)|| defined (STM32U3)
39513955
#else
39523956
#define__HAL_RTC_CLEAR_FLAG __HAL_RTC_EXTI_CLEAR_FLAG
39533957
#endif

‎system/Drivers/STM32C0xx_HAL_Driver/Inc/stm32c0xx_ll_usart.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,10 @@ static const uint32_t USART_PRESCALER_TAB[] =
5656
32UL,
5757
64UL,
5858
128UL,
59+
256UL,
60+
256UL,
61+
256UL,
62+
256UL,
5963
256UL
6064
};
6165
/**

‎system/Drivers/STM32C0xx_HAL_Driver/Release_Notes.html

Lines changed: 75 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -69,19 +69,75 @@ <h1 id="purpose">Purpose</h1>
6969
<sectionid="update-history"class="col-sm-12 col-lg-8">
7070
<h1>Update History</h1>
7171
<divclass="collapse">
72-
<inputtype="checkbox"id="collapse-section5"checkedaria-hidden="true">
73-
<labelfor="collapse-section5"checkedaria-hidden="true">V1.3.0 /
74-
30-October-2024</label>
72+
<inputtype="checkbox"id="collapse-section6"checkedaria-hidden="true">
73+
<labelfor="collapse-section6"checkedaria-hidden="true">V1.4.0 /
74+
05-February-2025</label>
7575
<div>
7676
<h2id="main-changes">Main Changes</h2>
7777
<ul>
78+
<li>Maintenance Release of STM32CubeC0 HAL/LL Drivers supporting
79+
<strong>STM32C011xx/C031xx/C051xx/C071xx/C091xx/C092xx</strong>
80+
devices</li>
81+
<li>General updates to fix known defects and implementation
82+
enhancements</li>
83+
</ul>
84+
<h3id="hal-drivers-updates"><strong>HAL Drivers updates</strong></h3>
85+
<ul>
86+
<li>HAL ADC driver:
87+
<ul>
88+
<li>Change ADC calibration procedure</li>
89+
</ul></li>
90+
<li>HAL RCC driver:
91+
<ul>
92+
<li>Add notes to highlight HSI48 clock division factor update limitation
93+
when HSI48 oscillator is selected as system clock</li>
94+
</ul></li>
95+
<li>HAL TIM driver:
96+
<ul>
97+
<li>Fix update flag (UIF) clearing in TIM_Base_SetConfig</li>
98+
</ul></li>
99+
<li>HAL UART driver:
100+
<ul>
101+
<li>Correct references to HAL_UARTEx_WakeupCallback and to
102+
HAL_UART_WAKEUP_CB_ID define, according to serie capabilities</li>
103+
<li>Provide accurate position in RxEventCallback when ReceptionToIdle
104+
mode is used with DMA, when UART and DMA interrupts process is
105+
delayed</li>
106+
</ul></li>
107+
</ul>
108+
<h3id="ll-drivers-updates"><strong>LL Drivers updates</strong></h3>
109+
<ul>
110+
<li>LL USART driver:
111+
<ul>
112+
<li>Solve Coverity out-of-bound memory access warning in use of
113+
USART_PRESCALER_TAB array</li>
114+
</ul></li>
115+
</ul>
116+
<p>Note: HAL/LL Backward compatibility ensured by legacy defines.</p>
117+
<h2id="known-limitations">Known Limitations</h2>
118+
<ul>
119+
<li>None</li>
120+
</ul>
121+
<h2id="backward-compatibility">Backward Compatibility</h2>
122+
<ul>
123+
<li>Not applicable</li>
124+
</ul>
125+
</div>
126+
</div>
127+
<divclass="collapse">
128+
<inputtype="checkbox"id="collapse-section5"aria-hidden="true">
129+
<labelfor="collapse-section5"aria-hidden="true">V1.3.0 /
130+
30-October-2024</label>
131+
<div>
132+
<h2id="main-changes-1">Main Changes</h2>
133+
<ul>
78134
<li>Official Release of STM32CubeC0 Firmware package supporting
79135
<strong>STM32C051xx</strong> and<strong>STM32C091/92xx</strong>
80136
devices</li>
81137
<li>General updates to fix known defects and implementation
82138
enhancements</li>
83139
</ul>
84-
<h3id="hal-drivers-updates"><strong>HAL Drivers updates</strong></h3>
140+
<h3id="hal-drivers-updates-1"><strong>HAL Drivers updates</strong></h3>
85141
<ul>
86142
<li>HAL generic driver:
87143
<ul>
@@ -125,7 +181,7 @@ <h3 id="hal-drivers-updates"><strong>HAL Drivers updates</strong></h3>
125181
polling mode</li>
126182
</ul></li>
127183
</ul>
128-
<h3id="ll-drivers-updates"><strong>LL Drivers updates</strong></h3>
184+
<h3id="ll-drivers-updates-1"><strong>LL Drivers updates</strong></h3>
129185
<ul>
130186
<li>LL ADC driver:
131187
<ul>
@@ -141,11 +197,11 @@ <h3 id="ll-drivers-updates"><strong>LL Drivers updates</strong></h3>
141197
</ul></li>
142198
</ul>
143199
<p>Note: HAL/LL Backward compatibility ensured by legacy defines.</p>
144-
<h2id="known-limitations">Known Limitations</h2>
200+
<h2id="known-limitations-1">Known Limitations</h2>
145201
<ul>
146202
<li>None</li>
147203
</ul>
148-
<h2id="backward-compatibility">Backward Compatibility</h2>
204+
<h2id="backward-compatibility-1">Backward Compatibility</h2>
149205
<ul>
150206
<li>Not applicable</li>
151207
</ul>
@@ -156,14 +212,14 @@ <h2 id="backward-compatibility">Backward Compatibility</h2>
156212
<labelfor="collapse-section4"aria-hidden="true">V1.2.0 /
157213
05-June-2024</label>
158214
<div>
159-
<h2id="main-changes-1">Main Changes</h2>
215+
<h2id="main-changes-2">Main Changes</h2>
160216
<ul>
161217
<li>Official Release of STM32CubeC0 Firmware package supporting
162218
<strong>STM32C071xx</strong> devices</li>
163219
<li>General updates to fix known defects and implementation
164220
enhancements</li>
165221
</ul>
166-
<h3id="hal-drivers-updates-1"><strong>HAL Drivers updates</strong></h3>
222+
<h3id="hal-drivers-updates-2"><strong>HAL Drivers updates</strong></h3>
167223
<ul>
168224
<li>HAL generic driver:
169225
<ul>
@@ -282,7 +338,7 @@ <h3 id="hal-drivers-updates-1"><strong>HAL Drivers updates</strong></h3>
282338
FIFO reception in Interrupt mode</li>
283339
</ul></li>
284340
</ul>
285-
<h3id="ll-drivers-updates-1"><strong>LL Drivers updates</strong></h3>
341+
<h3id="ll-drivers-updates-2"><strong>LL Drivers updates</strong></h3>
286342
<ul>
287343
<li>LL ADC driver:
288344
<ul>
@@ -336,11 +392,11 @@ <h3 id="ll-drivers-updates-1"><strong>LL Drivers updates</strong></h3>
336392
</ul></li>
337393
</ul>
338394
<p>Note: HAL/LL Backward compatibility ensured by legacy defines.</p>
339-
<h2id="known-limitations-1">Known Limitations</h2>
395+
<h2id="known-limitations-2">Known Limitations</h2>
340396
<ul>
341397
<li>None</li>
342398
</ul>
343-
<h2id="backward-compatibility-1">Backward Compatibility</h2>
399+
<h2id="backward-compatibility-2">Backward Compatibility</h2>
344400
<ul>
345401
<li>Not applicable</li>
346402
</ul>
@@ -351,7 +407,7 @@ <h2 id="backward-compatibility-1">Backward Compatibility</h2>
351407
<labelfor="collapse-section3"aria-hidden="true">V1.1.0 /
352408
07-June-2023</label>
353409
<div>
354-
<h2id="main-changes-2">Main Changes</h2>
410+
<h2id="main-changes-3">Main Changes</h2>
355411
<ul>
356412
<li>Maintenance Release of STM32CubeC0 Firmware Package</li>
357413
</ul>
@@ -422,9 +478,9 @@ <h2 id="main-changes-2">Main Changes</h2>
422478
setting.</li>
423479
</ul></li>
424480
</ul>
425-
<h2id="known-limitations-2">Known Limitations</h2>
481+
<h2id="known-limitations-3">Known Limitations</h2>
426482
<p>N/A</p>
427-
<h2id="backward-compatibility-2">Backward Compatibility</h2>
483+
<h2id="backward-compatibility-3">Backward Compatibility</h2>
428484
<ul>
429485
<li>HAL_SYSCFG_GetPinBinding() and LL_SYSCFG_GetConfigPinMux() are
430486
updated.</li>
@@ -436,7 +492,7 @@ <h2 id="backward-compatibility-2">Backward Compatibility</h2>
436492
<labelfor="collapse-section2"checkedaria-hidden="true">V1.0.1 /
437493
12-January-2023</label>
438494
<div>
439-
<h2id="main-changes-3">Main Changes</h2>
495+
<h2id="main-changes-4">Main Changes</h2>
440496
<ul>
441497
<li><p>Patch Release of STM32CubeC0 Firmware Package</p></li>
442498
<li><p>Update ADC HAL driver with proper internal sensor calibration
@@ -447,7 +503,7 @@ <h2 id="main-changes-3">Main Changes</h2>
447503
</ul></li>
448504
<li><p>Update RCC LL driver by adding missing AHB Prescaler.</p></li>
449505
</ul>
450-
<h2id="known-limitations-3">Known Limitations</h2>
506+
<h2id="known-limitations-4">Known Limitations</h2>
451507
<p>N/A</p>
452508
</div>
453509
</div>
@@ -456,10 +512,10 @@ <h2 id="known-limitations-3">Known Limitations</h2>
456512
<labelfor="collapse-section1"checkedaria-hidden="true">V1.0.0 /
457513
09-February-2022</label>
458514
<div>
459-
<h2id="main-changes-4">Main Changes</h2>
515+
<h2id="main-changes-5">Main Changes</h2>
460516
<p>First official release of HAL and LL drivers for STM32C031xx /
461517
STM32C011xx devices</p>
462-
<h2id="known-limitations-4">Known Limitations</h2>
518+
<h2id="known-limitations-5">Known Limitations</h2>
463519
<p>N/A</p>
464520
</div>
465521
</div>

‎system/Drivers/STM32C0xx_HAL_Driver/Src/stm32c0xx_hal.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
* @brief STM32C0xx HAL Driver version number
5757
*/
5858
#define__STM32C0xx_HAL_VERSION_MAIN (0x01U)/*!< [31:24] main version */
59-
#define__STM32C0xx_HAL_VERSION_SUB1 (0x03U)/*!< [23:16] sub1 version */
59+
#define__STM32C0xx_HAL_VERSION_SUB1 (0x04U)/*!< [23:16] sub1 version */
6060
#define__STM32C0xx_HAL_VERSION_SUB2 (0x00U)/*!< [15:8] sub2 version */
6161
#define__STM32C0xx_HAL_VERSION_RC (0x00U)/*!< [7:0] release candidate */
6262
#define__STM32C0xx_HAL_VERSION ((__STM32C0xx_HAL_VERSION_MAIN << 24U)\

‎system/Drivers/STM32C0xx_HAL_Driver/Src/stm32c0xx_hal_adc_ex.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,11 +166,13 @@ HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef *hadc)
166166
returnHAL_ERROR;
167167
}
168168
}
169-
170-
calibration_factor_accumulated+=LL_ADC_GetCalibrationFactor(hadc->Instance);
169+
/* Read the calibration factor and increment by one */
170+
calibration_factor_accumulated+=(LL_ADC_GetCalibrationFactor(hadc->Instance)+1UL);
171171
}
172-
/* Compute average */
172+
/* Compute average (rounded up to the nearest integer) */
173+
calibration_factor_accumulated+= (calibration_index /2UL);
173174
calibration_factor_accumulated /=calibration_index;
175+
174176
/* Apply calibration factor (requires ADC enable and disable process) */
175177
LL_ADC_Enable(hadc->Instance);
176178

‎system/Drivers/STM32C0xx_HAL_Driver/Src/stm32c0xx_hal_rcc.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,9 @@
164164
165165
(+) The maximum frequency of the SYSCLK, HCLK, PCLK is 48 MHz.
166166
167+
(+) When the HSI48 oscillator is selected as the System clock (SYSCLK), the number of CPU wait states must
168+
be adjusted before any eventual update on the HSI48 clock division factor.
169+
167170
@endverbatim
168171
169172
(++) Table 1. HCLK clock frequency.
@@ -282,6 +285,9 @@ HAL_StatusTypeDef HAL_RCC_DeInit(void)
282285
* @note Transition LSE Bypass to LSE On and LSE On to LSE Bypass are not
283286
* supported by this function. User should request a transition to LSE Off
284287
* first and then to LSE On or LSE Bypass.
288+
* @note When the HSI48 oscillator is selected as the System clock (SYSCLK), the user
289+
must adjust the number of CPU wait states in their application (SystemClock_Config() API)
290+
before calling the HAL_RCC_OscConfig() API to update the HSI48 clock division factor.
285291
* @retval HAL status
286292
*/
287293
HAL_StatusTypeDefHAL_RCC_OscConfig(constRCC_OscInitTypeDef*RCC_OscInitStruct)

‎system/Drivers/STM32C0xx_HAL_Driver/Src/stm32c0xx_hal_tim.c

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6956,8 +6956,6 @@ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure
69566956
/* Set the auto-reload preload */
69576957
MODIFY_REG(tmpcr1,TIM_CR1_ARPE,Structure->AutoReloadPreload);
69586958

6959-
TIMx->CR1=tmpcr1;
6960-
69616959
/* Set the Autoreload value */
69626960
TIMx->ARR= (uint32_t)Structure->Period ;
69636961

@@ -6970,16 +6968,15 @@ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, const TIM_Base_InitTypeDef *Structure
69706968
TIMx->RCR=Structure->RepetitionCounter;
69716969
}
69726970

6971+
/* Disable Update Event (UEV) with Update Generation (UG)
6972+
by changing Update Request Source (URS) to avoid Update flag (UIF) */
6973+
SET_BIT(TIMx->CR1,TIM_CR1_URS);
6974+
69736975
/* Generate an update event to reload the Prescaler
69746976
and the repetition counter (only for advanced timer) value immediately */
69756977
TIMx->EGR=TIM_EGR_UG;
69766978

6977-
/* Check if the update flag is set after the Update Generation, if so clear the UIF flag */
6978-
if (HAL_IS_BIT_SET(TIMx->SR,TIM_FLAG_UPDATE))
6979-
{
6980-
/* Clear the update flag */
6981-
CLEAR_BIT(TIMx->SR,TIM_FLAG_UPDATE);
6982-
}
6979+
TIMx->CR1=tmpcr1;
69836980
}
69846981

69856982
/**

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp