Купил себе на пробу STM32F103C8T6 (BluePill) с программатором STLink-V2. Вот что о нем рассказывает st-info --probe:
Код: Выделить всё
Found 1 stlink programmers
serial: 132014026315303030303032
openocd: "\x13\x20\x14\x02\x63\x15\x30\x30\x30\x30\x30\x32"
flash: 65536 (pagesize: 1024)
sram: 20480
chipid: 0x0410
descr: F1 Medium-density deviceИ попытался собрать и запустить программку мигания светодиодом. Сделал новый проект для STM32F103C8Tx, настройки брал из вот этого видео: https://www.youtube.com/watch?v=e_NSqz5P8Qk
По-сути сгенерировался дефолный проект для STM32F103C8Tx, частота настроена на 72MHz, активирован пин PC13 на режим Output. В коде в бесконечный цикл вписаны команды:
Код: Выделить всё
while (1)
{
HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
HAL_Delay(500);
}Код: Выделить всё
st-link is not in the DFU mode. Please restart it.Потом пришлось подредактировать файл stm32f1x.cfg, так как при запуске была ошибка:
Код: Выделить всё
linux gdb ST-LINK: Could not verify ST device! Abort connection.В результате, после устранения предыдущей ошибки, стали появляться другие ошибки:
Код: Выделить всё
Error: STM32F103C8Tx.cpu -- clearing lockup after double fault
Polling target STM32F103C8Tx.cpu failed, trying to reexamineТогда я решил снова сделать новый проект, все повторил заново, и на этот раз почти получилось. Во всяком случае, явных ошибок в логе запуска нет. Но светодиод не мигает, отладка не работает:
Код: Выделить всё
Open On-Chip Debugger 0.11.0+dev-00438-ga75fc63 (2021-11-03-15:26)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : STLINK V2J39S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 2.427853
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : Unable to match requested speed 8000 kHz, using 4000 kHz
Info : clock speed 4000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x2ba01477
Info : STM32F103C8Tx.cpu: Cortex-M3 r2p1 processor detected
Info : STM32F103C8Tx.cpu: target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for STM32F103C8Tx.cpu on 3333
Info : Listening on port 3333 for gdb connections
Info : accepting 'gdb' connection on tcp/3333
Info : device id = 0x20036410
Info : flash size = 64kbytes
undefined debug reason 8 - target needs reset
O.K.
O.K.:0xE00FFFD0
undefined debug reason 8 - target needs reset
shutdown command invoked
Info : dropped 'gdb' connectionДальше я уже не знаю что делать. Прошу посоветовать что где еще надо докрутить, чтобы помигать светодиодом.
* * *
UPD: Иногда запуск почему-то происходит по-другому, хотя ничего ни в коде ни в конфигурации не меняю. Запуск сопровождается появлением окна с ошибкой:
Код: Выделить всё
Could not verify STM device!Выхлоп запуска при этом немного другой, строки с Info те же самые, но в конце такие ошибки:
Код: Выделить всё
undefined debug reason 8 - target needs reset
O.K.
O.K.:0xE00FFFD0
Error: Failed to read memory at 0xfffffffe
Error: Failed to read memory at 0xfffffffe
undefined debug reason 8 - target needs reset
shutdown command invoked
Info : dropped 'gdb' connection

