Связанные сообщения
- 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
-
- Усе готово, усе былоеее...! Связанные списки дескрипторов туда и сюда, зеро копи тула и сюда - рабоает. Ну что тут еще можнл захотеть? Наверносамое время втащить накопленный опыт в 1G mac который в ch32h417. - klen(27.07.2026 22:17)
- нужно отметить что FreeRTOS TCP текущего разлива из транка, а это 4.4.1+ .... ну сильно много они доделали по сравнению с тем что было 2 года назад. - klen(22.07.2026 15:30)
- наладил схему - создается одна серверная задача аля' Cron, в ней открываются, биндятся и листинятся все слушающие сокеты, они добавляются в SET и задача блокируется вызовом FreeRTOS_select - далее если по какомуто слушающему порту прилетит клиент - FreeRTOS_select отпускает и на "зазвеневшем" сокете вызывается FreeRTOS_accept -> далее передача комуникационного сокета в пул статически созданных задач отработки соединения. все экономично по потокам и памяти. летает klen(18 знак., 22.07.2026 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к(22.07.2026 05:37,
)
- В CH32F207 с CycloneTCP сильно помогает возможность менять размер
ОЗУ фьюзами. Сделали несколько проектов и пока удавалось обойтись
без внешнего ОЗУ, но в одном случае всё вошло едва-едва. AlexG(88 знак., 22.07.2026 09:29)
- Я свами по драйверам общался. ОЗУ перераспределено на 128 килобайт
и Флэш га 128. А у меня только хттп кода уже 256 килобайт. Пришлось
циклон перепилить чтобы за хттп он лазил во внешнюю датафлеш. - Cтык(22.07.2026 14:32,
)
- Вы же учитываете что флэша там реально 480 килобайт? Когда вы
выделяете 128 к ОЗУ у вас после перекрытого теневым ОЗУ флэша для
программы идет еще 288 к медленного флэша, который можно пустить
под данные. - AlexG(22.07.2026 18:30, +1)
- Мне эти 288 кб уже мало. А так поставил датафлеш, архивы туда пишу
и мегабайт под данные web сервера выделил. В идеале бы такой же
проц, но озу в два-четыре раза больше. - Cтeк(23.07.2026 08:20,
)
- Датафлеш - параллельную? - Nikolay_Po(23.07.2026 23:00)
- Последовательную - cпи(24.07.2026 04:02,
)
- Последовательную - cпи(24.07.2026 04:02,
- На 100% такого же очевидно в природе нет, но если обозначите, какие особенности CH32F207 для вас важны можно поискать что-нибудь - AlexG(23.07.2026 13:52)
- CH32H417 - AlexBi(1 знак., 23.07.2026 09:59, ссылка)
- Надо старую Винду ставить, тогда хватит. - Kpoк(23.07.2026 09:46)
- А это какую, "старую"? Что-то не помню версий винды для этих процев
(MIPS?). - Cкpипaч(23.07.2026 10:20)
- СН32F207 это обычный кортес-М3. Просто со встроенным PHY 10М.
Начинали использовать для простых приложений с модбус тцп (типа
только чип и магнетик), а потом как поперло. - Пxy(23.07.2026 10:32,
)
- Это был сарказм. - Kpoк(23.07.2026 10:51)
- СН32F207 это обычный кортес-М3. Просто со встроенным PHY 10М.
Начинали использовать для простых приложений с модбус тцп (типа
только чип и магнетик), а потом как поперло. - Пxy(23.07.2026 10:32,
- А это какую, "старую"? Что-то не помню версий винды для этих процев
(MIPS?). - Cкpипaч(23.07.2026 10:20)
- Датафлеш - параллельную? - Nikolay_Po(23.07.2026 23:00)
- Есть нюанс: у неё скорость лишь до 60МГц, а отвод от HCLK имеет
максимальный делитель 2. Nikolay_Po(385 знак., 22.07.2026 19:21)
- Считал что читать ее можно и на больших частотах, но формулировка, которую вы процитировали, вызывает сомнения. При тактовой ядра 120 и тактовой флэши 60 она, по опыту, не у всех экземпляров МК пишется без ошибок. Можно считать, что 60 МГц это прям граница на которую даже заходить нельзя. - AlexG(22.07.2026 20:38)
- Мне эти 288 кб уже мало. А так поставил датафлеш, архивы туда пишу
и мегабайт под данные web сервера выделил. В идеале бы такой же
проц, но озу в два-четыре раза больше. - Cтeк(23.07.2026 08:20,
- Вы же учитываете что флэша там реально 480 килобайт? Когда вы
выделяете 128 к ОЗУ у вас после перекрытого теневым ОЗУ флэша для
программы идет еще 288 к медленного флэша, который можно пустить
под данные. - AlexG(22.07.2026 18:30, +1)
- Когда делал подход с комплектным TCP/IP FreeRTOS, было ощущение,
что всё под контролем - не было буферов или чего-то такого,
требующего ОЗУ, что не конфигурировалось бы пользователем в явном
виде. - Nikolay_Po(22.07.2026 09:32)
- Так что - приятнее чем LwIP? Как-то смущает, что не использует
народ комплектный. - vesago(22.07.2026 10:25)
- Да я, честное слово, никакого ещё не использовал. Как мне
показалось, LwIP - это минималистичный стек, в основном для
проектов без ОС и интегрировать его в ОС - отдельная забота. Nikolay_Po(592 знак., 22.07.2026 10:56)
- Тоже хочется пощупать комплектный. Вот что интересно. Товарищ
работает в амазоне в эмбеддед. Сами они в своих проектах LwIP
юзают. Скорее всего исторически. - vesago(22.07.2026 11:27)
- Я думаю, штатный фриртосовый стек будет поразвесистее, чем LwIP. Он
использует штатные очереди и прочее, а оно относительно громоздкое,
по сравнению с тем, как делают внутри библиотеки. - Nikolay_Po(22.07.2026 11:46)
- мифы и внутренние комплексы. по факту быстрее и меньше. вы сначала LwIP в многопоток всунте так чтоб его не пидорасило. потом потрахайтесь c таймерами, если дойдете до результата - поробуте однолвременно несколько сокетов UDP и несколько TCP, и наконец подключитесь несколькими клиентами. это будет писец мозгу. - klen(22.07.2026 15:06, +1)
- Я думаю, штатный фриртосовый стек будет поразвесистее, чем LwIP. Он
использует штатные очереди и прочее, а оно относительно громоздкое,
по сравнению с тем, как делают внутри библиотеки. - Nikolay_Po(22.07.2026 11:46)
- Тоже хочется пощупать комплектный. Вот что интересно. Товарищ
работает в амазоне в эмбеддед. Сами они в своих проектах LwIP
юзают. Скорее всего исторически. - vesago(22.07.2026 11:27)
- Да я, честное слово, никакого ещё не использовал. Как мне
показалось, LwIP - это минималистичный стек, в основном для
проектов без ОС и интегрировать его в ОС - отдельная забота. Nikolay_Po(592 знак., 22.07.2026 10:56)
- да. в этом вся прелесть. делашь ручками как нужно. для FreeRTOS TCP определяем статически массив дескрипторов DMA, к ним добавляем схема 1) выделение и освобождение адреса буфера из кучи( в качестве кучи использую перепиленный o1heap). схема 2) определение статического массива буферов числом дескрипторов и функции их выдергивания и освобождения. я обе проверил. обе работают. стек только просит и возвращает буфера. - klen(22.07.2026 10:01)
- Так что - приятнее чем LwIP? Как-то смущает, что не использует
народ комплектный. - vesago(22.07.2026 10:25)
- Я свами по драйверам общался. ОЗУ перераспределено на 128 килобайт
и Флэш га 128. А у меня только хттп кода уже 256 килобайт. Пришлось
циклон перепилить чтобы за хттп он лазил во внешнюю датафлеш. - Cтык(22.07.2026 14:32,
- Спасибо. План примерно такой же, только сначала попробую поднять родной IP FreeRTOS'а. - Nikolay_Po(22.07.2026 09:06)
- В CH32F207 с CycloneTCP сильно помогает возможность менять размер
ОЗУ фьюзами. Сделали несколько проектов и пока удавалось обойтись
без внешнего ОЗУ, но в одном случае всё вошло едва-едва. AlexG(88 знак., 22.07.2026 09:29)
- Несколько пожирнее будет чем lwip. Но циклон на каждый чих создает
задачу freertos что сильно жрет озу, но зато честная неблокирующая
многозадачность. Cтyк(2330 знак., 22.07.2026 05:28,
)
- Кстати, подрезкой стеков для этих задач занимались? Примерно так:
дали системе поработать в самых жёстких режимах а потом смотрим, до
какого места затёрт паттерн чистого буфера стека. И уже по
обнаруженным границам, с запасом на размер контекста задачи,
уменьшать размер стека. - Nikolay_Po(22.07.2026 09:13)
- Я во фриртос именно так стеки задач и подстраиваю. Стрёмно что
когда задач пятнадцмть, пара килобайт суммарно неиспользованного
ОЗУ набегает. Но это цена ртос. Но ртом сохраняет отзывчивость,
одна задача не только минут мноомегабайтный файл отдает, другая
много джсонов по килобайту, третья с модбустцп работает. - Cтык(22.07.2026 14:29,
, +1) - Использую Циклон с scmRTOS и занимаюсь именно этим. В scmRTOS такая проверка использования стеков встроена. - AlexG(22.07.2026 09:59, +1)
- Я во фриртос именно так стеки задач и подстраиваю. Стрёмно что
когда задач пятнадцмть, пара килобайт суммарно неиспользованного
ОЗУ набегает. Но это цена ртос. Но ртом сохраняет отзывчивость,
одна задача не только минут мноомегабайтный файл отдает, другая
много джсонов по килобайту, третья с модбустцп работает. - Cтык(22.07.2026 14:29,
- Спасибо. - Nikolay_Po(22.07.2026 09:05)
- Кстати, подрезкой стеков для этих задач занимались? Примерно так:
дали системе поработать в самых жёстких режимах а потом смотрим, до
какого места затёрт паттерн чистого буфера стека. И уже по
обнаруженным границам, с запасом на размер контекста задачи,
уменьшать размер стека. - Nikolay_Po(22.07.2026 09:13)
- Т.к. озу не хватает, то пришлось сломать привычки и перейти на
динамическое выделение памяти. Т.е. пришел на порт сервера запрос -
выдать жирную json. Я пытаюсь выделить средствами freertos
динамическую память под буфер, если свободного озу нет, то
отправляю отлуп. Если есть - то выделяю буфер, формирую json,
отправляю, освобождаю память. так крутится дофига сервисов и ничего
насмерть не падает. - Cтyк(22.07.2026 05:37,
- Навскидку, не оценивали, сколько занимает Ethernet+TCP в прошивке?
Сколько выделили ОЗУ для пакетов? - Nikolay_Po(21.07.2026 19:41)
- Ну ты крут! Не смотрел ещё, для моего CH32V317го придётся фай переписать. Но то, что буфера и прерывания налажены - это большое дело! - Nikolay_Po(21.07.2026 18:50)