ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
56722 Топик полностью
КонстантинТ (12.04.2006 21:32, просмотров: 1) ответил Evgeny Z на Ответ:
Ответ: Завтра пошарю, вроде бы был доковский файл (посмотрите в репозитории на основном сайте он там есть.) В двух словах - приложения под lwip (те работающее через TCP/IP или по UDP пртоколу можно писать двумя основными способами) - с помощью вызова callback функций и через BSD сокеты. Я в основном пишу через кааллбэки. Пример написания такого приложения - простой http сервер (есть в контрибуциях). Те для каждого приложния пишутся стнадартные функции, что оно должно делать при открытии сокета, приема данных, поллингу, появлении ошибки. Потом эти функции регистрируются и этому приложению и в майне вызывается только функция инициализации. Посмотрите, как там написан PPP, как открываются сокеты. Вообще - 80% ошибок у lwip - юзерские (драйвер, недопонимание логики работы). Например - сокет может быть уже закрыт, или произошла ошибка, а функция поллинга ее может вызывать. Те во всех каллбэках желательно проверять перед работой arg != 0 и pcb != 0 Если запущено на армах и он перешел на abort или undefined посмотрите в r14 по какому адресу произошел некорректный вызов. Ошибка найдетс ябыстро. Для удобства перестройте без оптимизации. Проблемы могут быть и со стороны ecos. Далее, посмотрите, какая версия lwip входит в сотав ecos.