turnon 1 30 августа, 2015 Опубликовано 30 августа, 2015 (изменено) · Жалоба Подскажите пожалуйста с одним вопросом. Как я понимаю independent watchdog, однажды заведенный, остановить невозможно. Но когда отлаживаю код в IAR, попадает на точку останова и там может находиться бесконечно долго, причем в это время даже таймеры стоят. Оно то и правильно, но беспокоит один вопрос. А как же вочдог, каким образом он отключается во время дебага? Подробности: IAR 7.20, STM32F205, J-LINK (китайский) В рабочем режиме (не в дебаге) вочдог работает, никаких проблем нет. Заводится вот так: IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); IWDG_SetPrescaler(IWDG_Prescaler_256); IWDG_SetReload(0xFFF); IWDG_Enable(); В задаче FreeRTOS периодически вызываю IWDG_ReloadCounter(). Изменено 30 августа, 2015 пользователем turnon Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 30 августа, 2015 Опубликовано 30 августа, 2015 · Жалоба Для STM32F10X reference manual, глава 31 (31.16.2) DBGMCU Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 30 августа, 2015 Опубликовано 30 августа, 2015 · Жалоба DBGMCU Спасибо, прояснилось. А вот еще вопрос. Если в проекте есть брекпоинты, проект в IAR c factory settings: Debug и прошивка залита в МК, возможен ли останов на брекпоинтах (и в итоге зависание), если J-Link не подключен, или J-Link подключен но IAR закрыт? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 30 августа, 2015 Опубликовано 30 августа, 2015 · Жалоба Если в проекте есть брекпоинты, проект в IAR c factory settings: Debug и прошивка залита в МК, возможен ли останов на брекпоинтах (и в итоге зависание), если J-Link не подключен, или J-Link подключен но IAR закрыт? Если речь про программные бряки, то разве Вы не замечаете как IAR прошивает их во флешь после прошивки отлаживаемого образа, и удаляет при отключении отладки? Это трудно не заметить. Если программный бряк по каким-то причинам остался во флешь, то будет вызываться соответствующее исключение (fault) при его достижении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 30 августа, 2015 Опубликовано 30 августа, 2015 · Жалоба Если речь про программные бряки, то разве Вы не замечаете как IAR прошивает их во флешь после прошивки отлаживаемого образа, и удаляет при отключении отладки? Это трудно не заметить. Да, замечал. Это вы дали ответ на еще один вопрос. Подразумевал что это бряки прошиваются, но не был уверен. Если программный бряк по каким-то причинам остался во флешь, то будет вызываться соответствующее исключение (fault) при его достижении. Ну например, просто убили процесс IAR и в МК осталась прошивка с бряками. Будет вызван HardFault_Handler ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
A. Fig Lee 0 30 августа, 2015 Опубликовано 30 августа, 2015 · Жалоба Если речь про программные бряки, то разве Вы не замечаете как IAR прошивает их во флешь после прошивки отлаживаемого образа, и удаляет при отключении отладки? Это трудно не заметить. Если программный бряк по каким-то причинам остался во флешь, то будет вызываться соответствующее исключение (fault) при его достижении. Брекпойнты бывают хардварные (небольшое количество, зависит от конкретного АРМа) и софтварные (скоко угодно, если софт позволяет). Харварные, АФАИК, не во флэше Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Immortal_Buka 0 31 августа, 2015 Опубликовано 31 августа, 2015 · Жалоба The BKPT instruction causes the processor to enter Debug state. Debug tools can use this to investigate system state when the instruction at a particular address is reached. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 31 августа, 2015 Опубликовано 31 августа, 2015 · Жалоба Ну например, просто убили процесс IAR и в МК осталась прошивка с бряками. Будет вызван HardFault_Handler ? Там есть спец. вектор для отладочного исключения. Откройте мануал - я точно не помню. Если оно запрещено, то очевидно будет эскалация до ХардФаулта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
turnon 1 3 сентября, 2015 Опубликовано 3 сентября, 2015 · Жалоба Там есть спец. вектор для отладочного исключения. Откройте мануал - я точно не помню. Если оно запрещено, то очевидно будет эскалация до ХардФаулта. Проверил. Поставил брекпоинт с зарубил процесс IAR'а. После ресета доходит до точки останова и виснет мертво, вочдог не работает. Отсюда мораль - никогда не заливать релиз из среды разработки, или проверять что это не дебаг версия. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 5 сентября, 2015 Опубликовано 5 сентября, 2015 · Жалоба Проверил. Поставил брекпоинт с зарубил процесс IAR'а. После ресета доходит до точки останова и виснет мертво, вочдог не работает. Отсюда мораль - никогда не заливать релиз из среды разработки, или проверять что это не дебаг версия. Не преувеличивайте. Достаточно корректно отключить отладчик, а не выдёргивать кабель JTAG на ходу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться