scmRTOS for STM8

Викладаю першу чорнову версію порта scmRTOS для мікроконтролерів STM8 та компілятора IAR.
Порт основано на scmRTOS гілки pre-v400.

Обмеження цієї версії порта:

  • Не підтримується LARGE модель даних.
  • Не реалізовано перемикання контексту програмно ініційованим прериванням.
  • Не реалізовано перемикання преривань на окремий стек.

В комплекті йдуть приклади 1-EventFlag та 4-Debug.
Приклади збиралися компілятором IAR версії 1.30, перевірялися на платі STM8S-DISCOVERY (STM8S105C6).

Файли iostm*.h від IAR конфліктують з файлом stm8s.h від STMicroelectronics. Зараз приклади зроблено під IAR-івські include-файли.
Порт scmRTOS (вміст каталогу scmRTOS/STM8) не залежить від цих файлів, все необхідне йому передається у вигляді макросів у файлі scmRTOS_TARGET_CFG.h.
Схоже, пізніше в окремому #include-файлі буде дописано те, чого не вистачає для використання stm8s.h, приклади буде переписано під стандартну бібліотеку від STMicro.

Приклад 1-EventFlag зроблено на основі прикладу для AVR/GCC порта, можна користуватися описом цього прикладу використання scmRTOS.
При оптимізації максимального рівня на швидкість приклад 4-Debug працює неправильно. Тобто все наче працює, на терміналку стан стеків процесів та завантаженість системи видається, але величини завантаженості не відповідають дійсності. При максимальній оптимізації на розмір або збалансованій приклад працює. В чому причина неправильної роботи — ще не розбирався.

В офіційний репозиторій scmRTOS порт поки-що не включено — щоб не затримувати вихід релізу scmRTOS v4.00.


Доповнення від 8 листопада 2011 року: порт STM8/IAR додано в репозиторій scmRTOS.

Attached Files:

Leave a Reply

[flagcounter image]