Implementations
Computer and computer-like
To write such applications you need reading the CopperLan Host Application Interface (CHAI).Coding is object oriented in C++.
The CHAI part of the SDK allows you writing multi-platform code. This also allows validating an application on a computer before porting it to a hardware
The development tools required for the various platforms are:
-
For Windows: Visual studio from VS2008
For Mac/iOS: XCode from V4
For embedded Linux: depends on the platform
Hardware
There are various physical implementations but they all rely on only two coding models:1. Object-oriented in C++, using the CHAI, with two variations:
-
Embedded Linux: see Computer model hereabove
Microcontroller under FreeRTOS, using Keil’s MDK Cortex-M tools
For these implementations, you need reading both the CHAI and CHAILink documentations.
We provide you with client source code in C.
Any IDE and C-compiler can be used to write your application (firmware).
Reference designs
-
For Ethernet (CHAI) products, we rely on an STM32F407-based board from Olimex
For USB (CHAILink) products, we rely on an STM32L100-based board from ST in addition to a connectivity board from us
Using your own processor
-
For USB implementations you can use any MCU you want, the only additional job compared to using the STM32L100 is the coding of the USB transport, using our source code as a reference.
For Ethernet hardware based on Linux, we can provide a precompiled CopperLan implementation after getting all the details of your Linux setup and toolchain if necessary.
For Ethernet hardware running some other OS than Linux, we need:
-
our own copy of your entire dev system (HW + SW tools) - no need for your app code!
a running version of your platform
access to the Ethernet stack to handle the CopperLan frames
access to OS primitives:
-
Threads
Mutex/Events (Semaphore)