cancel
Showing results for 
Search instead for 
Did you mean: 

Clock configuration tool for STM32F429?

sima2
Associate III
Posted on February 02, 2018 at 12:30

I'm looking for a Clock configuration tool for STM32F429. Does one exist?

Or can I use the Clock configuration tool for STM32F40x/41x microcontrollers (AN3988)?

#stm32-f4
5 REPLIES 5
Posted on February 02, 2018 at 12:52

STM32CubeMX helps to configure clocking and generated RCC setup ( C code)

sima2
Associate III
Posted on February 02, 2018 at 13:46

I'm going to use the STM32 Standard Peripheral Libraries (I like it more). I think the STM32CubeF4 is too bloated :)

But I'm going to test the 

STM32CubeMX at least to see if it generates what I need.

Posted on February 02, 2018 at 14:59

I would expect the earlier tool would work.

Top speed is now 180 MHz, with VCO in 192 to 432 MHz

The gearing here isn't unduly complicated, though the 180 MHz doesn't get you the 48 MHz used by USB internally, you'd need an external PHY to supply it's clock

I've built several 'fitter' tools, what clocks are you shooting for, from what HSE clock?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
sima2
Associate III
Posted on February 05, 2018 at 14:32

I tried the STM32CubeMx. But I notices in

SystemIni() that it is missing a call toSetSysClock(). Am I missing something?

void SystemInit(void)
{
 /* FPU settings ------------------------------------------------------------*/
 #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
 SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
 #endif
 /* Reset the RCC clock configuration to the default reset state ------------*/
 /* Set HSION bit */
 RCC->CR |= (uint32_t)0x00000001;
 /* Reset CFGR register */
 RCC->CFGR = 0x00000000;
 /* Reset HSEON, CSSON and PLLON bits */
 RCC->CR &= (uint32_t)0xFEF6FFFF;
 /* Reset PLLCFGR register */
 RCC->PLLCFGR = 0x24003010;
 /* Reset HSEBYP bit */
 RCC->CR &= (uint32_t)0xFFFBFFFF;
 /* Disable all interrupts */
 RCC->CIR = 0x00000000;
#if defined (DATA_IN_ExtSRAM) || defined (DATA_IN_ExtSDRAM)
 SystemInit_ExtMemCtl(); 
#endif /* DATA_IN_ExtSRAM || DATA_IN_ExtSDRAM */
 /* Configure the Vector Table location add offset address ------------------*/
#ifdef VECT_TAB_SRAM
 SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
#else
 SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
#endif
}�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?

Posted on February 05, 2018 at 15:08

CubeMX/HAL likely doing it in main() via SystemClock_Config(), although this is a bit late for external memories, etc.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..