We provide two lwip configurations, bare and xilinx_eth.
Bare is the bare-metal minimal implementation. It tries to reduce code size and system complexity, using the bare API and a custom networking thread, handling all networking aspects.
This configuration is meant to be run on the satellite obsw. It is exported as library lwip
.
Xilinx_eth supports the xilinx ethernet core of the Zynq PS, inlcuding DMA. Unfortunately, the xilinx drivers require a custom sys_arch port and run a lot of additionals threads. Also, some code seems to be rather improvised. In sum, this code is not considered fit for orbit and kept out of the actual obsw except for special test cases.
The xilinx_eth configuration is meant to be used with posix compatible calls, using the lwip sockets api.
This configuration is mainly used for the simulation interface which relies on an eth interface to communicate with the simulator.
This code is exported as library lwip_xil
.