VLLV (12.05.2018 19:06, просмотров: 3558)
STM32L4. При отладке (ST-link или J-link) не выполняется инициализация PLL , если отладчик отключить, то все работает. Код сгенерирован кубом. Раньше работало, причем с тем же кодом. void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
RCC_PeriphCLKInitTypeDef PeriphClkInit;
/**Configure LSE Drive Capability
*/
HAL_PWR_EnableBkUpAccess();
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
/**Initializes the CPU, AHB and APB busses clocks
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_LSE;
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = 16;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
RCC_OscInitStruct.PLL.PLLN = 20;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
0x80011c8: 0x2014 MOVS R0, #20 ; 0x14
0x80011ca: 0x9012 STR R0, [SP, #0x48]
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
0x80011cc: 0x2007 MOVS R0, #7
0x80011ce: 0x9013 STR R0, [SP, #0x4c]
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
0x80011d0: 0x2002 MOVS R0, #2
0x80011d2: 0x9014 STR R0, [SP, #0x50]
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
0x80011d4: 0x9015 STR R0, [SP, #0x54]
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
0x80011d6: 0xa805 ADD R0, SP, #0x14
0x80011d8: 0xf001 0xfb1c BL HAL_RCC_OscConfig ; 0x8002814
0x80011dc: 0xb100 CBZ R0, 0x80011e0
0x80011de: 0xe7fe B.N 0x80011de <<< ВИсит Здесь