Цитата(Neborak @ Jan 15 2014, 11:48)

..UDP данные из шины CAN..писать свой UDP/IP стек,..поддержка ARP и IGMP, которые тоже нужно будет реализовать.
сразу переходите на четвёрку - не пожалеете, если других или религиозных привязок нет.
по поводу lwip-а - там реализация указанных уровней вполне. Вы только ещё забыли(или показалось?

) IP уровень, дефрагментацию.
в указанном стэке это реассемблирование обзывают.
по моему лучше взять за прототип указанный стэк, внимательно прошерстить его, выкинуть всё не нужное, переписать (обязательно)
работу с железом - она там ужас не оптимальна как. ну и поработать с этим получше (в плане протестировать). желательно создавая
различные ошибочные ситуации в сети.
я переписываю сейчас стэк под свои задачи - надо убрать статичные данные, оптимизнуть, ну и вылизать.
много уже вгрохал времени в это(и даже немного подумал что дюже круто заложил штурвал - но уже подвёл под отладку практически).
надо сказать объём не плохой (поддерживаемых протоколов, навёрнутых решений в коде).
убивает порой то, что в угоду универсальности кода спустили на тормозах скорость работы и лаконичность. к этому
можно ещё добавить, что пишут несколько человек его - посему возможны технические ляпы.
ЗЫ
по поводу индусии

)) я долго медитировал, чего хотелось... даже выдрал написанную логику. оставлю без коментариев... это песня...
причём проверил специально последнии две версии стэка 1.4.0, 1.4.1 - такая же фигня. тащат ошибки как гири на ногах...
Код
static uint8_t A;
foo()
{
uint8_t B = A;
A = 1;
//
if (!B)
{
// бла-бла-бла
A = 0;
}
}
ЗЫ ЗЫ
это в принципе не совсем трабловый - так, немного курьёзный кусок. а вот если не будет лень - потом выложу уже более
серъёзный трабл - с потенциальной утечкой памяти (при не стандартном трафике в сети).