ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
12 июля
405560 Топик полностью
Mahagam (27.04.2013 13:15, просмотров: 269) ответил fk0 на В "галимейшем фриртосе" как раз проблема с отсутствием глобальной переменной позволяющей хранить thread specific data. А проблем не возникает потому, что фриртос используют совместно с весьма специфическими программами. Где библиотечных функций не
у меня 98% вызовов библиотечных функций - это тупо memcpy() да memset(). всё. остальное - свой код, который пишется вручную. а вы что? используете кодогенераторы? или как? TLS имеет заметный смысл только если проц имеет MMU, иначе это профанация. over9000 потоков нужно. у меня уже 15 потоков живёт. и в планах дописать ещё два-три. превратить это в биглуп? увольте, у меня несколько задач которые должны вызываться строго по времени, а несколько задач требуют неопределённого времени для своего выполнения. я заибусь делать так, чтобы ничего друг другу не мешало. а вообще надо называть вещи своими именами: фриртос ни разу не ОС. это тупо таск-шедулер. и в подавляющем большинстве случаев, когда биглуп становится дюже хитровыебанным, этот самый таск-шедулер становится красивым и изящным решением проблемы. переход к следующему шагу: полноценной ОС, с драйверами, слоями абстракции железа, подгружаемыми модулями и прочим я считаю не оправданным. это _слишком_ большие затраты для микроконтроллерных проектов. а всевозможные таск-шедулеры дают вполне ощущаемые результаты при вполне определённых и небольших затратах. обычно это до 5к кода и ~ 40 байт + стек на каждую задачу.