STM 32F030F4P6 — микроконтроллер производства STMicroelectronics, на ядре ARM® 32-bit Cortex®-M0, работающий на частоте до 48 MHz. 32F030F4P6 имеет 16 Kbytes Flash памяти программ и 4 Kbytes оперативной SRAM памяти с контролем чётности.

Для экспериментов с микроконтроллером STM 32F030F4P6 будем использовать плату STM32F030F4-V2.00.

 

На плате установлен микроконтроллер (м-к) STM 32F030F4P6 имеется mini USB разъём, стабилизатор питания 1117 с напряжением на выходе 3,3 В и допустимым током нагрузки 800 мА, кнопка, светодиод - индикатор питания, светодиод для тестирования м-к, несколько резисторов и конденсаторов и три перемычки. Одна перемычка (LED) отключает от м-к светодиод, вторая (BOTO) - переводит м-к в режим программирования (если её снять до подачи питания) и третья перемычка VDDA. На плате, так же имеется место для установки кварцевого резонатора.

Микроконтроллер STM 32F030F4P6 в памяти программ содержит загрузчик и может быть запрограммирован через Rx-Tx интерфейс (UART (TTL Com-порт)). Rx-Tx UART интерфейс предоставляет множество микросхем. Воспользуемся USB-UART кабелем со встроенной микросхемой Prolific Technology, Inc. PL2303.

Кабель имеет USB-A разъём и 4 провода на другом конце. Нам понадобятся 3 провода, которые подключим следующим образом:

USB-UART PL2303 STM32F030F4-V2.00
Зелёный RX
Белый TX
Чёрный GND

Питание на микроконтроллер можно подать через USB интерфейс платы STM32F030F4-V2.00 или на pin 5V платы STM32F030F4-V2.00 с красного провода USB-UART кабеля. Перед подачей питания на плату STM32F030F4-V2.00 необходимо снять перемычку BOTO.

Для программирования м-к STM 32F030F4P6 под Linux установим программу stm32flash:

sudo apt install stm32flash

Считаем с устройства информацию (Get device information):

dior@U18pro:~$ stm32flash /dev/ttyUSB0
stm32flash 0.5

http://stm32flash.sourceforge.net/

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0444 (STM32F03xx4/6)
- RAM        : 4KiB  (2048b reserved by bootloader)
- Flash      : 32KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 3KiB

Сохраним программу из микроконтроллера в файл (Read flash to file):

dior@U18pro:~/robotics/STM$ stm32flash -r 32F030F4P6 /dev/ttyUSB0
stm32flash 0.5

http://stm32flash.sourceforge.net/

Interface serial_posix: 57600 8E1
Version      : 0x31
Option 1     : 0x00
Option 2     : 0x00
Device ID    : 0x0444 (STM32F03xx4/6)
- RAM        : 4KiB  (2048b reserved by bootloader)
- Flash      : 32KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 3KiB
Memory read
Read address 0x08008000 (100.00%) Done.

Запись программы из файла в микроконтроллер с верификацией и последующим запуском программы на выполнение (Write with verify and then start execution):

stm32flash -w filename -v -g 0x0 /dev/ttyUSB0