16+
Суббота
22 сентября
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

ARM-контроллеры

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
il-2  (13.08.2013 11:17, файл(ы), просмотров: 716)
"Realtime Interrupts" support for TNKernel CortexM3 port 
По существу - в TNKernel используется глобальное разрешение/запрет прерываний (PRIMASK) в критических секциях (tn_disable_interrupt/tn_enable_interrupt) и при переключении контекста. У меня в связи с этим были проблемы с прерываниями, реакция на которые должна быть мгновенной (6мкс при тактовой 48МГц уже проблемно при использовании TNKernel). Выкладываю пропатченый фаил (для ARM RealView) с решением данной проблемы. При задании в проекте константы DISABLED_PRIORITY_GROUP (только для данного ассемблерного файла) будет компилироваться вариант с поддержкой Realtime Interrupts, если константа не задана, то все будет "по старому". Для запрета/разрешения прерываний вместо регистра PRIMASK используется регистр BASEPRI. При BASEPRI = 0 прерывания разрешены, при BASEPRI = DISABLED_PRIORITY_GROUP остаются разрешенными прерывания, входящие в группу с более высоким приоритетом чем DISABLED_PRIORITY_GROUP. При использовании PRIORITY GROUPING = 5 (2бита на группу и 2бита на подгруппу) и DISABLED_PRIORITY_GROUP = 0x40 мы получаем группу 0. Прерывания с данной группой будут всегда разрешены. Ограничение - в данных прерываниях нельзя использовать функции TNKernel. PS: Значение в BASEPRI оказывает влияние только на группу приоритетов, подгруппы не учитываются!!! Пока у меня данный вариант работает нормально. Приглашаю всех желающих на тестирование и портирование
Прикреплённые файлы:
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII