реклама на сайте
подробности

 
 
> Как будить проц CxM3 переодически из Sleep?
Spider
сообщение Oct 17 2012, 13:30
Сообщение #1


В поисках истины
***

Группа: Свой
Сообщений: 431
Регистрация: 7-01-06
Из: Россия
Пользователь №: 12 923



Снова здарова!

Научился таки усыплять проц, КРУТО! sm.gif А вот будить не научился.
Основная задача просыпаться периодически и и опрашивать разную периферию, после чего снова спать. На AVR8 было всё просто, после усыпления проца он мог просыпать по прерыванию таймера2 и продолжать с момента усыпления. Тут же я немного в замешательстве. Вроде как можно будить проц по Событиям и Прерываниям, а пот по факту не получается sad.gif
Подскажите как чего сделать то?

Помогите. ПЛЗ.

ЗЫ Видать основная проблема в том, что я не до конца разобрался в чём разница между прерываниями и событиями...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Oct 19 2012, 15:48
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата
код не заработал - пришлось добавить пару NOP-ов после __enable_irq


Я наблюдал похожие грабли:
Код
void TIMER0_IRQHandler (void) __irq
{
  // что-то полезное
  T0IR = 0x01;                                // Clear match 0 interrupt
}

Влетал в прерывание два раза - до контроллера прерывания не доходило, что флаг прерывания сброшен.
Нашёл рекомендации использовать инструкции для синхронизации (ISB, кажется), но сделал проще - перенёс сброс флага в начало. Конкретное место, в котором есть проблема, раскапывать поленился.


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Oct 19 2012, 18:18
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(esaulenka @ Oct 19 2012, 18:48) *
Я наблюдал похожие грабли:

Да, ситуация похожая.
Цитата(esaulenka @ Oct 19 2012, 18:48) *
Влетал в прерывание два раза - до контроллера прерывания не доходило, что флаг прерывания сброшен.
Нашёл рекомендации использовать инструкции для синхронизации (ISB, кажется), но сделал проще - перенёс сброс флага в начало. Конкретное место, в котором есть проблема, раскапывать поленился.

Хотелось бы знать какой барьер правильней ставить...
Помогает в общем-то любой, и даже NOP.

Мне кажется более правильным использовать DSB, но так ли это...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Alexey Belyaev   Как будить проц CxM3 переодически из Sleep?   Oct 17 2012, 13:30
- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 16:3...   Oct 17 2012, 13:38
- - Alexey Belyaev   А что проц после сна выходит в 0ой точке?   Oct 17 2012, 13:59
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 16:5...   Oct 17 2012, 14:11
- - Alexey Belyaev   STM32F103 я вгоняю в не глубокий сон, т.е. просто ...   Oct 17 2012, 14:17
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 17:1...   Oct 17 2012, 14:21
- - Alexey Belyaev   другими словами перед сном нужно предварительно за...   Oct 17 2012, 14:28
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 17:2...   Oct 17 2012, 14:46
- - Alexey Belyaev   Ничё не понял. Если перед __WFI() отключаются прер...   Oct 17 2012, 15:07
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 18:0...   Oct 17 2012, 15:54
- - Alexey Belyaev   Уже побывал там Интересная штуковина. Ну а если н...   Oct 17 2012, 16:00
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 19:0...   Oct 17 2012, 16:06
- - Alexey Belyaev   Ну смысл такой, что надо просыпаться только по опр...   Oct 17 2012, 16:37
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 17 2012, 19:3...   Oct 17 2012, 17:20
- - kan35   Был бы у вас FreeRTOS (или другая прямая ось), то ...   Oct 18 2012, 15:37
- - Alexey Belyaev   усыпить я и тут могу, и тоже в ИдлХук, а проснутьс...   Oct 18 2012, 15:42
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 18 2012, 18:4...   Oct 18 2012, 15:49
- - Alexey Belyaev   Прерываний то тма тмущая, в любой ОС есть же SysTi...   Oct 18 2012, 15:53
|- - _Артём_   Цитата(Alexey Belyaev @ Oct 18 2012, 18:5...   Oct 18 2012, 15:56
- - esaulenka   Артём, можно вопрос по коду в сообщении #8? Что-т...   Oct 19 2012, 10:43
|- - AHTOXA   Цитата(esaulenka @ Oct 19 2012, 16:43) Ил...   Oct 19 2012, 11:32
|- - _Артём_   Цитата(esaulenka @ Oct 19 2012, 13:43) Ил...   Oct 19 2012, 11:35
- - nx6310   Можно процессор переводить в STOP режим, Просыпать...   Nov 23 2012, 09:03
- - MK2   Можете запретить прерывания и будить когда вам над...   Nov 23 2012, 11:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 16:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.0177 секунд с 7
ELECTRONIX ©2004-2016