|
scmRTOS и MSP430 low power mode |
|
|
|
Sep 7 2006, 10:07
|
Местный
  
Группа: Свой
Сообщений: 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. Я, конечно, понимаю, что проблема несколько надуманная, но все таки хочется хоть что-то использовать без нарушения лицензии.
|
|
|
|
|
 |
Ответов
|
Sep 7 2006, 12:38
|
Местный
  
Группа: Свой
Сообщений: 316
Регистрация: 22-10-05
Пользователь №: 9 976

|
Цитата(dxp @ Sep 7 2006, 15:24)  Там для системного таймера есть тоже соответсвующий хук. Его нужно разрешить в конфигурации и определить его потроха. Это я знаю, но как-то не подумал его использовать для сброса флагов LPM-режима. Надо будет попробовать. Спасибо. Цитата Вы как будто не в России.  В России, но я же говорю, что хочу хотя бы что-то честно использовать  Тем более что автор scmRTOS денег за нее не хочет, а просит просто не курочить.
|
|
|
|
Сообщений в этой теме
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 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 jorikdima В качестве результата обсуждения, как в итоге-то н... Feb 5 2010, 09:39 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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|