Stuck on getting the STM32F746 up to its max clock

A project log for zeptoforth

A Cortex-M native code Forth with a kernel written in Thumb-2 assembly

Travis BemannTravis Bemann 02/02/2021 at 19:570 Comments

I have not done much work lately on zeptoforth because I have been utterly stuck on a simple problem - I have a new STM32F746 DISCOVERY board I want to port it to, but I have yet to figure out how to up the MCU from its base clock rate of 16 MHz to its max clock rate of 216 MHz, which I want to do before I do any more work with it. What is also unhelpful is that I have found practically no code samples out there on how to do this; the code samples I have seen are in C and use prewritten library routines to control the clock rate rather than showing the actual register settings necessary. Yes, I know, I could just use it at 16 MHz, but why use an expensive new(ish) board if it will only run at that (considering zeptoforth already supports the older STM32L476 DISCOVERY and STM32F407 DISCOVERY boards at their maximum clocks of 48 MHz and 168 MHz respectively). (Of course the STM32F746 DISCOVERY board has other goodies like a nice-sized touchscreen and an Ethernet port, and I could always put off upping the clock to work with those, but I feel I just must up the clock before I do anything else.)