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

 
 
> 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
Ответов
spectr
сообщение Jun 10 2016, 11:50
Сообщение #2


Местный
***

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



Вопрос по прерыванию PendSV_Handler.

В нем выполняется переключение с одной задачи на другую, но мне непонятно кто его должен вызывать. Планировщик?
Если планировщик, то зачем вызывать отдельное прерывание, когда переключение на другую задачу можно и без ухода в прерывание сделать.

Я нигде не увидел чтобы PendSV в явном виде где-то вызывалось...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 10 2016, 12:16
Сообщение #3


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(spectr @ Jun 10 2016, 14:50) *
Если планировщик, то зачем вызывать отдельное прерывание, когда переключение на другую задачу можно и без ухода в прерывание сделать.

Я нигде не увидел чтобы PendSV в явном виде где-то вызывалось...


В прерывании повышаются привилегии.

Странно почему вы не видите, во всех вызовах стоят _set_pend_sv
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
- - ViKo   Что-то мне кажется, сохранять все регистры проще, ...   Jun 6 2016, 11:33
- - 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 используется та...   Jun 10 2016, 12:38


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

 


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


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