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