Связанные сообщения
- SHENMAO Long Life Capacitors2025-06-11
- Вот моё творчество:2025-03-09
- Китайские производители RTC2024-04-04
- 3PEAK, картина маслом - отзывы, впечатления, опыт применения. Надо
принять решение, прошу совета.2024-01-08
- Китайский MY18B20Z = DS18b202023-11-19
- Кто-то искал китайский ADS1256 -получите2023-11-10
- тут говорят некоторые что не влетит?2023-04-12
- Chinese Lithium Titanate Battery2023-04-05
- Китайские оптопары2023-03-07
- Китайские часы RTC2022-11-30
- Megawin MG32F022022-08-10
- А что есть из китайских МК чтобы работало от батарейки и не имело
криптографии? Типа STM32L4?2022-04-28
- Китайские производители электроники.2022-03-30
- Вопрос про китайские клоны STM322022-03-28
- Китайские Cortex {STM32}2022-03-19
- Китайские аналоговые компании.2022-03-19
- Еще китайские клоны STM322021-11-10
- Китайчатина от WCH. Каталог2021-02-24
- LGT8F328D2020-08-23
- Доброго дня.2020-04-13
- Производитель драйверов ЖКИ STxxx2020-04-02
-
- нужно отметить что FreeRTOS TCP текущего разлива из транка, а это 4.4.1+ .... ну сильно много они доделали по сравнению с тем что было 2 года назад. - klen(Вчера, 15:30)
- наладил схему - создается одна серверная задача аля' Cron, в ней открываются, биндятся и листинятся все слушающие сокеты, они добавляются в SET и задача блокируется вызовом FreeRTOS_select - далее если по какомуто слушающему порту прилетит клиент - FreeRTOS_select отпускает и на "зазвеневшем" сокете вызывается FreeRTOS_accept -> далее передача комуникационного сокета в пул статически созданных задач отработки соединения. все экономично по потокам и памяти. летает klen(18 знак., Вчера, 15:27)
- На всякий случай инфа - использую CH32F207 с стеком циклонтцп. В
общем, работают несколько приборов несколько месяцев, полет
нормальный. Cтaк(160 знак., 21.07.2026 18:57,
)
- Навскидку, не оценивали, сколько занимает Ethernet+TCP в прошивке?
Сколько выделили ОЗУ для пакетов? - Nikolay_Po(21.07.2026 19:41)
- Т.к. озу не хватает, то пришлось сломать привычки и перейти на
динамическое выделение памяти. Т.е. пришел на порт сервера запрос -
выдать жирную json. Я пытаюсь выделить средствами freertos
динамическую память под буфер, если свободного озу нет, то
отправляю отлуп. Если есть - то выделяю буфер, формирую json,
отправляю, освобождаю память. так крутится дофига сервисов и ничего
насмерть не падает. - Cтyк(Вчера, 05:37,
)
- В CH32F207 с CycloneTCP сильно помогает возможность менять размер
ОЗУ фьюзами. Сделали несколько проектов и пока удавалось обойтись
без внешнего ОЗУ, но в одном случае всё вошло едва-едва. AlexG(88 знак., Вчера, 09:29)
- Я свами по драйверам общался. ОЗУ перераспределено на 128 килобайт
и Флэш га 128. А у меня только хттп кода уже 256 килобайт. Пришлось
циклон перепилить чтобы за хттп он лазил во внешнюю датафлеш. - Cтык(Вчера, 14:32,
)
- Вы же учитываете что флэша там реально 480 килобайт? Когда вы
выделяете 128 к ОЗУ у вас после перекрытого теневым ОЗУ флэша для
программы идет еще 288 к медленного флэша, который можно пустить
под данные. - AlexG(Вчера, 18:30, +1)
- Есть нюанс: у неё скорость лишь до 60МГц, а отвод от HCLK имеет
максимальный делитель 2. Nikolay_Po(385 знак., Вчера, 19:21)
- Считал что читать ее можно и на больших частотах, но формулировка, которую вы процитировали, вызывает сомнения. При тактовой ядра 120 и тактовой флэши 60 она, по опыту, не у всех экземпляров МК пишется без ошибок. Можно считать, что 60 МГц это прям граница на которую даже заходить нельзя. - AlexG(Вчера, 20:38)
- Есть нюанс: у неё скорость лишь до 60МГц, а отвод от HCLK имеет
максимальный делитель 2. Nikolay_Po(385 знак., Вчера, 19:21)
- Вы же учитываете что флэша там реально 480 килобайт? Когда вы
выделяете 128 к ОЗУ у вас после перекрытого теневым ОЗУ флэша для
программы идет еще 288 к медленного флэша, который можно пустить
под данные. - AlexG(Вчера, 18:30, +1)
- Когда делал подход с комплектным TCP/IP FreeRTOS, было ощущение,
что всё под контролем - не было буферов или чего-то такого,
требующего ОЗУ, что не конфигурировалось бы пользователем в явном
виде. - Nikolay_Po(Вчера, 09:32)
- Так что - приятнее чем LwIP? Как-то смущает, что не использует
народ комплектный. - vesago(Вчера, 10:25)
- Да я, честное слово, никакого ещё не использовал. Как мне
показалось, LwIP - это минималистичный стек, в основном для
проектов без ОС и интегрировать его в ОС - отдельная забота. Nikolay_Po(592 знак., Вчера, 10:56)
- Тоже хочется пощупать комплектный. Вот что интересно. Товарищ
работает в амазоне в эмбеддед. Сами они в своих проектах LwIP
юзают. Скорее всего исторически. - vesago(Вчера, 11:27)
- Я думаю, штатный фриртосовый стек будет поразвесистее, чем LwIP. Он
использует штатные очереди и прочее, а оно относительно громоздкое,
по сравнению с тем, как делают внутри библиотеки. - Nikolay_Po(Вчера, 11:46)
- мифы и внутренние комплексы. по факту быстрее и меньше. вы сначала LwIP в многопоток всунте так чтоб его не пидорасило. потом потрахайтесь c таймерами, если дойдете до результата - поробуте однолвременно несколько сокетов UDP и несколько TCP, и наконец подключитесь несколькими клиентами. это будет писец мозгу. - klen(Вчера, 15:06, +1)
- Я думаю, штатный фриртосовый стек будет поразвесистее, чем LwIP. Он
использует штатные очереди и прочее, а оно относительно громоздкое,
по сравнению с тем, как делают внутри библиотеки. - Nikolay_Po(Вчера, 11:46)
- Тоже хочется пощупать комплектный. Вот что интересно. Товарищ
работает в амазоне в эмбеддед. Сами они в своих проектах LwIP
юзают. Скорее всего исторически. - vesago(Вчера, 11:27)
- Да я, честное слово, никакого ещё не использовал. Как мне
показалось, LwIP - это минималистичный стек, в основном для
проектов без ОС и интегрировать его в ОС - отдельная забота. Nikolay_Po(592 знак., Вчера, 10:56)
- да. в этом вся прелесть. делашь ручками как нужно. для FreeRTOS TCP определяем статически массив дескрипторов DMA, к ним добавляем схема 1) выделение и освобождение адреса буфера из кучи( в качестве кучи использую перепиленный o1heap). схема 2) определение статического массива буферов числом дескрипторов и функции их выдергивания и освобождения. я обе проверил. обе работают. стек только просит и возвращает буфера. - klen(Вчера, 10:01)
- Так что - приятнее чем LwIP? Как-то смущает, что не использует
народ комплектный. - vesago(Вчера, 10:25)
- Я свами по драйверам общался. ОЗУ перераспределено на 128 килобайт
и Флэш га 128. А у меня только хттп кода уже 256 килобайт. Пришлось
циклон перепилить чтобы за хттп он лазил во внешнюю датафлеш. - Cтык(Вчера, 14:32,
- Спасибо. План примерно такой же, только сначала попробую поднять родной IP FreeRTOS'а. - Nikolay_Po(Вчера, 09:06)
- В CH32F207 с CycloneTCP сильно помогает возможность менять размер
ОЗУ фьюзами. Сделали несколько проектов и пока удавалось обойтись
без внешнего ОЗУ, но в одном случае всё вошло едва-едва. AlexG(88 знак., Вчера, 09:29)
- Несколько пожирнее будет чем lwip. Но циклон на каждый чих создает
задачу freertos что сильно жрет озу, но зато честная неблокирующая
многозадачность. Cтyк(2330 знак., Вчера, 05:28,
)
- Кстати, подрезкой стеков для этих задач занимались? Примерно так:
дали системе поработать в самых жёстких режимах а потом смотрим, до
какого места затёрт паттерн чистого буфера стека. И уже по
обнаруженным границам, с запасом на размер контекста задачи,
уменьшать размер стека. - Nikolay_Po(Вчера, 09:13)
- Я во фриртос именно так стеки задач и подстраиваю. Стрёмно что
когда задач пятнадцмть, пара килобайт суммарно неиспользованного
ОЗУ набегает. Но это цена ртос. Но ртом сохраняет отзывчивость,
одна задача не только минут мноомегабайтный файл отдает, другая
много джсонов по килобайту, третья с модбустцп работает. - Cтык(Вчера, 14:29,
, +1) - Использую Циклон с scmRTOS и занимаюсь именно этим. В scmRTOS такая проверка использования стеков встроена. - AlexG(Вчера, 09:59, +1)
- Я во фриртос именно так стеки задач и подстраиваю. Стрёмно что
когда задач пятнадцмть, пара килобайт суммарно неиспользованного
ОЗУ набегает. Но это цена ртос. Но ртом сохраняет отзывчивость,
одна задача не только минут мноомегабайтный файл отдает, другая
много джсонов по килобайту, третья с модбустцп работает. - Cтык(Вчера, 14:29,
- Спасибо. - Nikolay_Po(Вчера, 09:05)
- Кстати, подрезкой стеков для этих задач занимались? Примерно так:
дали системе поработать в самых жёстких режимах а потом смотрим, до
какого места затёрт паттерн чистого буфера стека. И уже по
обнаруженным границам, с запасом на размер контекста задачи,
уменьшать размер стека. - Nikolay_Po(Вчера, 09:13)
- Т.к. озу не хватает, то пришлось сломать привычки и перейти на
динамическое выделение памяти. Т.е. пришел на порт сервера запрос -
выдать жирную json. Я пытаюсь выделить средствами freertos
динамическую память под буфер, если свободного озу нет, то
отправляю отлуп. Если есть - то выделяю буфер, формирую json,
отправляю, освобождаю память. так крутится дофига сервисов и ничего
насмерть не падает. - Cтyк(Вчера, 05:37,
- Навскидку, не оценивали, сколько занимает Ethernet+TCP в прошивке?
Сколько выделили ОЗУ для пакетов? - Nikolay_Po(21.07.2026 19:41)
- Ну ты крут! Не смотрел ещё, для моего CH32V317го придётся фай переписать. Но то, что буфера и прерывания налажены - это большое дело! - Nikolay_Po(21.07.2026 18:50)