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

 
 
> RTOS, тупые вопросы
spectr
сообщение Jun 3 2016, 12:47
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 285
Регистрация: 10-12-04
Из: Earth
Пользователь №: 1 437



Привет, друзья!

Вот изучаю как делают RTOS и имею ряд нубских вопросов:

1. Для чего каждая задача в ртосах оформляется в вечный цикл? Чтобы не быть завершенной и забытой "естественным путем"? А если задача больше не нужна, то ее надо прибивать самому с помощью какой-нибудь, условно говоря, os_task_kill(this_task)?
2. Конкретно под Cortex-M4. Как понять какие именно регистры сохранять, а какие - не сохранять при переключении контекста (не считая R0-R3, SP, LR, PC)?
3. Для начала достаточно ли будет делать только переключение контекста в PendSV_Handler шедулером или есть еще какие-либо тонкости?
4. Где физически находятся все эти стеки, на которые указывают регистры?

Спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jun 6 2016, 11:33
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Что-то мне кажется, сохранять все регистры проще, чем шарить по всем функциям задачи, выискивая, какие регистры используются.
Ради чего такие муки? Нескольких тактов, нескольких байтов?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- spectr   RTOS, тупые вопросы   Jun 3 2016, 12:47
- - AlexandrY   Цитата(spectr @ Jun 3 2016, 15:47) Спасиб...   Jun 3 2016, 13:18
- - yes   1. необязательно. но есть некие упрощения (наприме...   Jun 3 2016, 13:22
|- - AlexandrY   Цитата(yes @ Jun 3 2016, 16:22) 2. в порт...   Jun 3 2016, 15:14
- - spectr   Цитата(AlexandrY @ Jun 3 2016, 16:18) Не ...   Jun 6 2016, 05:35
|- - AlexandrY   Цитата(spectr @ Jun 6 2016, 08:35) Эммм, ...   Jun 6 2016, 08:31
||- - spectr   Цитата(AlexandrY @ Jun 6 2016, 11:31) И г...   Jun 6 2016, 09:04
|- - yes   Цитата(spectr @ Jun 6 2016, 08:35) Не пор...   Jun 6 2016, 12:19
|- - AlexandrY   Цитата(yes @ Jun 6 2016, 15:19) про MQX -...   Jun 6 2016, 12:38
|- - yaghtn   Цитата(AlexandrY @ Jun 6 2016, 15:38) MQX...   Jun 7 2016, 05:51
|- - dxp   QUOTE (AlexandrY @ Jun 6 2016, 18:38) А н...   Jun 7 2016, 06:51
|- - AHTOXA   Цитата(AlexandrY @ Jun 6 2016, 17:38) scm...   Jun 7 2016, 06:59
||- - AlexandrY   Цитата(AHTOXA @ Jun 7 2016, 09:59) Всё по...   Jun 7 2016, 07:03
||- - dxp   QUOTE (AlexandrY @ Jun 7 2016, 13:03) Пра...   Jun 7 2016, 07:18
||- - AlexandrY   Цитата(dxp @ Jun 7 2016, 10:18) Покажите ...   Jun 7 2016, 09:14
||- - dxp   QUOTE (AlexandrY @ Jun 7 2016, 15:14) Да ...   Jun 7 2016, 09:30
||- - esaulenka   Цитата(dxp @ Jun 7 2016, 12:30) Не знаком...   Jun 7 2016, 16:02
|- - yes   Цитата(AlexandrY @ Jun 6 2016, 15:38) К л...   Jun 7 2016, 07:12
- - spectr   Вопрос по стеку задачи. У каждой задачи есть свой ...   Jun 6 2016, 12:05
|- - Valentine Loginov   Цитата(spectr @ Jun 6 2016, 15:05) Вопрос...   Jun 7 2016, 06:43
|- - Kabdim   Цитата(Valentine Loginov @ Jun 7 2016, 09...   Jun 7 2016, 12:45
- - spectr   Еще вопросы. Значит, написал вот такой код: main....   Jun 8 2016, 10:53
|- - AHTOXA   Цитата(spectr @ Jun 8 2016, 15:53) 3. Не ...   Jun 8 2016, 12:16
|- - spectr   Цитата(AHTOXA @ Jun 8 2016, 15:16) Там же...   Jun 8 2016, 12:26
|- - AlexandrY   Цитата(spectr @ Jun 8 2016, 15:26) Там на...   Jun 8 2016, 12:34
|- - spectr   Цитата(AlexandrY @ Jun 8 2016, 15:34) Гов...   Jun 8 2016, 13:48
|- - demiurg_spb   Цитата(AlexandrY @ Jun 8 2016, 15:34) Отк...   Jun 10 2016, 13:37
- - spectr   Вопрос по прерыванию PendSV_Handler. В нем выполн...   Jun 10 2016, 11:50
|- - AlexandrY   Цитата(spectr @ Jun 10 2016, 14:50) Если ...   Jun 10 2016, 12:16
- - spectr   Правильно ли я понимаю, что PendSV используется та...   Jun 10 2016, 12:38


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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 09:47
Рейтинг@Mail.ru


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