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

 
 
> at91sam7 реализация многозадачности
srm
сообщение Feb 1 2010, 20:52
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 144
Регистрация: 27-12-09
Из: Пермь
Пользователь №: 54 501



нужно реализовать многозадачность с использованием приоритетов. если что-то неправильно - поправьте. насколько я понимаю, нужно использовать Periodic Interval Timer. менеджер потоков хранит в субу есть список потоков. для каждого потока хранится информация: контекст (значения регистров, среди которых указатель стека, флаговый регистр, указатель текущей команды и пр.), преоритет. при срабатывании прерывания от Periodic Interval Timer менеджер сохраняет контекст прерванного потока, берёт следующший поток в списке, устанавливает для него Periodic Interval Value, восстанавливает контекст, передаёт управление (безусловным переходом?). затем снова ловит прерывание и т.д.
не совсем понятно как сохранять/восстанавливать контекст - тут скорее всего придётся вставлять ассемблерный код. и не понятно как завершать обработку прерывания...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Feb 1 2010, 21:06
Сообщение #2


Гуру
******

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



А стоит ли изобретать велосипед? Может, для начала ознакомиться с портами для ARM многочисленных ОСей (FreeRTOS, scmRTOS, uCOS и т.п.)?
Go to the top of the page
 
+Quote Post



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

 


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


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