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

Вышла версия 7.4.0.

Добавлена возможность получения данных из нескольких очередей.

История изменений.

Изменено пользователем desh

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


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

Добавлена возможность получения данных из нескольких очередей.

зачетная фича, ничего не скажеш. несмотря на то что раньше можно было бы решить тоже обобщенным пакетом данных который на все события годился и использовать одну очередь для разных типолв событий это приводило к замеделению реакции на события которые данные вообще не передают например семафоры. вобщем вещ концептуально грамотная на мой взгляд.

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


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

зачетная фича, ничего не скажеш. несмотря на то что раньше можно было бы решить тоже обобщенным пакетом данных который на все события годился и использовать одну очередь для разных типолв событий это приводило к замеделению реакции на события которые данные вообще не передают например семафоры. вобщем вещ концептуально грамотная на мой взгляд.

 

Идея динамического добавления и убирания событий из некоторого списка без смены кода не нова.

Того и гляди подцепят регистрацию callback'ов для каждого события и будет как у людей.

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


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

Того и гляди подцепят регистрацию callback'ов для каждого события и будет как у людей.

Простите но callback'и -- это не как у людей, ибо РТОС она как бы намекает, что калбеков быть не должно )

ибо вместо каллбека должна быть задача или протопоток на худой конец )

 

Вот если можно из протопотока очереди кушать (всмысле жадать данные или открытие семафора) -- вот это действительно круууто !)

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


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

Вышла FreeRTOS 7.5.0

 

Changes between V7.4.2 and V7.5.0 released July 19 2013

V7.5.0 is a major upgrade that includes multiple scheduling and efficiency
improvements, and some new API functions.

Compatibility information for FreeRTOS users:
  FreeRTOS V7.5.0 is backward compatible with FreeRTOS V7.4.0 with one
  exception; the vTaskList() and vTaskGetRunTimeStats() functions are now
  considered legacy, having been replaced by the single uxTaskGetSystemState()
  function.  configUSE_STATS_FORMATTING_FUNCTIONS must be set to 1 in
  FreeRTOSConfig.h for vTaskList() and vTaskGetRunTimeStats() to be 
  available.

Compatibility information for FreeRTOS port writers:
  vTaskIncrementTick() is now called xTaskIncrementTick() (because it now
  returns a value).

Headline changes:

+ Multiple scheduling and efficiency improvements.
+ Core kernel files now pass PC-Lint V8 static checking without outputting
  any warnings (information on the test conditions will follow).

New API functions:

+ uxTaskGetSystemState() http://www.freertos.org/uxTaskGetSystemState.html
+ xQueueOverwrite() http://www.freertos.org/xQueueOverwrite.html
+ xQueueOverwriteFromISR()
+ xQueuePeekFromISR()

The following ports and demos, which were previously available separately,
are now incorporated into the main FreeRTOS zip file download:

+ ARM Cortex-A9 IAR
+ ARM Cortex-A9 ARM compiler
+ Renesas RZ
+ Microsemi SmartFusion2

New FreeRTOSConfig.h settings
http://shop.freertos.org/FreeRTOS_API_and_...ence_s/1822.htm

+ configUSE_TIME_SLICING
+ configUSE_NEWLIB_REENTRANT
+ configUSE_STATS_FORMATTING_FUNCTIONS
+ configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS

Other changes:

+ (MPU port only) The configINCLUDE_APPLICATION_DEFINED_PRIVILEGED_FUNCTIONS
  options provides a mechanism that allows application writers to execute
  certain functions in privileged mode even when a task is running in user
  mode.
+ Ports that support interrupt nesting now include a configASSERT() that
  will trigger if an interrupt safe FreeRTOS function is called from an
  interrupt that has a priority designated as above the maximum system/API
  call interrupt priority.
+ The included FreeRTOS+Trace recorder code has been updated to the latest
  version, and the demo applications that use the trace recorder code have
  been updated accordingly.
+ The FreeRTOS Windows Simulator (MSVC version only) has been updated to
  include a new basic 'blinky' build option in addition to the original
  comprehensive build option.
+ Improve RAM usage efficiency of heap_4.c and heap_2.c.
+ Prevent heap_4.c from attempting to free memory blocks that were not
  allocated by heap_4.c, or have already been freed.
+ As FreeRTOS now comes with FreeRTOS+FAT SL (donated by HCC) the Chan FATfs
  files have been removed from FreeRTOS/Demo/Common.
+ Fix build error when R4 port is build in co-operative mode.
+ Multiple port and demo application maintenance activities.

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


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

Почти сразу же выпущена версия 7.5.2. Исправления коснулись энергосбережения для STM32

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


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

Почти сразу же выпущена версия 7.5.2. Исправления коснулись энергосбережения для STM32

 

в 7.4 столкнулся с такой бякой - если запустить функционал timer и выдать ниткам старшим по приоритетам(чем крутящаяся нитка таймера) ожидание по времени, то он полностью забирает время работы на себя не просматривая очереди ждущих задач. сильно за усы не дёргал ситуацию, так что есть вероятность, что не совсем корректно заюзал ось - хз.

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


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

Но так и не нашел возможности статической инициализации тасков.

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


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

Вышла FreeRTOS v8 (пока в стадии Release Candidate #2). http://www.freertos.org/upgrading-to-FreeRTOS-V8.html

Что нового:

1. Наконец-то добавили полноценные Event'ы http://www.freertos.org/FreeRTOS-Event-Groups.html

2. Возможность отложенного выполнения задач http://www.freertos.org/xTimerPendFunctionCallFromISR.html

3. Изменили нейминг, используя стандартные типы <stdint.h>. Теперь TaskHandle_t вместо xTaskHandle (совместимость с предыдущими версиями обещают сохранить)

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


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

1. Наконец-то добавили полноценные Event'ы http://www.freertos.org/FreeRTOS-Event-Groups.html
Действительно..... НАКОНЕЦ-ТО добавили Event'ы, а то костылями приходилось обходится.

 

Так по сути теперь вообще не нужны бинарные семафоры.

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


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

Вышла FreeRTOS 8.2.0 !!!

(релиз, 16 января 2015)

 

http://sourceforge.net/projects/.../FreeRTOSV8.2.0.zip

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


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

Кто-нибудь может объяснить нафига в 8.2.1 добавили thread local storage? Как они поясняют, так некоторые библиотечные фунции используют глобальную переменную err для оработки ошибок, но как это заюзать на практике - примеров нет... :( Хочется понять что за штука такая, может полезно будет.

 

Direct task notifications, например, из релиза 8.2.0 я использую уже плотно, мне эта штука понравилась. Экономия памяти и времени.

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


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

Насколько я понимаю, поддержка thread local storage должна осуществляться и со стороны стандартной библиотеки. Поддержка tls есть в DLib для IAR и в newlib. Про другие не скажу. Для поддержки tls библиотека должна быть скомпилирована с нужными опциями. После этого все глобальные переменные библиотеки могут быть (должны?) использованы как локальные в контексте каждого потока оси. Т.е. для каждого потока существует своя копия "глобальных" переменных библиотеки. FreeRTOS для этого использует стек задачи.

 

На практике tls меня интересовал только для функция strtok, которая между вызовами хранит указатель. В итоге проще оказалось использовать strtok только в одной задаче.

 

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


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

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

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

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

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

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

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

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

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

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