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

 
 
> scmRTOS и MSP430 low power mode
Dr.NoA
сообщение Sep 7 2006, 10:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 316
Регистрация: 22-10-05
Пользователь №: 9 976



Использую операционную систему scmRTOS на микроконтроллерах MSP430 (в основном F169 и F1611), все замечательно, но есть одна проблема.
Хотелось бы переводить МК в режим пониженного энергопотребления (например, LPM3), когда ему нечем заняться. Насколько я понимаю, для этого достаточно в теле функции void OS::IdleProcessUserHook() выполнить команду _BIS_SR(LPM3_bits). В результате МК "заснет" до следующего прерывания от сторожевого таймера, от которого тактируется планировчик задач ОС. В обработчике прерывания нужно выполнить _BIC_SR_IRQ(LPM3_bits), чтобы МК нормально вернулся в активный режим. Но проблема в том, что код обработчика прерывания от сторожевого таймера является частью scmRTOS, а добавление одной строчки "_BIC_SR_IRQ(LPM3_bits)" приведет к нарушению условий лицензии на scmRTOS.
В общем вопрос в следующем. Решал ли кто-нибудь эту задачу без внесения изменений в исходники операционки? Если да, то поделитесь рецептом.

P.S.
Я, конечно, понимаю, что проблема несколько надуманная, но все таки хочется хоть что-то использовать без нарушения лицензии.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jorikdima
сообщение Feb 5 2010, 09:39
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



В качестве результата обсуждения, как в итоге-то надо организовывать low power mode в случаях, когда нечего делать?
Я вообще рассуждал, что единственное, что требуется, это написать одну строчку в OS::IdleProcessUserHook() , а именно _BIS_SR(LPM3_bits).
Зачем где-то вызывать _BIC_SR_IRQ(LPM3_bits)? Ведь войдя в обработчик прерывания от системного таймера, в случае если надо будет переключить задачу, то восстановится полностью контекст этой задачи, в том числе и регистр SR, в котором не будет уже стоять битов CPUOFF и пр., соответственно таск продолжит выполняться. Как только шедулер решит, что ни один таск не готов, то включится опять IDLE и восстановится его контекст, вместе с CPUOFF, контроллер опять заснет. Я правильно понимаю все?
Спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Dr.NoA   scmRTOS и MSP430 low power mode   Sep 7 2006, 10:07
- - dxp   Цитата(Dr.NoA @ Sep 7 2006, 17:07) Исполь...   Sep 7 2006, 11:24
- - Dr.NoA   Цитата(dxp @ Sep 7 2006, 15:24) Там для с...   Sep 7 2006, 12:38
|- - dxp   Цитата(Dr.NoA @ Sep 7 2006, 19:38) Цитата...   Sep 7 2006, 13:11
- - Dr.NoA   Цитата(dxp @ Sep 7 2006, 17:11) Цитата(Dr...   Sep 7 2006, 16:36
|- - dxp   Цитата(Dr.NoA @ Sep 7 2006, 23:36) Но дум...   Sep 8 2006, 05:31
|- - Hamster1979   Цитата(dxp @ Sep 8 2006, 08:31) Должно ра...   Jan 15 2010, 18:14
|- - dxp   Цитата(Hamster1979 @ Jan 16 2010, 00:14) ...   Jan 16 2010, 11:05
|- - Hamster1979   Цитата(dxp @ Jan 16 2010, 14:05) А если н...   Jan 16 2010, 11:23
|- - dxp   Цитата(Hamster1979 @ Jan 16 2010, 17:23) ...   Jan 16 2010, 13:47
|- - Hamster1979   Даже не так. При применении _Pragma ("inline ...   Jan 16 2010, 14:34
|- - dxp   Цитата(Hamster1979 @ Jan 16 2010, 20:34) ...   Jan 17 2010, 13:52
|- - Hamster1979   Цитата(dxp @ Jan 17 2010, 16:52) А зачем ...   Jan 17 2010, 20:38
|- - dxp   Цитата(Hamster1979 @ Jan 18 2010, 02:38) ...   Jan 18 2010, 04:16
|- - ReAl   Цитата(dxp @ Jan 18 2010, 06:16) #define ...   Jan 18 2010, 08:26
||- - dxp   Цитата(ReAl @ Jan 18 2010, 14:26) и понял...   Jan 18 2010, 09:39
|- - Hamster1979   Цитата(dxp @ Jan 18 2010, 07:16) А у вас ...   Jan 18 2010, 14:45
- - yornik   Поправьте меня, если ошибаюсь: в изначальном виде ...   Sep 8 2006, 12:30
- - Dr.NoA   Цитата(yornik @ Sep 8 2006, 16:30) Поправ...   Sep 8 2006, 14:00
- - SSerge   Я тут подумал... Когда процессор должен уходить в ...   Jan 18 2010, 11:36
|- - dxp   Цитата(SSerge @ Jan 18 2010, 17:36) Получ...   Jan 18 2010, 12:00
- - Dr.NoA   Цитата(SSerge @ Jan 18 2010, 14:36) Получ...   Jan 18 2010, 13:58
|- - dxp   Цитата(Dr.NoA @ Jan 18 2010, 19:58) Если ...   Jan 18 2010, 15:03
- - dxp   Цитата(jorikdima @ Feb 5 2010, 15:39) Как...   Feb 5 2010, 14:35
- - Dr.NoA   Цитата(jorikdima @ Feb 5 2010, 12:39) Я в...   Feb 5 2010, 16:26


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

 


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


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