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

 
 
> ARM 7(9) Cortex A, Простой переключатель контекста
mantech
сообщение May 30 2018, 10:49
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Приветствую.

Собственно интересует сам сабж, простейший переключатель контекста для работы 2 функций вытесняющим способом, без всяких очередей, листов и пр. наворотов РТОСов, под контроллер прерываний данных МК.

Вроде простая задача, но че-то затупило у меня, почему-то не работает вложенное прерывание или программное на котором делал свою старую реализацию. Выдирать из фриртосов и пр. процесс не простой, т.к. честно говоря в АРМовском асме силен не особенно. Буду рад, если у кого что завалялось подобное...

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
jcxz
сообщение May 30 2018, 11:57
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(mantech @ May 30 2018, 13:49) *
Собственно интересует сам сабж, простейший переключатель контекста для работы 2 функций вытесняющим способом, без всяких очередей, листов и пр. наворотов РТОСов, под контроллер прерываний данных МК.
Вроде простая задача, но че-то затупило у меня, почему-то не работает вложенное прерывание или программное на котором делал свою старую реализацию. Выдирать из фриртосов и пр. процесс не простой, т.к. честно говоря в АРМовском асме силен не особенно. Буду рад, если у кого что завалялось подобное...

В Cortex-A, насколько я слышал, архитектура прерываний подобна ARM7/9. А там всего два вектора: IRQ и FIQ (не считая fault-ов). И устроено там всё совсем не так как в Cortex-M.
Там вытеснение простым способом не сделать - не заточено ядро под ОСы.
Там нет понятия "вложенных прерываний". При срабатывании какого-то прерывания, процессор переключается на контекст данного прерываний (свой набор регистров), поэтому такое же вложенное прерывание уже невозможно. Вложенности и переключения контекста там делаются искусственно - копированием регистров из одного стека в другой.

Цитата(mantech @ May 30 2018, 14:54) *
Дак у фриртоса тоже подобное есть, только использовать это без ртосной обвязки трудновато, либо надо хорошо знать асм...

Без знания асм и механизма работы прерываний там никак.
Go to the top of the page
 
+Quote Post



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

 


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


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