Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Помогите понять STM32+RTOS
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Spider
Всем привет!

Вот "развлекаюсь" с STM32F103 и наткнулся на RT-Threads. Собрал её в минимуме - только UART консоль и минимальный необходимый набор. Всё работает.
Теперь у меня возник вопрос. Можно ли усыпить проц под управлением OS? Что будет с системой? Как она к этому отнесётся?
_Артём_
Цитата(Alexey Belyaev @ Sep 23 2012, 14:54) *
Теперь у меня возник вопрос. Можно ли усыпить проц под управлением OS? Что будет с системой? Как она к этому отнесётся?

Можно: обычно для этой цели используется специальная задача Idle, в которой и происходит усыпление.
Но чтобы система вышла из сна нужно иметь источник пробуждения - Systick, ExternalInterrupt и тп.
Выглядит приерно так:

Код
void OS::idle_process_user_hook()
{
    prepareEM2();
    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
    __WFI();
}


Цитата(Alexey Belyaev @ Sep 23 2012, 14:54) *
Как она к этому отнесётся?

Куску кремния даже непофигу...
Spider
Спасибо за оперативность sm.gif
Я так понял речь идёт о этом:

rt_thread_idle_sethook(cpu_usage_idle_hook);

Так?
haker_fox
QUOTE (Alexey Belyaev @ Sep 23 2012, 20:54) *
Как она к этому отнесётся?

ИМХО, ОС - обычная программа, только называется специальными красивыми словами) Однако, если у Вас в Idle считаются тики, на которые что-то завязано, то нужно осознавать, что эти тики перестанут считаться) В общем, все на совести программиста)
_Артём_
Цитата(Alexey Belyaev @ Sep 23 2012, 15:41) *
Я так понял речь идёт о этом:

rt_thread_idle_sethook(cpu_usage_idle_hook);

По смыслу - то что надо.
Но Ось экзотическая (никогда про неё не слышал) точно утверждать не буду.
Возможно сам Idle тоже надо как-то инициализировать.

Цитата(haker_fox @ Sep 23 2012, 15:50) *
если у Вас в Idle считаются тики, на которые что-то завязано, то нужно осознавать, что эти тики перестанут считаться

Зачем в Idle тики считать?
Разве что производительность измерять...
Или вы что-то другое имели в виду?
haker_fox
QUOTE (_Артём_ @ Sep 23 2012, 21:53) *
Разве что производительность измерять...
Или вы что-то другое имели в виду?

Да для чего угодно) Вариантов-то написания программ до кучи... Вот и решил я человеку обстоятельно ответить. Вдруг, действительно, производительность будет замеряться)
Spider
Ради интереса этим и занялся, дабы попробовать sm.gif
ОС конечно проста, но без документации, так что тяжко пока
_Артём_
Цитата(Alexey Belyaev @ Sep 23 2012, 16:43) *
ОС конечно проста, но без документации, так что тяжко пока

Взяли бы ОС с документацией - выбор огромен.
Или хотелось бы помучаться?
Spider
они все громозки и намучены sad.gif
_Артём_
Цитата(Alexey Belyaev @ Sep 23 2012, 17:18) *
они все громозки и намучены sad.gif

Вот как...
А ОС с поддержкой GUI, TCP и написанная китайцами не громозка?

Почему не взять Ос с которой работает много народа - uCos, Rtx, Freertos и тд?
Spider
Ну я же сказал что я в этом не нуждаюсь и это не собирал, и тут я с ходу понял как и чего, а вот там не очень...
ViKo
Советую Keil RTX. Простая.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.