ST
A world leader in providing the semiconductor solutions that make a positive contribution to people’s lives, both today and in the future.
FAQ
Frequently Asked Questions
Q: My board is not recognized when I plug it to my Laptop ?
A: Try first to update the STLink driver (see here https://developer.mbed.org/teams/ST/wiki/ST-Link-Driver) and then update the STLink firmware present on your board (see here https://developer.mbed.org/teams/ST/wiki/Nucleo-Firmware).
Q: After I drag & drop my bin file in the Nucleo or Disco board disk on my Laptop, it disappears after the flashing is completed ?
A: The mass storage device of the STLink is a virtual disk. There is no storage memory beside the the one from the microcontroller. So it's normal that once programmed into the MCU the binary disappears from the virtual disk. MBED uses this trick to make drag an drop programming seamless on all platforms that support mass storage device.
Q: I cannot use the Nucleo D0/D1 pins to drive a USART device ?
A: The D0/D1 pins are not available per default, because they are used by the STLink. If you want to use them you need to close SB62/SB63 and open SB13/SB14 solder bridges. Doing this, the printf in your code will not work anymore. You will have to create a Serial object (i.e. Serial pc(PA_9, PA_10);) and uses instead pc.printf.
Q: I have a Nucleo or Discovery board but I don't see it on mbed ?
A: Not all the Nucleo and Discovery boards are published on mbed. The SDK is developped on GitHub and everybody can participate to its development. You can start sending pull requests on GitHub and we'll review it. More information about the files to be created/changed here : https://developer.mbed.org/teams/ST/wiki/steps-to-create-a-new-STM32-platform
Q: Which pin names can I use in my code ? I tried "PWM4/3" or "I2C1 SCL" but I got an error ?
A: See https://developer.mbed.org/teams/ST/wiki/pinout_labels.
Q: Where can I see what has been changed in the different mbed revision ?
A: We maintain a change log here https://developer.mbed.org/teams/ST/wiki/SDK-changes-log. You can find additional information also here https://developer.mbed.org/users/mbed_official/code/mbed/shortlog and click on the revision you want. The mbed source code is present on GitHub here https://github.com/ARMmbed/mbed-os/releases.
Q: I have soldered an XTAL on my Nucleo board but how can I use it in my code ?
A: First, use mbed-dev library instead of mbed one. Then edit the system_stm32<xxx>.c file which is present in the TARGET_xxx folder. At the top of this file, there is the line "#define USE_PLL_HSE_XTAL". Make sure to set it "1" to enable the feature. Make sure to write the correct xtal value in the HSE_VALUE define. The clock setting is done in the function SetSysClock_PLL_HSE. You will have maybe also to change the dividers and prescalers. You can also use ST CubeMx software to generate this clock initialization code.