Modification of mbed-src library only for STM32F030F4, very cheap microcontroller in 20-Pin TSSOP package, with 16Kbytes of Flash and 4Kbytes of Ram. **Target for online compilator must be Nucleo 32F030R8.**
Dependents: STM32F031_blink_LED_2
You are viewing an older revision! See the latest version
Homepage
STM32F030F4 pinout (pin functions supported in mbed library).
other pins:
Pin nr | Pin name | Connected | ST-LINK on Nucleo (programming and debug) |
---|---|---|---|
1. | BOOT0 | GND | |
4. | NRST | CN4 pin 5 | |
5. | VDDA | +3.3V | |
15. | VSS | GND | CN4 pin 3 |
16. | VDD | +3.3V | |
19. | SWDIO | CN4 pin 4 | |
20. | SWCLK | CN4 pin 2 |
Remove jumpers CN2 on Nucleo when CN4 is connected to STM32F030F4
STM32R030F4 programming using Nucleo (any type):
Notes:
- When programming using the Nucleo virtual disk (drag and drop) , first turn on the power STM32F030F4, and then connect Nucleo to USB. When programming with "ST-LINK Utility", it does not matter.
STM32R030F4 programming using Arduino (as a simple USB-Serial converter) and FlyMcu program:
Notes:
- For Usart in STM32F030F4, only 5V tolerant TX, RX pins are pins 17 and 18. Just their uses internal serial bootloader, so you can use such Arduino or other USB-Serial converter operating as standard 5V.
- Where used FlyMcu, binary file from online compiler Mbed need to convert to intel hex file and during the conversion add the data offset 0x08000000 (or if offset is 0, manually add/edit the first line of the .hex file to ":020000040800F2").
- During programming procedure, pin 1 (BOOT0) should be connected to 3.3 V. And before contact with the loader program, temporarily pin 4 (NRST) shorted to GND to reset the chip. After programming BOOT0 is connected to GND.
- In this set with Arduino Uno, the "Flash loader demonstrator" from STM does not work (does not recognize the response from the chip at the initial stage of connection). But with Arduino Duemilanove program "STM Flash loader demonstrator" works perfectly (ver. 2.7.0). And do not need any additional file conversion (as the need for FlyMcu). You can use a binary file directly from the on-line compiler mbed.
tested:
- Serial (PA_2, PA_3), (PA_9,PA_10)
- PwmOut PA_4, PA_6, PA_7, PB_1
- AnalogIn PA_0, PA_1, PA_2, PA_3, PA_4, PA_5, PA_6, PA_7, PB_1
- HSE with xtal 8Mhz + 2*22pF (auto detect ok)
- i2c (PA_10, PA_9)
untested yet:
- spi
Additional information (and inspiration for this modification):
http://developer.mbed.org/forum/electronics/topic/5184/
http://developer.mbed.org/questions/4643/Does-mbed-support-STM32F030F4/
http://developer.mbed.org/questions/2927/mbed-on-other-packages-stm32f030f4-TSSOP/
http://developer.mbed.org/questions/4139/Programming-STM32F030F4-with-Nucleo-F030/