FreeRTOS: какие правила хорошего тона?

Всем привет! Хочу погрузиться в разработку, основанную на использовании FreeRTOS. Имеется несколько "быдлокодерских" проектов, в которых я юзал эту ОС. Хочу приблизиться к профессиональному уровню разработки с использованием этой ОС.
Вопросы:
  1. Какие есть правила хорошего тона при работе с FreeRTOS?
  2. Какие есть особенности работы этой ОС?
  3. За что бы вы оторвали руки разработчику и от чего у вас течет кровь из глаз при виде быдлокода (вопрос стоит пропустить чере призму использования FreeRTOS)?
  4. Порекомендуйте книгу/ресурс, которая мне поможет разобраться в этих вопросах.
  5. Поделистесь ссылкой (если знаете такой) на проект в гитхаб (или где еще), в которых, по-вашему мнению, идет грамотное использование ОС

Контроллеры с которыми я чаще всего работаю: STM32 (Cortex M3/M4/M7) (не знаю, нужна ли эта инфа, пусть будет).
  • Вопрос задан
  • 909 просмотров
Решения вопроса 1
bullitufa
@bullitufa
электронщик программист (микроконтроллеры и PC)
Прежде всего смотрите на RTOS (любую) как на инструмент решения Вашей задачи. У любого инструмента есть описание: Курниц (вполне себе актуален и сейчас) и офф мануал в pdf (по-моему бесплатно дают).
Правильно пользоваться ОС это значит понимать:
1) разницу в примитивах синхронизации (очередь, мьютекс, семафор) когда и где ими пользоваться
2) как задавать размер стека и приоритет задачам
3) что делать в прерываниях и что делать в задачах (в том числе как правильно задавать приоритеты прерываний)
Это первое что пришло на ум.

Мне лично, после перехода на ОС, пришлось немного перестраивать мышление при написании кода:
1) ты никогда не знаешь когда выполнится код в одной задаче по сравнению с соседней задачей.
2) выполнение задачи могут прервать другие задачи и прерывания
3) если задача куда-то пишет, а другая читает - значит их нужно синхронизировать
и т.д.
Удачи!
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Spider55
@Spider55
Почитай тут
Там и ссылки на статьи и рекомендации.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы