Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years ago.
Using external 3.3V Power supply
I use a Nucleo F411RE, it works fine, when using the USB ST_LINK supply. I want to use an external 3.3V (Harvested from solar cell) supply.
I have removed SB12 (NRST) and SB2 (LDO Out) as explained in the NUCLEO User Manual.
What happen is thet the program still work but the frequency is somewhere divided by 32.
So I guess that the concern is that when we removing the ST_LINK, the 8MHz is not provided anymore and the STM32F411 runs on some intenal OSC. What is the setup I have to add in my code (and where) to get an equivalent behavioral when running from 3.3V external.
It seems that it is a problem of clock seting.
When I add the following initialisation routine, I can remove the cable or even Reset the board. But if I power it OFF it does not restart:
- Setup Routine for Clock----- void SystemClock_Config_fbd(void) { HAL_RCC_DeInit(); we have to reset the clock settings ! RCC_ClkInitTypeDef RCC_ClkInitStruct; RCC_OscInitTypeDef RCC_OscInitStruct;RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; internal 16MHz RC RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = 6; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; PLL on RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; RCC_OscInitStruct.PLL.PLLM = 16; setup PLL divider RCC_OscInitStruct.PLL.PLLN = 336; RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV4; RCC_OscInitStruct.PLL.PLLQ = 4; HAL_RCC_OscConfig(&RCC_OscInitStruct);
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2; HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2); SystemCoreClockUpdate(); update SystemCoreClock var
}
posted by francois DRUILHE 24 Nov 2014This is solved now. I did load the mbed source code (instead of the oject one) and modified file: system_stm32f4xx.c (into TARGETSTM/TARGET_NUCLEO_F411RE/ by: /* Select the clock sources (other than HSI) to start with (0=OFF, 1=ON) */
And it works fine now.
posted by francois DRUILHE 13 Dec 2014