LINUX.ORG.RU

Как подружить openocd и iwdg?

 , ,


0

1

Сразу после последней строчки данного куска кода

IWDG->KR = IWDG_WRITE_ACCESS;
IWDG->KR = IWDG_START;
IWDG->PR = IWDG_PR_PR_1;//вот тут 

в контроллере stm32f0x2 начинает шалить openocd.

Выражается это в том что теперь не работает переход к следующей строке, могу ли я считывать при этом регистры понять не смог.

При этом паузы и бряки работают.

Чем лечить куда копать?

Конфиг openocd.cfg прилагается.

source [find interface/stlink.cfg]
transport select hla_swd
source [find target/stm32f0x.cfg]
reset_config srst_nogate

Программатор stlink-v2, среда vscode+cortexdebug, система debian 11, армовский тулчейн arm-none-eabi из реп версии 8.3.1, отладчик gdb-multiarch.


Модель точнее предпочёл бы не говорить, и подозреваю что повторяется и вообще на всех мкк где есть сий модуль.


openocd видимо был ни причём, проблема оказалась в том что IWDG постоянно перезапускал контроллер. По этому его надо было останавливать на время пока программа на паузе.

В данном случае вставляем

RCC -> APB2ENR |= RCC_APB2ENR_DBGMCUEN;
DBGMCU->APB1FZ |= DBGMCU_APB1_FZ_DBG_IWDG_STOP;

перед запуском IWDG.



Последнее исправление: nikitalol (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.