The microcontroller on the PLC-Stamp 1 is shipped without any firmware. We want to give our customers the highest flexibility by providing all necessary components to build a tailor-made firmware on their own. All mentioned combinations should be unterstood as suggestions or examples.
To support the development of your application, we provide the following examples:
plc-stamp_1_examples-0.2-beta.zip – CodeWarrior 10.3 examples including libraries for Cortex M4, sources and project files
First of all you don’t need to use lwIP as TCP/IP stack for your application. You are free to use any other TCP/IP stack which fits to your needs.
For our example applications we have choosen lwIP, because of it’s small size, flexibility and stability. This software package isn’t maintained and supported by us. Please, have a look at lwIP homepage and lwIP Wiki.
To connect the libqca7k_spi_driver (lower layer) with the lwIP (upper layer) a device driver for ethernet frames is necessary. lwip_over_spi is such a device driver and is released under a BSD-style license. The device driver has been tested with lwIP 1.4.1, but should work with older versions of lwIP. In the case of an application with multiple stacks you must use ethertype_switch additionally, which routes packets to the corresponding stack.
The following source code can also be used as a reference to implement a device driver for other TCP/IP stacks.
lwip_over_spi-0.1-beta.zip – Source code and API documentation
The library libmme handles and generates “MAC Management Entry” (MME) packets for the configuration of the QCA7000. libmme supports a commonly used subset of MMEs from HomePlug Green PHY. This library is only available in binary form.
libmme-0.1-beta2.zip – Library for Cortex M4 and API documentation
The libmme_over_spi is a device driver to connect the libqca7k_spi_driver (lower layer) with the libmme (upper layer). This driver is released under a BSD-style license. In the case the application make use of multiple stacks ethertype_switch should be taken additionally.
libmme_over_spi-0.1-beta.zip – Source code and API documentation
The ethertype_switch is an additional layer between some device drivers and the libqca7k_spi_driver. It checks the ethertype of incoming frames and invokes the corresponding device driver. This layer is only necessary to connect multiple stacks to the libqca7k_spi_driver (for instance lwIP and libmme). The source code is released under a BSD-style license.
ethertype_switch-0.1-beta.zip – Source code and API documentation
The library libqca7k_spi_driver provides frame based data access on the Qualcomm QCA7000 (Ethernet over SPI). This library is only available in binary form.
libqca7k_spi_driver-0.4-beta.zip – Library for Cortex M4 and API documentation