2018-03-02 06:40 PM
The consequences of not initializing local/auto variables properly...
Original code:
static void SystemClock_Config(void)
{ RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_OscInitTypeDef RCC_OscInitStruct; HAL_StatusTypeDef ret = HAL_OK;/*CORE=401060800, 401.06 MHz
CPUID 411FC271 DEVID 450 REVID 1001Cortex M7 r1p1C0000038 200017C0 0000000010110221 12000011 00000040FPU-D Single-precision and Double-precisionHCLK=200530400, 200.53 MHzAPB1=100265200, 100.27 MHzAPB2=100265200, 100.27 MHzPLL1_Q_CK=200530400, 200.53 MHzPLL2_R_CK=0, 0.00 MHz480 x 272*/
...
}
Modified code:
static void SystemClock_Config(void)
{ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; RCC_OscInitTypeDef RCC_OscInitStruct = {0}; HAL_StatusTypeDef ret = HAL_OK;/*CORE=400000000, 400.00 MHz
CPUID 411FC271 DEVID 450 REVID 1001Cortex M7 r1p1STM32H7xxC0000038 200017C0 0000000010110221 12000011 00000040FPU-D Single-precision and Double-precisionHCLK=200000000, 200.00 MHzAPB1=100000000, 100.00 MHzAPB2=100000000, 100.00 MHzPLL1_Q_CK=200000000, 200.00 MHzPLL2_R_CK=0, 0.00 MHz480 x 272*/
...
}
The USART can recover from this, TIM might be marginally off frequency. Also has the potential to be unpredictable.
Here from
STM32Cube_FW_H7_V1.2.0\Projects\STM32H743I_EVAL\Applications\Display\LTDC_PicturesFromSDCard\Src\main.c
but systemic in the examples.
2018-03-02 07:49 PM
do the texas instruments users have this many problems with their ecosystem?
2018-03-03 05:48 AM
Do seem to like self inflicted head wounds here, but as I recall TI/Stellaris did such things on silicon requiring steppings to be identified.