arhiv6 20 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Вот такая новость появилась: FreeRTOS перешёл под крыло Amazon и выпущен под лицензией MIT Раньше была GPLv2 с модификациями, теперь MIT. Кто-нибудь, кто разбирается в лицензия, может пояснить какие это плюсы или минусы даёт? Вроде и раньше можно было исходники не открывать даже при модификации. Из плюсов пока только вижу - в предыдущей версии лицензии был пункт, что нельзя сравнивать производительность ОС по сравнению с другими, теперь, похоже, этот пункт убрали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 18 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Те же яйца, только сбоку. Всё та же свобода Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
arhiv6 20 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Я тоже на первый взгляд отличий не вижу. Непонятно, зачем тогда меняли? Какие-то свои юридические заморочки? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
seniorandre 0 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Вроде и раньше можно было исходники не открывать даже при модификации. А с чего вы взяли что GPL позволяла не открывать исходники? Как раз наоборот, вы обязаны были раскрыть исходники либо вместе с программой либо по запросу. Правда пишут что у FreeRtos было какое-то исключение на счет раскрытия исходников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Я тоже на первый взгляд отличий не вижу. Непонятно, зачем тогда меняли? Какие-то свои юридические заморочки? Собственно, GPL + их исключения как раз и получается MIT. Просто сделали понятнее для всех. Думаю, причина в том, что слово "GPL" отпугивает какую-то часть пользователей. А вот что пункт про запрет сравнений убрали - это хорошо. Ждём весёлых тестов:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kabdim 0 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Думаю Амазон с его ресурсами довольно быстро это исправит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Вот добавили Message Buffers - уже польза есть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LightElf 0 30 ноября, 2017 Опубликовано 30 ноября, 2017 · Жалоба Я тоже на первый взгляд отличий не вижу. Непонятно, зачем тогда меняли? Какие-то свои юридические заморочки? Раньше (GPL+exception clause) можно было скрывать свои сорцы, при условии что саму FreeRTOS вы не меняли. Сейчас можно скрывать свои модификации FreeRTOS. Кроме того, TCP и FAT раньше были под чистым GPL, т.е. надо было открывать свои исходники в любом случае. Сейчас такого требования нет. Думаю такое было требование Amazon. Амазонцы лезут во всяческий IoT, а там открытые сорцы могут быть нежелательны по причине безопасности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SMaster 0 24 января, 2018 Опубликовано 24 января, 2018 (изменено) · Жалоба Протестировал стрим буфер. Компилятор Keil, максимальная оптимизация по скорости, контроллер STM32F103C8T6. Измерил количество тиков на типовые операции и использование стека в байтах. Получились интересные результаты: Create / Send / Receive (тики между переходом управления планировщику и получением байта принимающей задачей) / Stack Стрим буфер = 200 / 572 / 548 / 136 Старая добрая очередь = 290 / 311 / 319 / 176 То есть выигрыш только в стеке? Я надеялся, что и скорость выше будет. :crying: Получается, что есть смысл использовать буферы только если прижимает по стеку, либо ради фишек буферов - Trigger Level для стрим буфера и возможность отправки данных разной длины для буфера сообщений. Код тестовой программы: #include "stm32f10x.h" #include "FreeRTOS.h" #include "stream_buffer.h" #include "task.h" #include "queue.h" StreamBufferHandle_t buf_tmp; QueueHandle_t que_tmp; uint8_t i, j, k; void task_tmp1(void * param) { while (1) { i++; xStreamBufferSend(buf_tmp, &i, sizeof(uint8_t), portMAX_DELAY); vTaskDelay(100); i++; xQueueSend(que_tmp, &i, portMAX_DELAY); vTaskDelay(100); } } void task_tmp2(void * param) { while (1) { xStreamBufferReceive(buf_tmp, &j, sizeof(uint8_t), portMAX_DELAY); __NOP(); } } void task_tmp3(void * param) { while (1) { xQueueReceive(que_tmp, &k, portMAX_DELAY); __NOP(); } } int main() { xTaskCreate(task_tmp1, "tmp1", 128, NULL, 4, NULL); xTaskCreate(task_tmp2, "tmp2", 128, NULL, 3, NULL); xTaskCreate(task_tmp3, "tmp3", 128, NULL, 2, NULL); buf_tmp = xStreamBufferCreate(100 * sizeof(uint8_t), sizeof(uint8_t)); que_tmp = xQueueCreate(100, sizeof(uint8_t)); vTaskStartScheduler(); } Изменено 24 января, 2018 пользователем SMaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
juvf 18 31 мая, 2018 Опубликовано 31 мая, 2018 · Жалоба мануал теперь бисплатно и фицыально Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 31 мая, 2018 Опубликовано 31 мая, 2018 · Жалоба Короче реально надо сваливать с FreeRTOS и переходить на что-то более простое и эффективное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться