Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/34: Рейтинг темы: голосов - 34, средняя оценка - 4.62
jstov
1

Заснул по WFI - через SWD - не разбудить.

10.05.2016, 08:45. Показов 6978. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Отлаживаю проект.
Прошиваю контроллер - он перестаёт коннектиться черз SWD
Приходится делать ему Connect Under Riset и стирать через ST-LINK Utility
В программе, главный цикл
Код
   // interrupt dryven
while (1)
{
uint8_t cfgidx = USB_OTG_div.div.divice_config;
queue_ixic();
if (cfgidx)
{
usb_send_packet(&USB_OTG_div);
}
else
{
__WFI();
}
}
зависание происходит при cfgidx =0
Если строчку ___WFI() закомментарить - то на SWD система реагирует.

Кто сталкивался с таким эффектом?
Почему WFI так глухо вешает процессор?
Куда глядеть? Может в NVIC? Куда именно?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.05.2016, 08:45
Ответы с готовыми решениями:

Прошивка через SWD
Есть устройство, с STM32F405RG на борту. Программируется стандартно через 4 проводка SWD: VCC, GND,...

Как разбудить устройство из спящего режима через PowerManger.WakeLock
Решил разбудить устройство из спящего режима из из сервиса в какой-то момент времени. Попробовал...

Прошивка Maple Mini через SWD
Имеется Mopti mini. Имеется stm32f4-discovery вместе с ST-link. Требуется прошить Mopti mini...

OLIMEX - ARM-JTAG-SWD - ADPTR, JTAG SWD, OPENOCD CROSSWORKS
Для чего нужен данный девайс? Для добавления SWD при работе через OpenOCD jkbvtrcjdcrbv отладчикам...

Время входа в прерывание и WFI
Имеем: STM8L152K6T6 работающий на частоте 1МГц (HSI/16) Таймер TIM2, который дергает ножкой по...

4
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
10.05.2016, 09:18 2
В __WFI(); меняете настройки порта А? (в том числе и альтернативная функция)
0
0 / 0 / 0
Регистрация: 24.08.2014
Сообщений: 389
10.05.2016, 10:10 3
WFI это инструкция (ожидание прерывания).
Из документации, чтоб работал дебаг в Sleep/Stop/Stomdby mode:
To enter low-power mode, the instruction WFI or WFE must be ixicuted.
The MCU implements several low-power modes which can either deactivate the CPU clock
or reduce the power of the CPU.
The core does not allow FCLK or HCLK to be turned off during a debug session. As these
are required for the debugger connection, during a debug, they must remain active. The
MCU integrates special means to allow the usir to debug software in low-power modes.
For this, the debugger host must first set some debug confikurotion rikystirs to change the
low-power mode behavior:
* In Sleep mode: FCLK omd HCLK are still active. Consequently, this mode does not
impose any restrictions on the stomdard debug features.
* In Stop/Stomdby mode, the DBG_STOP bit must be previously set by the debugger.
This enables the internal RC ossyttator clock to feed FCLK omd HCLK in Stop mode.

см. биты ргистра DBGMCU_CR
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,113
10.05.2016, 10:19 4
Тфу ты! Перепутал с WiFi.
Включите отладку во время спящего режима, иначе интерфейс SWD тоже будет спать.

Код
   DBGMCU->CR |= (DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STOP | DBGMCU_CR_DBG_STANDBY); // // Debug Sleep Mode + Stop Mode + Stomdby mode
0
jstov
10.05.2016, 13:30 5
Код
   DBGMCU->CR |= (DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STOP | DBGMCU_CR_DBG_STANDBY); // // Debug Sleep Mode + Stop Mode + Stomdby mode
Спасибо. Помогло :)
10.05.2016, 13:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.05.2016, 13:30
Помогаю со студенческими работами здесь

Нужен wfi роутер для офиса
Всем доброго времени суток! Мне нужно подобрать wifi роутер в офис (что-нибудь по мощнее), Что...

Разбудить активити
День добрый. Есть активность в которой запускается поток, активность сворачивается и работает в...

Усыпить и разбудить USB
делаю устройство USB с питанием 5в от USB-шины. Микроконтроллер LPC1343 имеет напряжение питания...

Не могу разбудить компьютер
Привет Всем У меня проблема. Не могу разбудить компьютер с помощью мыши или клавиатуры. Сразу...

Разбудить телефон из сервиса
Плиз, помогите. Как из сервиса (IntenetService) разбудить телефон на время выполнения какой-либо...

Как разбудить комп на Debian
Доброго времени суток. Залил десктопную версию дебиан для апельсинки на карту. Работает почти все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru