Перейти к содержанию
    

Странное поведение порта scmRTOS 4.0 для AVR/IAR на ATmega1284

Проверил, прерывания USART1 обрабатываются корректно при scmRTOS_CONTEXT_SWITCH_SCHEME 1 если в конфигурации RTOS установить scmRTOS_CONTEXT_SWITCH_USER_HOOK_ENABLE 1
Да, увы, ошибка в примерах в файле scmRTOS_CONFIG.h.

Произошла из-за ложной уверенности, что она уже невозможна — благодаря проверке в scmRTOS_TARGET_CFG.h

https://groups.google.com/group/scmrtos-ru/...53647bfc8?hl=ru

(и письма туда упадут и мне в почту)

(только туда писать нужно аккуратно)

 

Разница в скорости в 20 с лишним раз.Похоже,из-за постоянного висения в прерывании SPM_READY.
Именно так. Между прерываниями по одной команде основного кода.

Проверяется влёгкую включением хуков, но заменой имеющегося на

INLINE void context_switch_user_hook() { CPL(SPM_ISR_DBG_PIN); }

где SPM_ISR_DBG_PIN — любая свободная ножка.

 

Да, где-то говорилось, что «раз так, может этот хук системным должен быть, а не пользовательским».

Нет, он именно пользовательский. Система не знает, какое прерывание будет использовано и что для него нужно. В примере AVR/GCC/MEGA/2-Message используется прерывание аналогового компаратора и никакие хуки не нужны, оно сбрасывается при входе в обработчик. Так что хук должен определяться попроектно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...