Zwracam się do kolegów z taką sprawą. Nie mogę sobie poradzić z bezproblemowym uruchomieniem FreeRTOS + lwip na STM32. Przy kompilacji wywala mi:
Definicja tcp_timer_needed() jest w pliku tcp_impl.h, żródła w timers.c. Plik tcp_impl.h zaincludowany w tcp.c z resztą tu nic nie zmieniałem.
Po dopisaniu #include "lwip/timers.c" program się kompiluje owszem i wszystko działa ale mam potem problem z kompilacją gdy chce dodać liczniki softowe pod freertos a to za sprawą includeowania pliku timers.h.
W internecie znalazłem info, że może być to spowodowane ustawieniami NO_SYS (u mnie = 0 bo używam pod LwIP).
Koleją sprawą jest to że edytor Eclipse z którego korzystam często np. zaciemnia obszary zaznaczone jako #ifdef mimo, że zmienna jest zdefiniowana a plik z definicją zaincludowany. Obszary te są kompilowane - chodzi tylko o to, że edytor tego nie widzi. W Makefile mam wszystkie foldery INC i SRC wypisane, projekt się kompiluje (za wyjątkiem problemu opisanego u góry).
Czy ktoś (Freddie?
) mógłby mi pomóc?
out/tcp.o: In function `tcp_close_shutdown':
C:\ARM\Workspace\test/lwip/src/core/tcp.c:164: undefined reference to `tcp_timer_needed'
out/tcp.o: In function `tcp_bind':
C:\ARM\Workspace\test/lwip/src/core/tcp.c:453: undefined reference to `tcp_timer_needed'
out/tcp.o: In function `tcp_listen_with_backlog':
C:\ARM\Workspace\test/lwip/src/core/tcp.c:537: undefined reference to `tcp_timer_needed'
out/tcp_in.o: In function `tcp_listen_input':
C:\ARM\Workspace\test/lwip/src/core/tcp_in.c:495: undefined reference to `tcp_timer_needed'
out/tcp_in.o: In function `tcp_process':
C:\ARM\Workspace\test/lwip/src/core/tcp_in.c:746: undefined reference to `tcp_timer_needed'
out/tcp_in.o:C:\ARM\Workspace\test/lwip/src/core/tcp_in.c:763: more undefined references to `tcp_timer_needed' follow
out/tcpip.o: In function `tcpip_thread':
C:\ARM\Workspace\test/lwip/src/api/tcpip.c:88: undefined reference to `sys_timeouts_mbox_fetch'
C:\ARM\Workspace\test/lwip/src/api/tcpip.c:129: undefined reference to `sys_timeout'
C:\ARM\Workspace\test/lwip/src/api/tcpip.c:134: undefined reference to `sys_untimeout'Definicja tcp_timer_needed() jest w pliku tcp_impl.h, żródła w timers.c. Plik tcp_impl.h zaincludowany w tcp.c z resztą tu nic nie zmieniałem.
Po dopisaniu #include "lwip/timers.c" program się kompiluje owszem i wszystko działa ale mam potem problem z kompilacją gdy chce dodać liczniki softowe pod freertos a to za sprawą includeowania pliku timers.h.
W internecie znalazłem info, że może być to spowodowane ustawieniami NO_SYS (u mnie = 0 bo używam pod LwIP).
Koleją sprawą jest to że edytor Eclipse z którego korzystam często np. zaciemnia obszary zaznaczone jako #ifdef mimo, że zmienna jest zdefiniowana a plik z definicją zaincludowany. Obszary te są kompilowane - chodzi tylko o to, że edytor tego nie widzi. W Makefile mam wszystkie foldery INC i SRC wypisane, projekt się kompiluje (za wyjątkiem problemu opisanego u góry).
Czy ktoś (Freddie?