2017-09-05 03:17 AM
I'm trying to get a NUCLEO-F411RE to work after removing the ST-LINK, and can't seem to figure out the correct configuration - or maybe it's findings parts.
I've been fairly careful, doing things one step at a time and confirming that they worked repeatedly before going on to the next step. So the NUCLEO powers properly from external power. I flashed it using an external ST-LINK before removing the one built in, and have flashed it with that one afterwards. But after removing the ST-LINK, my firmware (�Python) no longer boots. It should boot and start talking to USART1 (this is not a normal configuration - I changed it to use that instead of USART2), and was doing so before I removed the ST-LINK board.
On checking the solder bridges, it seems that the HSE clock came from the ST-LINK, so I've no longer got that. Changing two solder bridges - remove SB50, required for any configuration that doesn't have an ST-LINK - and jumpering SB55 - should make it boot without HSE. Except - well, �Python won't work without an HSE. So, questions:The best solution would seem to be installing X3 and changing the solder bridges to use that. From the manual, the crystal is '8 MHz, 16 pF, 20 ppm, and DIP footprint. It is recommended to use 9SL8000016AFXHF0 manufactured by Hong Kong X'tals Limited.' Except they don't seem to make that any more, and I can't seem to find a datasheet. So, can someone recommend an alternative replacement? Or at least tell me what the '20ppm' spec means: is it tolerance, stability or something else?
A second alternative - at least for now - would be to provide the clock externally. Is there a way to get to the MCO line from the detached ST-LINK and use that? Possibly some other source?
Finally, any recommended tests to verify that the board in it's current configuration - configured to not use HSE - is working properly?
Update: in looking at the Nucleo, adding a suitable crystal for X3 isn't sufficient. It also needs two 20pf capacitors, and two resistors whose value isn't specified(!). They are R35 and R37, and on the schematic in the user manaul are marked as N/A (presumably because they aren't on the board). Anyone have those installed and can tell me their values? Or maybe an old copy of the manual that shows their values?
#hse-config #nucleo-f411re #st-link2017-09-05 03:23 PM
https://github.com/micropython/micropython/blob/master/stmhal/system_stm32.c
You'd want to change the PLL source to the HSI, and change the PLL_M value to reflect a 16 MHz source rather than an 8 MHz one.
2017-09-06 04:16 PM
I found
https://community.st.com/0D50X00009XkgRVSAZ
, which mostly worked. The developers finally weighed in on the topic: The internal clock isn't stable enough for their project to work well. And yeah, that's what I saw.I think I'm going to hack the removed ST-LINK to make the output from it's oscillator available on pins, and connect that to the de-linked Nucleo configured for an external clock. That also solves the problem of making firmware updates less painful.
Thanks to all who helped.