• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Freertos

MSW

New member
кто то пробовал что оно и что с ним делать?
прошу прощения за вопрос, раньше с такой ОС не сталкивался, с нодемцу всё хорошо, но не стабильно.. может на этом варианте постабильнее?
 

Victor

Administrator
Команда форума
кто то пробовал что оно и что с ним делать?
прошу прощения за вопрос, раньше с такой ОС не сталкивался, с нодемцу всё хорошо, но не стабильно.. может на этом варианте постабильнее?
да нет, пока всё также как и в других вариантах
 

Spark

New member
Гоняем на ESP-11, вполне стабильно. Нестабильности могут быть вызваны проблемами с питанием, и уже отмечалось, что Espressif рекомендует 4-хслойную плату, а модули делают на 2-х слоях.
 

anakod

Moderator
Команда форума
Гоняем на ESP-11, вполне стабильно. Нестабильности могут быть вызваны проблемами с питанием, и уже отмечалось, что Espressif рекомендует 4-хслойную плату, а модули делают на 2-х слоях.
А как реализуете коннекты? Через низкоуровневый lwip или высокоуровневую сокет-обертку, применяли ли какие-нибудь дополнителные патчи? Может быть Вы поделитесь любым минимальным рабочим примером? У меня по результатам тестов оригинальный семпл esp_iot_rtos_sdk падает на каждое соединение причем похоже что в разных местах.
 

Spark

New member
Использовали обертку. Код посмотрю. Для теста за основу взял пример из этой SDK в таск с сервером добавил код, который отсылает в сокет много-много мегабайт (до гига), как отослал закрываю сокет. Цеплялся wget'ом смотрел скорость, в среднем было около 8Мбит/с.
 

anakod

Moderator
Команда форума
Очень странно, я был бы крайне благодарен за пример.
 

Spark

New member
К сожалению тот не большой кусок кода потерялся.
Я доработал демку с FreeRTOS. В task3, вместо куска:
Код:
                char *recv_buf = (char *)zalloc(128);
                while ((recbytes = read(client_sock , recv_buf, 128)) > 0) {
                    recv_buf[recbytes] = 0;
                    printf("S > read data success %d!\nS > %s\n", recbytes, recv_buf);
Я вставил пару циклов, один произвольно заполнял буфер ~1000 байт, и после оправлял содержимое в сокет, второй повторял это нужное число раз.
Нашел в только куски лога от wget'а:
Общее время: 2m 6s
Загружено: 1 файлов, 128M за 2m 6s (1,02 MB/s)
....
[ <=> ] 268 435 456 1,08MB/s за 3m 58s
Мы сталкивались с нестабильностями в работе ESP8622, но в основном это были проблемы с питанием. Еще сегодня наткнулся:
dont forget to short VCC to CH_PD (with 10K). Without resistor seems to lead to instability.
 

nikolz

Well-known member
САН-ХОСЕ, Калифорния, 15 апреля 2015 -Cadence систем проектирования, Inc.. (NASDAQ: CDNs), сегодня объявила, что операционная система реального времени FreeRTOS ™ теперь доступна для Cadence ® Tensilica ®процессоров и цифровых сигнальных процессоров (DSP) , FreeRTOS является популярным, масштабируемой, простой в использовании ядра в режиме реального времени, разработанный специально для малых, маломощными встраиваемых систем. Согласно 2013 доли рынка исследования из UBM Tech, FreeRTOS были отобраны для 13 процентов вложенных проектов, которые используют встроенную операционную систему (ОС), и очень популярный вариант для микроконтроллеров, а также более мелкие ядра процессора 32-разрядные.

"Наличие FreeRTOS на процессорах Tensilica и ЦСП означает, что клиенты Cadence теперь имеют возможность присоединиться многие разработчики по всему миру, которые уже пользуются простотой использования и пуленепробиваемой надежностью FreeRTOS. Мы с нетерпением ждем возможности приветствовать пользователей Tensilica для нашего глобального сообщества ", сказал Ричард Барри, FreeRTOS разработчик и главный инженер реального времени инженеров ООО

FreeRTOS облегчает программистам разрабатывать сложные в режиме реального времени программное обеспечение, которое сочетает в себе контроль и DSP темы, и FreeRTOS отдельную поддержку Интернета вещей (IOT) приложений, которое позволяет клиентам быстрее выйти на рынок. Процессоры Tensilica и ЦСП идеально подходят для носимых и других приложений IoT, которые сочетают беспроводной цифровой обработки сигнала с контролем. Объединив цифровой обработки сигналов и управления, разработчики могут разрабатывать более низкую мощность, более эффективные чипы.
 

anakod

Moderator
Команда форума
Прекрасная новость. Интересно это поможет нам с открытием исходников\заменой эспресивских либок? :)
 

pvvx

Активный участник сообщества
Прекрасная новость. Интересно это поможет нам с открытием исходников\заменой эспресивских либок? :)
Нет. Ещё беда, в том, что основная SDK не делалась под многозадачность - её процедуры не терпят повторных вхождений, и в сборке RTOS уже другие библиотеки, покоцанные.
А c RTOS хотелось бы узнать, как там с размерами стека (?) при реальных задачах, а не с буфером передачи в 128 байт, как выше, в примере...
И в исходниках на https://github.com/espressif/esp_iot_rtos_sdk - очень страшные библиотеки dhcp - просто монстр какой-то :)
 

Meinframe

New member
как остановить выполнение функции мигание в примере BLINKY и как запустить заново? Просто про обычную FreeRTOS читал и пример есть, а на эту прошитую нет.
 
Сверху Снизу