Hello LightBulb,
Thank you for your post, it is very helpful.
However I am new in this field and I would like to make you a question. I have posted a question here about clock generation on HiFive1. I have read the documentation but it is still not clear to me how to change the values of these registers that you are mentioning. I cannot find an interface for that in the sdk, thus I assume that I should use assembly for that (or maybe I am wrong). The only relevant variables that I find in the repo are the PLL_{R, F, Q, SEL, REFSEL, BYPASS, LOCK} constants in sifive_fe310-g000_pll.c by I am not sure if I can use these constants somehow in my code.
For example, I know that the PLLSEL is the 16th (numbering starts from 0) bit of the pllcfg register. However, I am not sure how to modify this register. Any help here is appreciated.
Thanks in advance and I am sorry if my question is silly,
Stef