нужно реализовать многозадачность с использованием приоритетов. если что-то неправильно - поправьте. насколько я понимаю, нужно использовать Periodic Interval Timer. менеджер потоков хранит в субу есть список потоков. для каждого потока хранится информация: контекст (значения регистров, среди которых указатель стека, флаговый регистр, указатель текущей команды и пр.), преоритет. при срабатывании прерывания от Periodic Interval Timer менеджер сохраняет контекст прерванного потока, берёт следующший поток в списке, устанавливает для него Periodic Interval Value, восстанавливает контекст, передаёт управление (безусловным переходом?). затем снова ловит прерывание и т.д.
не совсем понятно как сохранять/восстанавливать контекст - тут скорее всего придётся вставлять ассемблерный код. и не понятно как завершать обработку прерывания...
А стоит ли изобретать велосипед? Может, для начала ознакомиться с портами для ARM многочисленных ОСей (FreeRTOS, scmRTOS, uCOS и т.п.)?
Цитата(aaarrr @ Feb 2 2010, 02:06)

А стоит ли изобретать велосипед? Может, для начала ознакомиться с портами для ARM многочисленных ОСей (FreeRTOS, scmRTOS, uCOS и т.п.)?
да я вообще-то и не изобретаю. теория интересна.
Ну вот как раз в плане изучения и стоит поковырять имеющееся.
Aurochs
Feb 1 2010, 22:17
+1.
IMHO cамый эффективный способ изучения - по уже готовой реализации.
Цитата(Aurochs @ Feb 2 2010, 03:17)

+1.
IMHO cамый эффективный способ изучения - по уже готовой реализации.
далеко не самый.
Genadi Zawidowski
Feb 2 2010, 18:26
Просмотр всей имеющейся информации иногда даёт пользу не только в идеях, но например в использовании устоявшейся в этой области терминологии.
Полезно посмотреть на разные архитектуры - понятнее станет, зачем надо отвязывать архитектурно-зависимые части от независимых. Вовсе не для того, чтобы облегчить перенос на другие архитектуры - для того, чтобы меньше ошибок было. Да и сам по себе перенос как средство выяявления ошибок тоже применятся может.
Цитата(srm @ Feb 2 2010, 21:04)

далеко не самый.
Тогда изучайте архитектуру, чтобы не было вопросов и сомнений типа:
Цитата(srm @ Feb 1 2010, 23:52)

...
безусловным переходом?
...
не совсем понятно как сохранять/восстанавливать контекст - тут скорее всего придётся вставлять ассемблерный код. и не понятно как завершать обработку прерывания...
И пишите свое. Тоже вариант.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.