blob: 7d8a19fcf4ecddb18d6e188bf3d3d9904a10f6e2 [file] [view]
<!--
Copyright 2019, Data61, CSIRO (ABN 41 687 119 230)
SPDX-License-Identifier: CC-BY-SA-4.0
-->
# PicoServer
This is a sample application which uses the PicoServer component as well as the
Ethdriver component to demonstrate networking on CAmkES. There are two
components, Echo and Listener. Echo will listen on a particular port (in this
case, 1234) and forward any messages to Listener. Listener will then print the
message out via the serial port.
Usage:
netcat <IP address> 1234
Config
------
There are some configuration options that may need to be changed. The
configuration options lie inside the picoserver.camkes file.
These include:
- IP address to assign to the PicoServer component, see picoserver.ip_addr,
and the CMake variable PICOSERVER_IP_ADDR
- MAC address of the device, see picoserver.ethdriver_mac
- If on x86, the hardware details of Ethernet device, which includes:
* Physical address of the base of the memory-mapped device
* Size of the memory region
* IRQ-related information (PCI, MSI, etc)
* IO spaces and ID of the device
* PCI bus/dev/function information of the device
- If on ARM, the Ethdriver component supports two boards at this time of
writing (24/04/19), the IMX6 and the ZYNQ7000. Promiscuous mode can be
turned on by setting ethdriver.promiscuous_mode to 1, otherwise off if
set to 0. Look at the Ethdriver component inside the global-components
repository, and libethdrivers inside the util_libs repository for adding
support to another board.