Файлы для скачивания
*
проект на Atollic True Studio , работает http сервер, dhcp сервер . Реализован RNDIS адаптер.
Это конечная точка наших стремлений на сегодняшний день - реализовать таки HTTP сервер на LWIP.
Попытка надо признаться удачная , но путь к ней довольно длинный. Дело в том , что HTTP сервер возможен (похоже) не на всех версиях LWIP.
Основная трудность реализации HTTP в том , что в отличии от arp, udp пакетов тут все построено на TCP соединениях. То есть это не разовые пакеты, а целый протокол взаимодействия открыл соединение / послал / принял / закрыл соединение. И таких соединений обычно несколько одновременно с браузера приходит.
Вариант NetCONN для микроконтроллеров сразу отметаем , так как там присутствует динамическое выделение памяти. В контроллере STM32F205VGT6 128KB SRAM и у нас работает только статика.
Никто не запрещает нам использовать FreeRTOS c LWIP RAW. Мы используем именно RAW вариант LWIP.
FreeRTOS настраиваем на вариант static. Убираем все malloc , все переводим на PBUF_POOL память, то есть на память которая заранее выделена и которой управляет диспетчер LWIP.
И последнее важное замечание : похоже надо использовать версию LWIP 1.4.1 и никакой LWIP 2.x.x . Обращайте внимание , кто писал тот или иной файл кода , если Адам Дункельс , тогда нормально , иначе ...